viの画面内でジャンプするコマンド
H:たぶんHighの略なんだけど、画面の一番上にジャンプする
M:たぶんMiddleの略なんだけど、画面の真ん中にジャンプする
L:たぶんLowの略なんだけど、画面の一番下にジャンプする
viで検索
/:[/pattern]で検索っていうのはけっこうみんな知ってるけれど、
?:[?pattern]はちょっと知らないかも。[?]だと逆に検索する(上方向に検索)
n:検索を繰り返す
N:大文字のNは逆方向に検索を繰り返す
検索する時に、最後まで検索したあとに先頭に戻ってしまうことがある。
これだとわかりづらいので、無効化したいときは、以下のコマンドを使う。
:set nowrapscan
これを設定すると、
search hit BOTTOM without match for: hoge
みたいなコメントが出て、行頭に戻って再度検索が勝手に行われなくなる。
viで行番号を表示するには、
:set nu
コマンドを使う。
で
ctrl+Gでファイルのどの行にいるか、どの位置にいるかを表示できる。
"httpd.conf" line 1007 of 1009 --99%-- col 20
みたいにね。
viでコピー
y(ヤンク)とp(貼りこみ)のコマンドを使う。
たとえば、
#<VirtualHost *:80> ★1 # ServerAdmin webmaster@dummy-host.example.com # DocumentRoot /www/docs/dummy-host.example.com # ServerName dummy-host.example.com # ErrorLog logs/dummy-host.example.com-error_log # CustomLog logs/dummy-host.example.com-access_log common #</VirtualHost>
上記をコピペしたいとする。
★1のところで「y6」と入力する。
すると、6行分コピーされる。
で、pを押すと、そのまま貼り付けされる。
viでファイルの末尾にジャンプ
これは「G」でOK。
長いファイルをいちいちスクロールすると時間がかかる。
「G」を押せば、一気にファイルの末尾に飛べる。
逆にファイルの先頭に一気に戻りたいならば、
「1G」と入力すれば、1行目まで一気に飛んでくれる。
ちなみに、行の先頭までジャンプするのは「0」で、行の末尾にジャンプするには「$」だ。
最初に「Virtual」が見つかった位置でファイルをオープンする方法
vi +/Virtual httpd.conf
読み込み専用でファイルを開く方法は
vi -R fileName
か、あるいは最初からviewでやってもいい。
参考文献

- 作者: リンダラム,アーノルドロビンス,Linda Lamb,Arnold Robbins,福崎俊博
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2002/05
- メディア: 単行本
- 購入: 14人 クリック: 193回
- この商品を含むブログ (74件) を見る
たかがviと思うなかれ。
僕もこの本は2年くらい前から気付いていたが、ずっと買わなかった。
なぜかというと、絶対に必要とは言えないものだからだ。今のままでもなんとかなる。編集できる。
とはいえ、やっぱりこういうviの基本操作(応用含む)は「早くやればやるほど」効果的なものだ。
だって、ずっと使うし、使えば慣れるし、作業効率も上がる。
知っているか知っていないか、だけの違いならば、早く知った方がいいに決まっている。
というわけでエイヤで買ったんだけど、買ってよかった。
感謝のプログラミング
今回で感謝のプログラミングは【486時間目】
10000時間まで、あと【9514時間】