Linuxコマンド | シェルスクリプト | Vi Editorコマンド
viの起動、カーソル移動、編集、コピー、削除、検索、置換、保存、終了のクイックリファレンス
Vi、VIM(Vi IMproved)
Viは高速な編集が特徴の、Linuxを代表するエディタです。
viはVisualの略です。
viの起動コマンド
| コマンド |
説明 |
例 |
| vi {ファイル名} |
ファイルを開く、または作成する |
vi test.txt |
| vi +{行番号} {ファイル名} |
ファイルを開き、指定した行へカーソルを移動する |
vi -100 test.txt |
| vi +/"{検索文字列}" {ファイル名} |
文字列が最初に現れる位置から開く |
vi -/“adc” test.txt |
| vi -r {ファイル名} |
壊れたファイルを復旧する |
vi -r test.txt |
| view {ファイル名} |
読み取り専用で開く |
view test.txt |
既存ファイルを開く
vi {ファイル名}を実行したとき、指定したファイルが存在する場合はそのファイルを編集します。
新規ファイルを作成する
vi {ファイル名}を実行したとき、指定したファイルが存在しない場合は新しいファイルを作成します。
viのカーソル移動
| キー |
説明 |
| h(左矢印) |
カーソルを左へ移動する |
| j(下矢印) |
カーソルを下へ移動する |
| k(上矢印) |
カーソルを上へ移動する |
| l(右矢印) |
カーソルを右へ移動する |
| w |
右側にある次の単語の末尾へ移動する |
| e |
右側にある次の単語の先頭へ移動する |
| b |
左側にある前の単語の先頭へ移動する |
| Enter |
1行下へ移動する |
| Backspace |
1文字左へ移動する |
| Space Bar |
1文字右へ移動する |
| ^ |
行の左端へ移動する |
| $ |
行の右端へ移動する |
| H |
画面の最上部へ移動する |
| M |
画面の中央へ移動する |
| L |
画面の最下部へ移動する |
| 数字G |
指定した行番号へ移動する |
| Ctrl + i |
1画面上へ移動する |
| Ctrl + b |
1画面下へ移動する |
| Ctrl + d |
半画面上へ移動する |
| Ctrl + u |
半画面下へ移動する |
| Ctrl + e |
1行ずつ上へスクロールする |
| Ctrl + y |
1行ずつ下へスクロールする |
文字・行の挿入コマンド
| キー |
説明 |
| a |
カーソルの右側に文字を挿入する |
| A |
行末に文字を挿入する |
| i |
カーソルの左側に文字を挿入する |
| I |
行頭に文字を挿入する |
| o |
カーソルの下に行を挿入する |
| O |
カーソルの上に行を挿入する |
| ESC |
挿入モードを終了する |
テキスト変更コマンド
| コマンド |
説明 |
| cw |
単語を変更する |
| cc |
行を変更する |
| C |
カーソル右側の行を変更する |
| s |
カーソル位置の文字を置き換える |
| S |
カーソル位置の行を置き換える |
| r |
カーソル位置の文字を別の文字に置き換える |
| r-Enter |
行を分割する |
| J |
現在行と次の行を結合する |
| xp |
カーソル位置の文字と右側の文字を入れ替える |
| ~ |
文字の大文字・小文字を切り替える |
| u |
直前のコマンドを取り消す |
| U |
行の変更を取り消し、直前の最終状態へ戻す |
| . |
直前のコマンドを繰り返す |
テキスト削除コマンド
| コマンド |
説明 |
| x |
カーソル位置の文字を削除する |
| nx |
カーソル位置からn文字を削除する |
| dw |
現在のカーソル位置にある単語を1つ削除する |
| dd |
カーソル位置の行を削除する |
| ndd |
カーソル位置の行からn行を削除する |
| db |
カーソル位置から後方へ単語を1つ削除する |
| D |
カーソル右側の行を削除する |
| :5,10d |
5行目から10行目まで削除する |
コピーと移動コマンド
| コマンド |
説明 |
| yy |
カーソル位置の行をコピーする |
| Y |
行をyank、またはコピーする |
| yh |
カーソル左側の文字をコピーする |
| yl |
カーソル位置の文字をコピーする |
| yi |
カーソル位置の行とその下の行をコピーする |
| yk |
カーソル位置の行とその上の行をコピーする |
| p |
yankまたは削除した行を現在行の上に挿入する |
| P |
yankまたは削除した行を現在行の下に挿入する |
| :1,2 co 3 |
1〜2行目を3行目の後ろへコピーする |
| :4,5 m 6 |
4〜5行目を6行目の上へ移動する |
1行コピー
対象行でyy、つまりyを2回押すと、その行がバッファに保存されます。
貼り付けたい場所へ移動してpを押すと、カーソル行の次の行に貼り付けられます。
ブロックコピー
vキーを押した後、カーソルを移動してブロックを選択します。
PuTTYでは選択範囲が表示されますが、SSH環境によっては表示されないことがあります。ただし、実際には選択されています。
目的の範囲を選択したら、yキーを押してバッファにコピーします。
同じ方法で目的の場所へ移動し、pを押すとカーソル行の次の行に貼り付けられます。
行番号の設定コマンド
| コマンド |
説明 |
| :set nu または :set number |
エディタ各行の左側に行番号を表示する |
| :set nonu |
エディタ各行の左側の行番号を非表示にする |
行を探すコマンド
| コマンド |
説明 |
| G |
ファイルの最終行へ移動する |
| 21G |
ファイルの21行目へ移動する |
| Ctrl + G |
現在のファイル名とカーソル行の情報を表示する |
検索と置換コマンド
| コマンド |
説明 |
| /{検索文字列} |
右下方向へ文字列を検索する |
| ?{検索文字列} |
左上方向へ文字列を検索する |
| n |
次の一致箇所を続けて検索する |
| N |
前の一致箇所を続けて検索する |
| :g/search-string/s/ |
各一致箇所を確認しながら置換する |
| :s/string/rep |
現在行のstrをrepに置換する |
| :1,.s/string/rep/ |
1行目から現在行までのstrをrepに置換する |
| :%s/string/rep/g |
ファイル全体のstrをすべてrepに置換する |
| :.$/aaa/bbb |
カーソル位置からファイル末尾までのすべてのaaaをbbbに置換する |
画面整理コマンド
| コマンド |
説明 |
| Ctrl + l |
不要な画面表示を整理し、画面を再描画する |
ファイルコマンド
| コマンド |
説明 |
例 |
| :r {ファイル名} |
カーソルの次にファイルを挿入する |
:r test.txt |
| :{行番号} r {ファイル名} |
指定した行番号の次に指定ファイルを挿入する |
:10 r test.txt |
保存と終了コマンド
| コマンド |
説明 |
| :w |
変更内容を保存する |
| :w {ファイル名} |
指定したファイル名で変更内容を保存する |
| :wq |
変更内容を保存してviを終了する。ZZと同じ。:w(書き込み)と:q(終了)を連続して実行する |
| ZZ |
変更内容を保存してviを終了する。viで開いたファイルに一時バッファの内容を書き込んでから終了する |
| :q! |
変更内容を保存せず終了する |
| q |
編集したファイルを保存せずviを終了する |
| e! |
変更内容を破棄して編集状態に戻る |
その他
| 文字 |
説明 |
| . |
現在行 |
| % |
全行 |
| $ |
ファイル末尾の行 |
| 1,$ |
%と同じ |
| 2,3 |
2〜3行目 |
参考
http://blog.naver.com/youngrimi/50086851943