首页  >  问答  >  正文

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

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

伊谢尔伦伊谢尔伦2712 天前814

全部回复(4)我来回复

  • 淡淡烟草味

    淡淡烟草味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

    回复
    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
  • 取消回复