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

What does the line mean in .vimrc?

Upvotes: 49

Views: 27471

Answers (2)

Alex Martelli
Alex Martelli

Reputation: 881487

  • 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.

Upvotes: 93

nik
nik

Reputation: 13450

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.

Upvotes: 5

Related Questions