ジャグリングなんて書くと訳わかりませんね。要するに、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 つくらいです。実際の編集作業ですぐに使うのは難しいかもしれませんが、マクロの中で使っていくと便利なんじゃないでしょうか。