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

vimrc - Comment vim mappe-t-il les clés en fonction de l'extension de fichier?

Par exemple, lors du montage.cpp文件时,想把<F5>映射为 :call CompileCpp()<CR>.
在编译.html文件时,想把<F5>映射为:call RunHtml()<CR><Spcae>.
Pouvez-vous le faire ?

某草草某草草2712 Il y a quelques jours585

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

  • 世界只因有你

    世界只因有你2017-05-16 16:38:29

    Utilise probablement ceci

    autocmd FileType vim  call RunHtml()

    Mais il est recommandé de définir makeprg lors de l'utilisation de autocmd FileType, puis de simplement make directement lors de l'utilisation de F5. Cela affichera le message d'erreur pour quickfix
    C'est l'autre langue que j'ai définie

    
    augroup make_autocmd
        autocmd Filetype javascript setlocal makeprg=jsl\ -nologo\ -nofilelisting\ -nosummary\ -nocontext\ -conf\ /etc/jsl.conf\ -process\ %
        autocmd FileType json setlocal makeprg=
        autocmd FileType php
                    \ setlocal makeprg=php\ -l\ -n\ -d\ html_errors=off\ % |
                    \ setlocal errorformat=%m\ in\ %f\ on\ line\ %l
        autocmd BufWritePost * call Make()
        " auto close quickfix if it is the last window
        autocmd WinEnter * if winnr('$') == 1 && getbufvar(winbufnr(winnr()), "&buftype") == "quickfix" | quit | endif
    augroup END
    
    function! Make()
        if &modified | silent write | endif
        if &makeprg == 'make' | return | endif
        let regname = '"~'
        let old_pos = getpos('.')
        silent make
        execute 'cw'
        if !has('gui_running') | redraw! | end
        call setpos('.', old_pos)
    endfunction
    

    répondre
    0
  • Annulerrépondre