5

我通常必须阅读带有长行的 .txt 文件,同时编辑一些源文件,我喜欢在 .txt 文件上看到自动换行,而不是在没有的文件中看到自动换行。

当然我可以 :set wrap 和 :set linebreak ,但是有没有办法让它自动完成,并且依赖于文件扩展名?

4

3 回答 3

10

我能想到两种选择。首先,您可以按照 Tassos 的建议使用 autocmd:

:au BufNewFile,BufRead *.txt set wrap

看:

:help autocmd

另一种选择(如果您按照建议进行了多个设置,这可能更适用):在after/ftplugin您的 vim 配置文件夹(见下文)的目录中创建一个文件,该文件txt.vim将在您打开.txt文件时获取。您可以将它放在普通ftplugin目录(而不是)中,但不会加载文件after/ftplugin的任何内置设置。.txt

将您想要的任何命令放在此文件中:

" This is txt.vim in the ftplugin directory
set wrap
set linebreak

看:

:help after-directory
:help ftplugin

Vim 配置文件夹

在 Windows 上,这通常类似于:

C:\Documents and Settings\%USERNAME%\vimfiles\after\ftplugin\txt.vim

(我认为),或

C:\Program Files\Vim\vimfiles\after\ftplugin\txt.vim

甚至:

C:\vim\vimfiles\after\ftplugin\txt.vim

在 Linux 上,它是:

~/.vim/after/ftplugin/txt.vim

有关详细信息,请参阅:

:help runtimepath
于 2010-06-30T07:04:21.013 回答
6

我想:autocmd BufNewFile,BufRead *.txt set wrap应该做的伎俩

于 2010-06-30T06:43:42.097 回答
0

你可以用自动命令做更多,参考这里:http ://www.thegeekstuff.com/2008/12/vi-and-vim-autocommand-3-steps-to-add-custom-header-to-your-file /

于 2010-07-01T16:27:12.903 回答