ジャグリングなんて書くと訳わかりませんね。要するに、vim のビジュアルモードで指定した行を最短手順でコピペするプラグインの紹介です。
LineJuggler – Duplicate and move around lines. : vim online
http://www.vim.org/scripts/script.php?script_id=4140
インストール
このプラグインは Vimball 形式で配布されております。インストールがめんどいから嫌いなんですよね……これ。
次のようにすれば無理矢理にでも Vundle を併用可能です。
" Vimball でインストールするディレクトリを指定する
:let g:vimball_home = expand("~/.vim/bundle/vba-LineJuggler")
" インストール
:edit ~/Downloads/LineJuggler-1.21.vmb.gz
:source %
" インストールが終わったら .vimrc に次の行を追記する
Bundle 'vba-LineJuggler'
何ができるの?
このプラグインにより、ビジュアルモードで選択した行を 移動、コピー したり、指定した行数分だけ 空行を追加 することが一つのコマンドで出来るようになります。
なんつーか……、エラいニッチなコマンドですよね。どのくらいの人がこれを必要としてるんでしょうか。でも、慣れると便利ですよ。
それではコマンドを解説していきましょう。
[<Space>- カーソルの上に
[count]行の空行を追加します。 ]<Space>- カーソルの下に
[count]行の空行を追加します。 [e-
こっからはちょっとわかりにくいです。ビジュアルモードで選択した範囲をカーソルの
[count]行上方へ移動させます。ノーマルモードで実行された場合は、カーソルのある行が選択されたものとして実行されます。
何のことやらわからないと思うので動画に撮ってみました。
どうでしょ。余計わかりにくいですかね。ビジュアルモードで選択したあと、11[eというコマンドで、範囲を 11 行上へ動かしています。
設定で行番号を相対行番号表示にしてあります。このプラグインを使う場合は、通常の行番号表示ではやりにくいです。 ]e[eの逆で、カーソルの下方に移動させます。[E- ビジュアルモードで選択した範囲をカーソルの
[count]行上方から始まる行と交換します。 ]E[Eの逆で、カーソルの下方と交換します。[d- カーソルのある行、あるいは、ビジュアルモードで選択した範囲をカーソルの
[count]行上方に複製します。 ]d[dの逆で、カーソルの下方に複製します。[D- カーソルのある行、あるいは、ビジュアルモードで選択した範囲をカーソルのすぐ下に
[count]回連続して挿入します。 ]D[Dの逆で、カーソルの上方に[count]回連続して挿入します。[f- カーソルのある行から数えて、
[count]行下にある行をカーソルの直下に挿入します。 ]f- カーソルのある行から数えて、
[count]行上にある行をカーソルの直下に挿入します。 [r- カーソルのある行から数えて、
[count]行下にある行をカーソルのある行に上書きします。 ]r- カーソルのある行から数えて、
[count]行上にある行をカーソルのある行に上書きします。
正直全部覚えるのは大変ですね。内容もずいぶんマニアックです。僕が実際に使うのは [e、]e、[d、]d、の 4 つくらいです。実際の編集作業ですぐに使うのは難しいかもしれませんが、マクロの中で使っていくと便利なんじゃないでしょうか。
