你已經重新映射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