Maison  >  Questions et réponses  >  le corps du texte

Quelles options du fichier de configuration de l'éditeur Vim sont nécessaires ?

Bien que Vim soit très fluide à utiliser, pour un développeur chinois, la configuration par défaut de Vim semble souvent tronquée.
La seconde est la question de l'indentation, comment faire en sorte que le format de disposition du code vu par différentes plates-formes système ait le même style.
Lorsque vous participez à des projets open source, il existe de nombreuses normes de codage communes qui méritent d'être définies par défaut.

伊谢尔伦伊谢尔伦2712 Il y a quelques jours817

répondre à tous(4)je répondrai

  • 淡淡烟草味

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

    Je définis généralement les tabulations sur 4 espaces, puis j'utilise la forme standard Unix <LF> Quant au problème du code tronqué, j'ai utilisé ce code pour le résoudre

    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

    répondre
    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

    répondre
    0
  • 漂亮男人

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

    Le problème du chinois tronqué peut être résolu en définissant la méthode d'encodage actuelle (enc) et l'encodage de fichier (fenc)

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

    Le problème de l'indentation réside dans les paramètres d'affichage des onglets de chacun...
    Le moyen le plus fiable est probablement de le définir sur des espaces au lieu de tabulations

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

    Cela augmentera légèrement la taille du fichier. Utilisez ensuite shift+backspace lors de la suppression du retrait. Appuyer seule sur la touche bs ne peut supprimer qu'un seul espace~

    .

    répondre
    0
  • 大家讲道理

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

    Les paramètres d'encodage de @yanyaoer sont déjà très applicables, ajoutez simplement quelques tabulations et espaces

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

    ts/sw/... est l'abréviation

    Publiez une autre configuration, améliorez simplement les choses

    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

    répondre
    0
  • Annulerrépondre