感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

Viのコマンドをまとめてみた(2)

スポンサーリンク

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でやってもいい。

参考文献

入門vi 第6版

入門vi 第6版


たかがviと思うなかれ。
僕もこの本は2年くらい前から気付いていたが、ずっと買わなかった。
なぜかというと、絶対に必要とは言えないものだからだ。今のままでもなんとかなる。編集できる。
とはいえ、やっぱりこういうviの基本操作(応用含む)は「早くやればやるほど」効果的なものだ。
だって、ずっと使うし、使えば慣れるし、作業効率も上がる。
知っているか知っていないか、だけの違いならば、早く知った方がいいに決まっている。
というわけでエイヤで買ったんだけど、買ってよかった。

感謝のプログラミング

今回で感謝のプログラミングは【486時間目】
10000時間まで、あと【9514時間】