Answers:
首先创建以下映射(例如绑定到<F4>
键)
map <F4> :<C-U>1,'<-1:delete<CR>:'>+1,$:delete<CR>
然后,在可视模式下选择范围后,只需按<F4>
即可触发关联的命令。该命令可以很容易地解释为以下部分:
:
”进入命令行模式。<C-U>
”删除光标位置和行首之间的所有字符。1,'<-1
”指定从文件的第一行到当前选择开始之前的行的范围。:delete<CR>
”删除(先前指定的行范围)。:'>+1,$:delete<CR>
”删除范围“ '>+1,$
”中的行,即从选择结束后的行到文件末尾的行。"*yggdG"*p
意思是 ...
"*y " yank it to the selection register
ggdG " delete everything
"*p " and paste the selection again
.vimrc
?我已经尝试了一些尝试,但是还没有尝试。我的企图是map <F4> n"*yggdG"*p
和nmap <F4> "*yggdG"*p
因为'inverting'基本上意味着要创建'multiselections'(原始选择之前和之后的区域),所以我再次在http://www.vim.org/scripts/script.php?script_id=953中搜索了vimscript 。尝试这个。
There are a number of operations to very
easily manipulate selections such as modifying
the regions (add/delete/inverte/clear), hiding,
refreshing, saving and restoring etc."