7

頻繁に、たとえばラテックスコードを書くとき、コンマで区切られたリストの項目を再配置するタスクに出くわします。両方の項目がリストの最初または最後にない場合、これはすぐに実行されます。ただし、余白にある場合は、区切りコンマに特に注意する必要があります。

例として考えてみましょう

\cite{GirR84, Tar00, Tem77}.

たとえば、最後のアイテムを前または中央の位置に配置するためのスマートな方法はありますか?

4

4 に答える 4

12

私は実際にargumentative.vimと呼ばれる同様の状況に対処するためのプラグインを作成しました。(プラグはごめんなさい。)

Argumentative.vimは、次のマッピングを提供します。

  • [,前または次の議論に],行く動き
  • <,引数を>,左または右にシフトします
  • i,およびa,引数テキストオブジェクト。例da,ci,またはyi,

したがって、このプラグインを使用すると、問題の引数に移動してから、<,または>,必要な回数だけ実行します。カウントすることもできます2>,

Tim Popeの優れたrepeat.vimプラグインがインストールされていて、コマンドで繰り返し可能になる<,場合。>,.

于 2013-02-07T00:04:55.700 に答える
5

私は次のマッピングを持っています、私はウィキアのこのヒント.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

于 2013-02-06T10:58:08.317 に答える
3

Vim Tips Wikiから任意のものを交換するもう1つの興味深い方法:

:vnoremap <C-X> <Esc>`.``gvP``P
于 2013-02-06T11:21:52.113 に答える
3

非常に強力で便利なvimプラグインvim-swapを試すことができます!

于 2017-03-22T15:59:02.693 に答える