你已经重新映射F2到:.y" :
等。您需要<cr>
不是一个简单的空间。如果你在vim中键入:.y"
并且没有按ENTER键而是空格,则什么都不会发生。
所以:
:nnoremap <f2> :.y"<CR>:g/<C-R>"/d<CR>
能做到这一点。
不过,警告,如果你的行包含/\*[~$^.
这可能会失败。你可以使用表达式寄存器,以便就地逃脱:
:nnoremap <f2> :.y"<CR>:g/<c-r>=escape(@", '/\*[~$^.')<cr>/d<cr>
还有更好的,而不会覆盖您的默认("
)寄存器是:
:nnoremap <f2> :g/^<c-r><c-o>=escape(getline('.'), '/\*[~$^.')<CR>$/d<cr>
这将删除所有相同的行。还要注意'ignorecase'
或'smartcase'
的问题。如果你想删除只有一行字
:nnorempa <F2> :silent exe "g/".getline(".")."/d"<CR>
对于第二个,像这样:如果你想删除
:vmap <F7> y:silent exe "%s/"[email protected]"."//g"<CR>
这
嗯 - 我想从做手工做一个简单的地图,就不会工作。原来是Xubuntu,默认不安装VIM - 但六。反正 - 在安装Vim和有东西的工作sorta .......我现在至少在正确的轨道:) – Ziferius 2012-03-01 04:13:20