アタマのひきだし

webプログラミング情報メモ

学習週 / Vim3日目

テキストの削除・編集

■ 1コマずつ削除
入力 説明
x カーソル下の文字
■ 単語ごとに削除
入力 説明
dw 空白含む
de 空白含まない
■ 1行を削除
入力 説明
d$ カーソル位置から右側の行
■ 行全体を削除
入力 説明
dd カーソルが位置する行、1行分を削除
■ テキストの編集
入力 説明
i 行内でのテキスト挿入
A 行末でのテキスト追加、カーソルが途中にあっても、行末まで移動
■ やり直し、アンドゥ
入力 説明
u uを入力した分、1つずつ過去のコマンドに戻る
U 行全体での取り消し
[CTRL]+r 取り消したものを取り消す
■ 再配置
入力 説明
p ddまたはxなどで削除、pで削除したテキストが再配置

※再配置される場所に注意

現在のカーソル位置が基準となる。1コマ削除した場合は、次のコマに再配置。ddで行を削除した場合は、カーソル位置から下の行に再配置。

■ コピー&ペースト
入力 説明
v w,$,k,などでカーソル移動、選択範囲を指定。yでコピー、pで貼り付け
■ 文字の置き換え
入力 説明
r カーソル位置の下の文字を入れ替える
■ 上または下に、空白行を追加して挿入
入力 説明
o カーソル位置から下に空白行を追加、挿入モードになる
O カーソル位置から上に空白行を追加、挿入モードになる
■ 変更
入力 説明
cw 削除コマンドと似た動き、単語を削除し、すぐ入力できる
c$ 削除コマンドと似た動き、カーソル位置から右側すべて削除、すぐ入力できる

検索・置換え

■ 語句の検索
入力 説明
/(検索ワード入力) 検索、下記の " n " , " N " で移動
* カーソル位置にあるワードを元に検索
[CTRL]+o(欧文) 検索前の元の位置にもどる
■ 検索したワードをもとに移動
入力 説明
n ワードを元に、上へカーソル移動、検索していく
N ワードを元に、下へカーソル移動、検索していく
■ カッコ類の検索(対のカッコの確認、デバッグに役立つ)
入力 説明
% 片方のカッコの上で入力すると、対のカッコへ移動
■ 検索・置換え
入力 説明
%s/thee/the/g 全文検索、「thee → the」に置換え
%s/thee/the/gc 全文検索、1つずつ確認しながら置換え※1

検索での注意 → 例 %s/。/.\/g

" / " , " \ " , " . " 等の記号を含む文字列には、記号の前に、 (バックスラッシュ)つける。 バックスラッシュはキーボード上の" ¥ "マークで入力できる。

上記の ※1 についての説明

例、% s / Note / Version /gc

/gcで検索すると、下記のように検索ワードがハイライトされ、ウィンドウの下方に replace with Version ( y / n / a / q / l / ^E / ^Y ) と表示される。この意味を調べてみると、下記のようになるようです。

ターミナル画面上での表示↓

http://i.gyazo.com/eb188137951dcab05295d62916d92696.png

ターミナル画面下側の表示↓

http://i.gyazo.com/ed2118d8d53b07024d51bb3b53ca90b5.png

表示 説明
y 1つ1つハイライト表示され、変更できる
n ハイライトされ、移動するのみ
a 一気に置き換え
l ハイライトした、1つだけ置き換え終了
^Y ctrl+yで上にスクロール
^E ctrl+eで下にスクロール

参考:ykmbpp(中間あたりの記述)

「ctrl+y」は通常のモードでも使えました。同じく上へスクロール。「ctrl+e」は下にスクロール。

■ 行を指定して検索置き換え
入力 説明
:#,#s/thee/the/gc #の場所に開始と終了の行番号を指定
■ 検索でのオプション
入力 説明
:set ic( ignorecaseの略) 大文字、小文字を区別せず検索
:set is( hlsearchの略) 検索で部分マッチの部分を表示
:set hls( hlsearchの略) ヒットしたワードを強調表示させる
:set nohls( hlsearchの略) 強調表示をやめる