Vim mapping to surround word with a character -
in vimrc file have following entry surround word '+':
:nnoremap <silent> q+ wbi+<esc>ea+<esc> i change surround word other symbol, example quote, not use plugin or insert 1 more map. in vimrc:
:nnoremap <silent> qx wbix<esc>eax<esc> where x character put around word.
how can done in vim?
thanks
the general idea:
:nnoremap q :let c=nr2char(getchar())\|:exec "normal wbi".c."\eea".c."\e"<cr> but don't think q choice, example quotes, because q starts extremely handy recording feature vim. normal q command expect second character (the recording target register) , can ". quite confusing when you're on computer or if else using vim. should preprend leader q. leader:
:nnoremap <leader>q :let c=nr2char(getchar())\|:exec "normal wbi".c."\eea".c."\e"<cr> the default leader value \, can changed. note had changed before defining mapping. can see configured leader let mapleader (which prints error message if there's no leader configured). these statements,
:let mapleader=',' :nnoremap <leader>q :let c=nr2char(getchar())\|:exec "normal wbi".c."\eea".c."\e"<cr> you can type ,q+ surround word + , ,q" in order surround word ".
by way: mapping doesn't work if cursor on last character on line. change mapping to:
:nnoremap <leader>q :let c=nr2char(getchar())\|:exec "normal viwo\ei".c."\eea".c."\e"<cr>
Comments
Post a Comment