Heim  >  Fragen und Antworten  >  Hauptteil

Welche Optionen in der Konfigurationsdatei des Vim-Editors sind erforderlich?

Obwohl Vim sehr reibungslos zu bedienen ist, erscheint die Standardkonfiguration von Vim für einen chinesischen Entwickler oft verstümmelt.
Das zweite ist die Frage der Einrückung, wie man dafür sorgen kann, dass das Code-Layoutformat, das von verschiedenen Systemplattformen gesehen wird, den gleichen Stil hat.
Bei der Teilnahme an Open-Source-Projekten gibt es viele gängige Codierungsstandards, die es wert sind, als Standard festgelegt zu werden.

伊谢尔伦伊谢尔伦2712 Tage vor815

Antworte allen(4)Ich werde antworten

  • 淡淡烟草味

    淡淡烟草味2017-05-16 16:45:13

    我一般把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 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

    Antwort
    0
  • ringa_lee

    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

    Antwort
    0
  • 漂亮男人

    漂亮男人2017-05-16 16:45:13

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

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

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

    set expandtab
    set softtabstop=4 "建议在 python 的 template 里改为2

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

    Antwort
    0
  • 大家讲道理

    大家讲道理2017-05-16 16:45:13

    @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=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

    Antwort
    0
  • StornierenAntwort