Hatena::ブログ(Diary)

gan2 の Ruby 勉強日記 このページをアンテナに追加 RSSフィード

この日記のはてなブックマーク数 PV/ 1658358 Subscribe with livedoor Reader 役立つリンク集

2012-07-11

[vim][web+db] Vi(m) コマンドの覚書

WEB+DB PRESS 62」の特集「Linux の基礎知識」を読んで、

ボールペンでチェックしておいた覚えておきたいことをブログにも書いておく。

覚えておきたいコマンドの一覧

コマンド解説
ZZ保存して終了
w次の単語に移動
b前の単語に移動
^行頭に移動
$行末に移動
Ctrl+f1ページ進む
Ctrl+b1ページ戻る
ggファイルの先頭に移動(1G でもいい?)
%対応する括弧に移動
p前の検索結果に移動(N でもいい?)
o1つ下に新しい行を追加してテキスト入力(o は何の略?Over?)
O1つ上に新しい行を追加してテキスト入力
dwカーソル位置から1単語削除
(似たようなコマンドとして d^ や d$ がある。d はきっと Delete の略だな。)
cwカーソル位置から1単語変更
(c は Change だな。)
ywカーソル位置から1単語コピー
(y は Yank で Emacs といっしょ。現在行を丸々コピーするには yy。)
pコピーしたのが行単位でない場合は、カーソル位置の1つ後ろにペースト。
コピーしたのが行単位の場合は、カーソル行の下にペースト。
Pコピーしたのが行単位でない場合は、カーソル位置にペースト。
コピーしたのが行単位の場合は、カーソル行の上にペースト。

dw, cw, yw は似たもの同士

cw, yw も dw 同様に後ろの w を ^ や $ に変えると挙動が変わる。みんな似たような動作をする。

ペースト(p, P)の違い

  • コピーしたのが行単位の場合は、p, P は a, i に対応している。
  • コピーしたのが行単位の場合は、p, P は o, O に対応している。

そういえば、a は After の頭文字なんだろうか?

i が Insert だからカーソル位置に挿入で、a が After だから後ろに挿入と考えると覚えやすいな。

文字の置換

文字列の置換は s コマンドで行う。

フォーマットは「:範囲s/from/to/[gc]」

「範囲」は全行を表す % か、n 行目から m 行目を表す n,m が使える。

オプション c は confirm の略で、置換を1つ1つ確認したいときに使う。

アンドゥ

純粋な vi ではアンドゥは1回しか実行できませんが、Vim では複数回アンドゥを実行できるようになっています。

vi で複数回アンドゥしたいときはどうしたらいいんだろう?

回数を指定して u を呼んだりはできないのだろうか。

auientauient 2013/06/16 01:02 > vi で複数回アンドゥしたいときはどうしたらいいんだろう?
:e!
などで現在の編集内容を捨ててファイルを読み直すしかありません。
回数を指定とかできないのですよ。。。
もっとも、Linuxに入ってるviの正体は実はvimなので
AIXやHP-UXなどを使うのでなければ、素のviは考える必要はありませんよ。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/gan2/20120711/1342013055
リンク元
Connection: close