頻繁に、たとえばラテックスコードを書くとき、コンマで区切られたリストの項目を再配置するタスクに出くわします。両方の項目がリストの最初または最後にない場合、これはすぐに実行されます。ただし、余白にある場合は、区切りコンマに特に注意する必要があります。
例として考えてみましょう
\cite{GirR84, Tar00, Tem77}.
たとえば、最後のアイテムを前または中央の位置に配置するためのスマートな方法はありますか?
頻繁に、たとえばラテックスコードを書くとき、コンマで区切られたリストの項目を再配置するタスクに出くわします。両方の項目がリストの最初または最後にない場合、これはすぐに実行されます。ただし、余白にある場合は、区切りコンマに特に注意する必要があります。
例として考えてみましょう
\cite{GirR84, Tar00, Tem77}.
たとえば、最後のアイテムを前または中央の位置に配置するためのスマートな方法はありますか?
私は実際にargumentative.vimと呼ばれる同様の状況に対処するためのプラグインを作成しました。(プラグはごめんなさい。)
Argumentative.vimは、次のマッピングを提供します。
[,
前または次の議論に],
行く動き<,
引数を>,
左または右にシフトしますi,
およびa,
引数テキストオブジェクト。例da,
、ci,
またはyi,
したがって、このプラグインを使用すると、問題の引数に移動してから、<,
または>,
必要な回数だけ実行します。カウントすることもできます2>,
。
Tim Popeの優れたrepeat.vimプラグインがインストールされていて、コマンドで繰り返し可能になる<,
場合。>,
.
私は次のマッピングを持っています、私はウィキアのこのヒント.vimrc
からそれらを持っていると思います:
nnoremap <silent> gl "_yiw:s/\(\%#\w\+\)\(\_W\+\)\(\w\+\)/\3\2\1/<CR><c-o>/\w\+\_W\+<CR><c-l>
nnoremap <silent> gh "_yiw?\w\+\_W\+\%#<CR>:s/\(\%#\w\+\)\(\_W\+\)\(\w\+\)/\3\2\1/<CR><c-o><c-l>
gh
カーソルの下の単語を左右に入れ替えますgl
。
Vim Tips Wikiから任意のものを交換するもう1つの興味深い方法:
:vnoremap <C-X> <Esc>`.``gvP``P
非常に強力で便利なvimプラグインvim-swapを試すことができます!