2011-07-08 50 views
3

爲了節省時間:Vim不會在啓動時執行自動命令,而是創造新的腳本時,我加入了以下別名到我的.cshrc文件的.vimrc讀

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

這將創造我給的文件一個參數skript,使這個文件可執行,然後在vim中打開文件。

除了一件事之外,所有這些工作都很好:即使在.vimrc中指定的設置都已到位,我的.vimrc文件中的autocmd行也不會執行。如果我直接啓動vim,即不使用上面的別名,凡事都按預期工作。

如果這是相關的,autocmd行會爲具有特定擴展名的文件(需要讀取模板文本文件的過程)生成默認標題。

如果你們中的任何人都可以幫助我在使用我的skript別名創建的文件中生成標題,那將是非常棒的!

非常感謝您的時間。

編輯

下面是我的.vimrc文件裏autocmd行:

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" 
+5

+1只是將你的信譽關「666 」。 –

+0

你可以發佈.vimrc的相關部分嗎? –

+0

@Pablo Done;謝謝你的時間。 – canavanin

回答

1

好,收了這個問題,我會提出我的意見到答案:)

自動命令中的BufNewFile表示不存在的文件。因此,如果您之前使用'touch'命令創建文件,它將不會運行。

我建議看看tskeleton_vimsnipmate。 我使用的是these snippets的snipmate。它有一個非常簡單的語法,添加任何你可能需要的代碼段都沒有問題。

無論如何,你可以離開它是,剛剛運行VIM直接,沒有別名「VIM test.pl」,並補充說,自動命令的.vimrc

autocmd bufwritepost *.pl silent! !chmod +x % 
相關問題