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」のようにすることです。
コメント