开发者

Enabling and disabling word wrap automatically on different file extensions on Vim

开发者 https://www.devze.com 2023-01-05 08:53 出处:网络
I usually have to read .txt files with long lines, and at t开发者_StackOverflow中文版he same time edit some source file, and I like to see word wrap on the .txt files, and not in the ones that aren\'t

I usually have to read .txt files with long lines, and at t开发者_StackOverflow中文版he same time edit some source file, and I like to see word wrap on the .txt files, and not in the ones that aren't.

Of course I can :set wrap and :set linebreak, but is there any way to make it automatucally, and dependent of the file extension?


There are two options that I can think of. Firstly, you can use an autocmd as suggested by Tassos:

:au BufNewFile,BufRead *.txt set wrap

See:

:help autocmd

An alternative (that is probably more applicable if you've got multiple settings as you have suggested): create a file in the after/ftplugin directory of your vim configuration folder (see below) called txt.vim and it will be sourced whenever you open a .txt file. You can put it in the plain ftplugin directory (rather than after/ftplugin), but it any built-in settings for .txt files will then not be loaded.

Put any commands you want in this file:

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

See:

:help after-directory
:help ftplugin

Vim Configuration Folder

On Windows this would typically be something like:

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

(I think), or

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

or even:

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

On Linux, it is:

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

For more info, see:

:help runtimepath


I guess :autocmd BufNewFile,BufRead *.txt set wrap should do the trick


you can do lot more with autocommand, refer here: http://www.thegeekstuff.com/2008/12/vi-and-vim-autocommand-3-steps-to-add-custom-header-to-your-file/

0

精彩评论

暂无评论...
验证码 换一张
取 消