viエディタ 基本
vi起動コマンド: vi ファイル名
-Rオプション: vi -R ファイル名 ← 読み取り専用モード
コマンドモード,入力モードを切替えて使用する。
起動時はコマンドモードになっている。
viエディタ コマンドモードから入力モードへの切替え
| コマンド | |
|---|---|
| i | 現在のカーソル位置の前から入力を開始する |
| a | 現在のカーソル位置の後ろから入力を開始する |
| I | 行頭にカーソルを移動し、その前から入力を開始する[行頭 + iコマンド] |
| A | 行末にカーソルを移動し、その後ろから入力を開始する[行頭 + aコマンド] |
| o | 現在の行の下に空白行を挿入し、そこから入力を開始する |
| O | 現在の行の上に空白行を挿入し、そこから入力を開始する |
入力モードでのカーソル移動はカーソルキーを使用することになるが、コマンドモードでは色々なカーソルの移動方法が用意されており、これらをt使用しないとviエディタは少し不便なのでマスターしよう。
コマンドモードへ戻るには、キーボードの左上[esc]を押す。
viエディタ viの終了、保存
| コマンド | |
|---|---|
| :q | 保存しないで終了(内容に変更点がある場合は保存するかどうか確認してくる) |
| :q! | 強制的に保存しないで終了(確認なし) |
| :wq | 編集中の内容を上書き保存して終了 |
| ZZ | 編集中の内容を上書き保存して終了(:wqと同じ) |
| :w | 編集中の内容を上書き保存 |
| :e! | 最後に保存した内容に戻す |

viエディタ カーソルの移動方法は?
viエディタはカーソルキーのないキーボードにも対応しているため、いろいろなカーソルの移動方法が用意されている。
| コマンド | |
|---|---|
| h | 左へ1文字移動する |
| l | 右へ1文字移動する |
| k | 上へ1文字移動する |
| j | 下へ1文字移動する |
| O | 行の先頭へ移動する |
| $ | 行の末尾へ移動する |
| H | 画面、一番上の行頭へ移動する |
| L | 画面、一番下の行頭へ移動する |
| gg | ファイルの先頭行へ移動する |
| G | ファイルの最終行へ移動する |
| nG | ファイルのn行目に移動する |
| :n | ファイルのn行目に移動する |
また、上記のコマンドの前に数字を入力すると、n回×入力コマンドということになる。「10k」と入力すれば10行上へカーソルが移動する。
viエディタ viを開いたままシェルコマンドを使う
| コマンド | |
|---|---|
| :r ファイル名 | 指定したファイルの内容をカレント行以降に読み込む |
| :! コマンド | viを終了しないでコマンドを実行 |
| :r! コマンド | コマンドの実行結果を挿入する |
viエディタ 編集(削除・コピー・ペースト・置換)
| コマンド | |
|---|---|
| x(小文字) | カーソルの位置の文字を削除(Delete) |
| X(大文字) | カーソル手前の文字を削除(Backspace) |
| dd | カレント行を削除 |
| dw | カーソル位置から次の単語までを削除 |
| yy | カレント行をコピー |
| p | カレント行にペースト |
| P | カレント行の上にペースト |
| r | カーソル位置の1文字を置換 |
また、上記のコマンドの前に数字を入力すると、n回×入力コマンドということになる。「1000p」と入力すれば1000回ペーストできてしまう。

viエディタ 検索
| コマンド | |
|---|---|
| / 文字列 | カーソル位置から後方に向かって文字列を検索する |
| ? 文字列 | カーソル位置から前方に向かって文字列を検索する |
| n | 次を検索する(順) |
| N | 次を検索する(逆) |
| :noh | 候補のハイライト表示を解除 |
| :%s/文字列/Strings/ | 最初に見つかった「文字列」を「Strings」へ置換 |
| :%s/文字列/Strings/g | ファイル内すべての「文字列」を「Strings」へ置換 |
viエディタ 設定変更(:set)
| コマンド | |
|---|---|
| :set number | 行番号を表示 |
| :set nu | 「:set number」の短略 |
| :set ts=タブ幅 | タブ幅を数値で指定 |
| j |
「:set」で設定を変更が反映されるのはviを閉じるまでです。
設定を常時有効にするには、ホームディレクトリ内の「.exrc」ファイルに設定を記述します(ない場合は作りましょう)。記述するときの注意点は最初の「:」を書かずに「set number」のようにすることです。


コメント