简体   繁体   中英

Unable to understand a line in .vimrc

I do not understand what the following line does in .vimrc

nmap <silent> <leader>v :EditConfig<cr>

It seems that

  • nmap mean noremap
  • silent seems to mean apparently no beep in Vim
  • leader seems to mean the first character in the mode :
  • v seems to mean visual mode
  • EditConfig should be a command in vim in the mode : (However, it is not.)

What does the line mean in .vimrc?

  • nmap means "map a key sequence when in normal mode" (see vim's docs ).
  • <silent> tells vim to show no message when this key sequence is used.
  • <leader> means the key sequence starts with the character assigned to variable mapleader -- a backslash, if no let mapleader = statement has executed yet at the point nmap executes.

And the v is the rest of the key sequence.

So overall this is mapping, in normal mode, a backslash-v key sequence to show no message and execute :EditConfig which is likely a function defined previously in the vimrc to edit configuration files (see for example this vimrc, search in browser for editconfig). :call EditConfig() at the end (as the vimrc file I gave the URL to uses) would be better, I believe.

It would appear that you are missing a function...

Try,

function! EditConfig()
    for config in ['$MYGVIMRC', '$MYVIMRC']
        if exists(config)
            execute 'edit '.config
        endif
    endfor
endfunction

Check this example .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM