VimにおけるTABとスペースの扱いについて
Vimでは <TAB>
やインデントについてその挙動を設定することができる。いくつか設定方法があるが、これまでこれらに関する .vimrc
の設定は何も考えずにただコピペしていたので記述を見直してみた。
tabstop
tabstop
で <TAB>
にいくつのスペースを設定するか決めることができる。
set tabstop=4
これで <TAB>
に半角4つ分が設定される。
Vimでは <TAB>
やインデントについてその挙動を設定することができる。いくつか設定方法があるが、これまでこれらに関する .vimrc
の設定は何も考えずにただコピペしていたので記述を見直してみた。
tabstop
で <TAB>
にいくつのスペースを設定するか決めることができる。
set tabstop=4
これで <TAB>
に半角4つ分が設定される。
大量のvalueに連番を振りたくなったのでvimの機能を調べて使ってみた。 目標は以下のようにurlのリストをPerlのハッシュ化すること。
example_1.com
example_2.com
example_3.com
~
example_254.com
example_255.com
example_256.com
my %urls = (
1 => 'example_1.com',
2 => 'example_2.com',
3 => 'example_3.com',
~
254 => 'example_254.com',
255 => 'example_255.com',
256 => 'example_256.com',
);
数字にカーソルを合わせて
Ctrl + a
数字にカーソルを合わせて
Ctrl + x
操作の記録は以下の順序で行う
1 => example_1.com
example_2.com
example_3.com
~
最初のキーである1だけ用意しておく。
q
a
操作を開始する位置(キー1の上)にカーソルを合わせ、q, aの順でキーを押すと、'a'という名前で操作が記録される。
操作の名前は'a'の大文字、小文字のアルファベット、もしくは数字から1字を選んで付けることができる。
v (visual mode)
llllll (=> までを選択)
y (yank)
j P (1行下がってpaste)
0 (行頭へカーソルを移動)
Ctrl + a (インクリメント)
0 (行頭へカーソルを移動)
q
qを押して記録を終了
254 (繰り返す回数)
@a ('a'と名付けた操作を指定)
ここまで完了時点で以下のようになる。
1 => example_1.com
2 => example_2.com
3 => example_3.com
~
254 => example_254.com
255 => example_255.com
256 => example_256.com
vimの矩形選択( Ctrl + v
)などをつかって正しいハッシュの文法に整形する