Enabling and disabling word wrap automatically on

2019-02-13 20:30发布

I usually have to read .txt files with long lines, and at the 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?

3条回答
Animai°情兽
3楼-- · 2019-02-13 20:37

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
4楼-- · 2019-02-13 20:40

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

查看更多
登录 后发表回答