vim: would like it to turn settings on only for ce

2019-04-04 01:42发布

问题:

I've looked at this but it wasn't too much help. Maybe I didn't read it too well.

Basically what I want is when I open a .txt file the settings:

set wrap
set linebreak

are turned on. How might I go about doing that?

Thanks in advance.

Also, I'm using XP.

回答1:

My answer to that question still applies:

Put autocmd commands based on the file suffix in your ~/.vimrc

autocmd BufRead,BufNewFile   *.txt set wrap linebreak

As Luc says, you might prefer to

autocmd BufRead,BufNewFile   *.txt setlocal wrap linebreak

if you're likely to open txt and non-txt files at the same time.



回答2:

Put this into ~/.vim/ftdetect/text.vim (this path will be slightly different on windows):

autocmd BufRead,BufNewFile *.txt setfiletype text

Then put this into ~/.vim/ftplugin/text.vim:

setlocal wrap
setlocal linebreak

It's preferable to only do the autocmd once for a filetype, and to separate it from your vimrc file.



回答3:

A good solution to this is the "after" directory. You can add an rc file for anything you want in there, syntax highlighting, file types, etc. These configurations are run after all other configurations are run, so after the system configs and after your .vimrc. So you can create, on a unix type system, an file called ~/.vim/after/ftplugin/text.vim and add the two lines you want in there. They options will be set for the text file type, but not for other file types. You can have different files in each of those directories for other filetypes, such as perl.vim.

Since you are not in a unix environment, you will need to find your [runtime directory][1] by checking the [runtimepath][2] option. You would create your "after" directory and the files there.

NOTE:

The links are not working for me, probable because of the anchors:

  • After directories are briefly mentioned here: http://www.vim.org/htmldoc/usr_43.html#43.2
  • Runtime directories: http://www.vim.org/htmldoc/usr_43.html#your-runtime-dir
  • Runtime path: http://www.vim.org/htmldoc/options.html#'runtimepath'