gpt4 book ai didi

unix - vim 在启动时不执行自动命令,但读取 .vimrc

转载 作者:行者123 更新时间:2023-12-01 15:02:06 28 4
gpt4 key购买 nike

为了在创建新脚本时节省时间,我在 .cshrc 文件中添加了以下别名:

alias skript 'touch \!^; chmod +x \!^; vim \!^'

这将创建我作为参数提供给 skript 的文件, 使该文件可执行,然后在 vim 中打开该文件。

所有这些都运行良好,除了一件事: autocmd即使 .vimrc 中指定的设置都已到位,我的 .vimrc 文件中的行也不会执行。如果我直接启动 vim,即不使用上述别名,一切都会按预期工作。

如果这是相关的, autocmd行为具有特定扩展名的文件生成默认标题,在此过程中必须读取模板文本文件。

如果你们中的任何人可以帮助我在使用我的 skript 创建的文件中生成标题别名会很棒!

非常感谢您的时间。

编辑

这是 autocmd我的 .vimrc 文件中的行:
autocmd bufnewfile *.pl so /home/my_home/Templates/perl_template.txt
autocmd bufnewfile *.pl exe "1," . 10 . "g/creation date:.*/s//creation date: " .strftime("%d-%m-%Y")
autocmd Bufwritepre,filewritepre *.pl execute "normal ma"
autocmd Bufwritepre,filewritepre *.pl exe "1," . 10 . "g/last modified:.*/s/last modified:.*/last modified: " .strftime("%c")
autocmd bufwritepost,filewritepost *.pl execute "normal `a"

最佳答案

好吧,为了结束这个问题,我会将我的评论移到答案中:)

自动命令中的 BufNewFile 表示不存在的文件。因此,如果您之前使用“touch”命令创建文件,它将不会运行。

我建议看看 tskeleton_vimsnipmate .
我正在使用 snipmate 和 these snippets .它的语法非常简单,添加您可能需要的任何代码段都没有问题。

无论如何,您可以保持原样,只需直接运行 vim,不带别名,“vim test.pl”并将该自动命令添加到 .vimrc

autocmd bufwritepost *.pl silent! !chmod +x %

关于unix - vim 在启动时不执行自动命令,但读取 .vimrc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6621524/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com