VIM 编辑器:文件编码和行尾

VIM 编辑器:文件编码和行尾

保存文件时,这些是我在 TextMate(Mac OS X)中的默认设置:

文件编码:UTF8(推荐) 行尾:LF(推荐)

我如何设置 VIM 以使用与 TextMate 相同的文件编码和行尾保存文件?如果您有任何建议,我将不胜感激。谢谢!

答案1

" Stick with the UTF-8 encoding.
if has('multi_byte')
  " Encoding used for the terminal.
  if empty(&termencoding)
    let &termencoding = &encoding
  endif

  " Encoding used in buffers, registers, strings in expressions, "viminfo"
  " file, etc.
  set encoding=utf-8

  " Encoding used for writing files.
  setglobal fileencoding=utf-8
endif

" Use both Unix and DOS file formats, but favor the Unix one for new files.
set fileformats=unix,dos

笔记:最后一行的优点是两种格式都可以在 Vim 缓冲区中正确显示。例如,如果您从中删除dos,那么从现在起,您在 Vim 中打开的fileformats所有文件都会在行尾处杂乱无章地出现符号。这只不过是Vim 在这种情况下无法正确解释的符号。因此,强烈建议保留如上所示的格式。不用担心,您创建的任何新文件都将默认使用格式(如上面的注释中所述)。dos^M^M\rfileformatsunix

如果您遇到某些带有dos格式的文件并想将其转换为unix,请输入以下内容:

:set ff=unix

答案2

'fileformat'行尾由(实际使用) 和'fileformats'(检测到的内容) 选项决定。如果unix其中有 ,则表示<LF>。您可以使用:help其中任何一个来了解更多信息。

您的'encoding'应设置为utf-8,并且该值也应出现在 中'fileencodings'(默认情况下)。

您可以使用以下命令检查设置(请注意?选项名称后的尾注):

:set encoding?

要进行永久性更改,请将:set ...命令放入您的~/.vimrc

请注意,您也可以随时覆盖设置,例如

:edit ++ff=unix ++enc=utf-8 myfile

相关内容