Vim 编辑器配置文件哪些选项是必备的

浏览:40日期:2023-07-23

问题描述

Vim 虽然操作起来很畅快,对于一个中文开发人员来说,Vim 的默认配置常常出现乱码。其次是缩进问题,如何让不同系统平台看到的代码排版格式都一样式。在参与开源项目时,有许多通用的代码规范,值得设为默认。

问题解答

回答1:

我一般把tab设为4个空格,然后换行用unix标准形式的<LF>。至于乱码问题,我用这段代码解决

if has('multi_byte') set encoding=utf-8 ' English messages only 'language messages zh_CN.utf-8 if has(’win32’)language englishlet &termencoding=&encoding endif set fencs=utf-8,gbk,chinese,latin1 set formatoptions+=mM set nobomb ' 不使用 Unicode 签名 if v:lang =~? ’^(zh)|(ja)|(ko)’set ambiwidth=double endifelse echoerr 'Sorry, this version of (g)vim was not compiled with +multi_byte'endif回答2:

syntax onset tabstop=4set shiftwidth=4set expandtabset fencs=utf-8,gbkset fileencoding=utf-8set numbernnoremap <buffer> <F5> :w<CR>:!/usr/bin/env python % <CR>nnoremap <F2> :set nonumber!<CR>:set foldcolumn=0<CR>nnoremap <F3> :set noautoindent!<CR>:set nosmartindent!<CR>set autoindentset smartindentset vb t_vb=set fileencodings=utf-8,gb18030,utf-16,big5autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,try,except,finally,def,classautocmd FileType python set omnifunc=pythoncomplete#Completeautocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJSautocmd FileType html set omnifunc=htmlcomplete#CompleteTagsautocmd FileType css set omnifunc=csscomplete#CompleteCSSautocmd FileType xml set omnifunc=xmlcomplete#CompleteTagsautocmd FileType php set omnifunc=phpcomplete#CompletePHPautocmd FileType c set omnifunc=ccomplete#Completeautocmd FileType python set complete+=k~/.vim/syntax/python.vim isk+=.,(set guifont=Monaco回答3:

中文乱码问题设置下当前编码方式(enc)和文件编码(fenc)就好了

set encoding=utf-8 '如果是 gbk 的时候用 cp936set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1

缩进的问题在于各人对 tab 的显示设置吧...最靠谱的方式大概是设置成空格而不要用制表符了

set expandtabset softtabstop=4 '建议在 python 的 template 里改为2

这样会略微增加一些文件体积, 然后删除缩进时要用 shift+backspace, 单按 bs 键只能删一个空格的唷亲~

回答4:

@yanyaoer 的编码设置已经很适用了,补充一点 tab 和空格

set tabstop=4 'ts 每个 tab 显示出 4个空格的宽度set shiftwidth=4 'sw 每次缩进的空格数set expandtab 'et 每个 tab 自动扩展成空格set softtabstop=4 'sts 每次按 backspace 退格 4个空格

ts/sw/... 是缩写

再贴一段配置,just make things better

set scrolloff=3set showmodeset showcmdset hiddenset wildmenuset wildmode=list:longestset cursorlineset ttyfastset rulerset backspace=indent,eol,startset laststatus=2set nu'set relativenumber 'vim7.3适用set undofile

相关文章: