【发布时间】:2010-06-30 04:06:33
【问题描述】:
我通常必须阅读长行的 .txt 文件,同时编辑一些源文件,我喜欢在 .txt 文件上看到自动换行,而不是在没有的文件中看到自动换行。
我当然可以 :set wrap 和 :set linebreak,但是有什么办法可以自动完成,并且依赖于文件扩展名?
【问题讨论】:
标签: vim word-wrap file-extension
我通常必须阅读长行的 .txt 文件,同时编辑一些源文件,我喜欢在 .txt 文件上看到自动换行,而不是在没有的文件中看到自动换行。
我当然可以 :set wrap 和 :set linebreak,但是有什么办法可以自动完成,并且依赖于文件扩展名?
【问题讨论】:
标签: vim word-wrap file-extension
我能想到两种选择。首先,您可以按照 Tassos 的建议使用 autocmd:
:au BufNewFile,BufRead *.txt set wrap
见:
:help autocmd
另一种选择(如果您按照建议进行了多个设置,这可能更适用):在您的 vim 配置文件夹(见下文)的 after/ftplugin 目录中创建一个名为 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
【讨论】:
au! BufNewFile,BufRead *.txt setf txt 添加到我的filetype.vim 文件中。
setlocal 而不是set,这样设置就不会应用于所有打开的缓冲区。
我猜:autocmd BufNewFile,BufRead *.txt set wrap 应该可以解决问题
【讨论】:
【讨论】: