搜尋

首頁  >  問答  >  主體

Vim 編輯器設定檔哪些選項是必備的

Vim 雖然操作起來很暢快,對於一個中文開發人員來說,Vim 的預設配置常常出現亂碼。
其次是縮排問題,如何讓不同系統平台看到的程式碼排版格式都一樣式。
在參與開源專案時,有許多通用的程式碼規範,值得設為預設。

伊谢尔伦伊谢尔伦2773 天前878

全部回覆(4)我來回復

  • 淡淡烟草味

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

    我通常把tab設為4個空格,然後換行用unix標準形式的。至於亂碼問題,我用這段程式碼解決

    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

    回覆
    0
  • ringa_lee

    ringa_lee2017-05-16 16:45:13

    雷雷

    回覆
    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 鍵只能刪除一個空格的唷親~

    回覆
    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

    回覆
    0
  • 取消回覆