回答:
最初に次のマッピングを作成します(たとえば、<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
後世のためだけに:
:v/\%V/d
これは、選択の一部ではない行で逆グローバルを行います。:vは行ベースのコンストラクトであるため、行、ストリーム、またはブロック選択などの選択を含む行は削除されません。
「multiselections」(元の選択の前と後のエリア)を作成するために、基本的な手段を「反転」以来、私は再びvimscriptsを検索http://www.vim.org/scripts/script.php?script_id=953。これを試して。
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."