保存文件时,这些是我在 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
\r
fileformats
unix
如果您遇到某些带有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