コメントアウトするキーを作成してvmapで登録してみた

:vmap 【キー】動作

ビジュアルモード(v)のキーを割り当てるコマンド。
割り当てた後は、vモード時にそのキーを押すだけ。(//だったら/を二回)
何が割り当てられているのか確認する時は、

:vmap

割当を解除したい時は、

:vunmap【解除したいキー】



試しにこんな感じで割り当ててみました。
safariユーザーは円記号をバックスラッシュに

【//】vで選択した複数行の行頭に//を付けてコメントアウト

:vmap // <C-V>0I//<Esc>
  • :vmap // キー【//】に割り当て
  • <C-V> Ctrl-vでビジュアルブロックモードに入る。
  • 0 行頭へ
  • I 挿入モード
  • // 文字列//を挿入
  • <Esc> 挿入モード抜ける

【/x】複数行の行頭の//を削除(追記:動作しないこと有り。自動インデント関連?)

:vmap /x :s/^\/\///<CR>から下に変更。(2008/09/16)

vmap /x :s/^\(\s*\t*\)\/\//\1/<CR>:noh<CR>
  • :vmap /x キー【/x】に割り当て
  • :s/ 置換を
  • ^行頭の
  • \(\s*\t*\)\/\/ 0個以上のスペースとタブ、そして//に行なう。
  • /\1/ 一番目の括弧、つまりスペース・タブに残す。
  • <CR> 一回リターンして

:noh<CR> ハイライト消す。

【/p】括弧内の文字列をヤンクされている文字列と置き換え

:vmap /p <Esc>0%vibpviby
  • :vmap /p キー【/p】に割り当て
  • <Esc> vモード抜ける
  • 0 行頭へ
  • % 括弧にカーソル移動
  • vib vモードに入って括弧内を選択
  • p 元々ヤンクしてある文字列をそこにペースト(プット)
  • viby それを再度ヤンクしておく

【/i】何も入っていない括弧()にヤンクされている文字列を挿入(※修正7/3/2008)

:vmap /i <Esc>0%P%viby
  • :vmap /p キー【/i】に割り当て
  • <Esc> vモード抜ける
  • 0 行頭へ
  • % 括弧)にカーソル移動
  • P )の前に元々ヤンクしてある文字列をペースト(プット)
  • % 再度)にカーソル移動
  • viby それを再度ヤンクしておく