Vimで矩形貼り付けをするプラグインを作ってみた - 改良版 -

Vimで矩形貼り付けをするプラグインを作ってみた - へきょのーと

以前作成した矩形貼り付けをするVim pluginを改良したので
改めて使い方をご紹介します。(まだhelpがないので...)

サクラエディタなどにある矩形貼り付けは
Vim標準では(おそらく)ないのでpluginとして実装しました。

※setreg()で可能なようですが、本pluginでは選択モード時とquickrun挿入で差別化を...


使い方

カーソルの左側に挿入する場合
:RectInsert -i

※マップコマンド設定例

nmap <silent> <leader>hi <Plug>(rectinsert_insert)
カーソルの右側に挿入する場合
:RectInsert -a

※マップコマンド設定例

nmap <silent> <leader>ha <Plug>(rectinsert_append)
矩形選択した箇所に挿入する場合
" カーソルの左側に挿入する場合
:RectInsert -i -mode-v
" カーソルの右側に挿入する場合
:RectInsert -a -mode-v

※マップコマンド設定例

" カーソルの左側に挿入する場合
vmap <silent> <leader>hi <Plug>(rectinsert_insert)
" カーソルの右側に挿入する場合
vmap <silent> <leader>ha <Plug>(rectinsert_append)

※実行例
下記文字列をコピーして

one

2行矩形選択した場合は

one
one

が挿入されます。

下記文字列をコピーして

one
two

3行矩形選択した場合は

one
two
one

が挿入されます。

下記文字列をコピーして

one
two
three

2行矩形選択した場合は

one
two

が挿入されます。

任意のプログラミング言語の処理結果で挿入する場合 ※新機能!!

自分の使い慣れた言語で矩形挿入したい文字列を生成できる!

rubyを使った偶数連番5桁0埋め挿入の例
1. 挿入したい箇所にカーソルをもっていく
2. 下記コマンドを実行(rubyの箇所を他の言語にすることも可能)

:RectScriptInsert ruby

3. 新しく開いたバッファに下記コードを記述

10.times {|i|
  printf("%05d: \n", i + 1) if i % 2 != 0
}

4. 下記コマンドを再実行

:RectScriptInsert ruby

5. 挿入完了!!


よかったら使ってみてください。