2009-01-22 106 views
15

我已經看過this但它沒有太多的幫助。也許我沒有讀得太好。vim:想讓它只對某些文件類型啓用設置

基本上我想要的是當我打開一個txt文件中的設置:

set wrap 
set linebreak 

被開啓。我該怎麼做呢?

在此先感謝。

另外,我正在使用XP。

回答

20

我這個問題的答案仍然適用:根據該文件的後綴

認沽自動命令在你的〜/ .vimrc

autocmd BufRead,BufNewFile *.txt set wrap linebreak 

由於呂克說,你可能更願意

autocmd BufRead,BufNewFile *.txt setlocal wrap linebreak 

如果您可能同時打開txt和非txt文件。

+3

差不多。不要使用:set,但是:setlocal。 – 2009-01-22 15:57:36

+1

@Luc,有什麼區別? – 2009-01-22 17:46:00

7

將這個到〜/ vim的/ ftdetect/text.vim(這條道路將在Windows略有不同):

autocmd BufRead,BufNewFile *.txt setfiletype text 

然後把這個到〜/ vim的/文件類型插件/ text.vim:

setlocal wrap 
setlocal linebreak 

最好只對文件類型執行autocmd一次,並將它從vimrc文件中分離出來。

2

一個很好的解決方案是「後」目錄。你可以在這裏添加一個rc文件,用於任何你想要的東西,語法高亮,文件類型等。這些配置在所有其他配置運行後運行,因此在系統配置完成之後和.vimrc之後。因此,您可以在unix類型系統上創建名爲〜/ .vim/after/ftplugin/text.vim的文件,並在其中添加您想要的兩行。他們的選項將設置爲文本文件類型,但不適用於其他文件類型。您可以在其他文件類型的每個目錄中擁有不同的文件,例如perl.vim。

由於您不在unix環境中,您需要通過選中[runtimepath] [2]選項來查找您的[runtime directory] ​​[1]。你會創建你的「後」目錄和那裏的文件。

注:

鏈接不工作對我來說,很可能是因爲錨: