Although Vim is very smooth to operate, for a Chinese developer, Vim's default configuration often appears garbled.
The second is the issue of indentation, how to make the code layout format seen by different system platforms have the same style.
When participating in open source projects, there are many common coding standards that are worth setting as default.
淡淡烟草味2017-05-16 16:45:13
I usually set tabs to 4 spaces, and then use the Unix standard form of <LF> for line breaks. As for the garbled code problem, I used this code to solve it
if has("multi_byte") set encoding=utf-8 " English messages only "language messages zh_CN.utf-8 if has('win32') language english let &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 endif else echoerr "Sorry, this version of (g)vim was not compiled with +multi_byte" endif
ringa_lee2017-05-16 16:45:13
syntax on set tabstop=4 set shiftwidth=4 set expandtab set fencs=utf-8,gbk set fileencoding=utf-8 set number nnoremap <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 autoindent set smartindent set vb t_vb= set fileencodings=utf-8,gb18030,utf-16,big5 autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class autocmd FileType python set omnifunc=pythoncomplete#Complete autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS autocmd FileType html set omnifunc=htmlcomplete#CompleteTags autocmd FileType css set omnifunc=csscomplete#CompleteCSS autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags autocmd FileType php set omnifunc=phpcomplete#CompletePHP autocmd FileType c set omnifunc=ccomplete#Complete autocmd FileType python set complete+=k~/.vim/syntax/python.vim isk+=.,( set guifont=Monaco
漂亮男人2017-05-16 16:45:13
The Chinese garbled problem can be solved by setting the current encoding method (enc) and file encoding (fenc)
set encoding=utf-8 "如果是 gbk 的时候用 cp936 set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
The problem with indentation lies in everyone’s tab display settings...
The most reliable way is probably to set it to spaces instead of tabs
set expandtab set softtabstop=4 "建议在 python 的 template 里改为2
This will slightly increase the file size. Then use shift+backspace when deleting the indent. Pressing the bs key alone can only delete one space~
大家讲道理2017-05-16 16:45:13
@yanyaoer’s encoding settings are already very applicable, just add some tabs and spaces
set tabstop=4 "ts 每个 tab 显示出 4个空格的宽度 set shiftwidth=4 "sw 每次缩进的空格数 set expandtab "et 每个 tab 自动扩展成空格 set softtabstop=4 "sts 每次按 backspace 退格 4个空格
ts/sw/... is the abbreviation
Post another configuration, just make things better
set scrolloff=3 set showmode set showcmd set hidden set wildmenu set wildmode=list:longest set cursorline set ttyfast set ruler set backspace=indent,eol,start set laststatus=2 set nu "set relativenumber "vim7.3适用 set undofile