Vi の 3 つの動作モード
コマンド モードとも呼ばれる通常モード
挿入モード
コマンド ライン (cmdline) モード
Vi に入ると、最初に通常モードに入り、Vi は編集を待ちますコマンド入力、つまりこのときに入力された文字はコマンドとして解釈されます。
通常モードでは、挿入コマンド i、追加コマンド a、オープン コマンド o などを入力して挿入モードに入ります。挿入モードでユーザーが入力した文字は、Vi によってファイルの内容として保存され、画面に表示されます。テキスト入力中に Esc キーを押すと通常モードに戻ります。
通常モードでは、Ex コマンドを実行するには ? と / を使用し、シェル コマンドを呼び出すには ! を使用します。コマンドの最後の行が実行されると、Vi は自動的に通常モードに戻ります。
1. 通常モードでの操作
挿入モードに入る
i カーソルの前に挿入 I カーソル行の先頭に挿入
a カーソルの後に挿入 A カーソル行の最後に挿入
o 下に行を挿入カーソルのある行、行頭に
Oを挿入 現在の行に行を挿入、行頭に
カーソル位置
Gを挿入、最後の行の先頭に移動
nG、n行目の先頭に移動
n+、n行下に移動、行頭も移動
n- 上n行、行頭
n$ n行下に移動(1はを表す)この行)、行末
0 行頭
$ 行末
^ 行頭文字
h,j,k,l 左へ移動、下へ移動、移動上、右に移動
H 現在の画面の最初の行の先頭
M 画面に表示されているファイルの中央の行の先頭
L 現在の画面の一番下の行の先頭
置換そして削除します
rc カーソルの指す文字をc
nrc カーソルの指す最初のn文字をcに置換
x カーソルの位置の文字を削除
nx カーソルから右のn文字を削除Position
dw カーソルが単語の途中にいる場合は、カーソルの位置から単語の最後まで(単語の後ろのスペースやタブも含めて)削除します
ndw 先頭からn単語を削除しますカーソルのある単語(最初の単語はカーソルから始まります)は、カーソルが配置されている文字の削除を開始します) 次のn-1行
dG 現在の行を最終行まで削除
d1G 現在の行を先頭の行まで削除
d$ 現在の文字を最後まで削除行の
d0 行頭まで前の文字を削除
d、左矢印はカーソル位置の前の文字を削除
d、右矢印はカーソル位置の文字を削除
d、上矢印現在の行と前の行を削除します
d、下矢印は現在の行と次の行を削除します
コピーアンドペーストyy 現在の行がバッファにコピーされますnyy 現在開始しているn行がコピーされますバッファへ
yG カーソルから最終行までの行をバッファへコピー
y1G カーソルから先頭行までの行をバッファへコピー
y $ カーソル位置から文字をバッファへコピー行末をバッファに
y0 カーソル位置より前の文字を行頭にコピーしてバッファにコピー
p バッファの内容をカーソル位置に書き込む
検索文字列 / str strがあるところまで右に移動?str strがあるところまで左に移動
n 同じ方向に移動
N 逆方向に移動
元に戻して繰り返すU キャンセル前のもの ファイルに対する誤用または不適切な操作の影響 直前に完了したコマンドを実行します
ZZ 保存して終了
ZQ 保存せずに終了します
2. コマンドラインモードの場合 操作
ジャンプline
:s/str1/str2/ 最初のものを置き換えますstr1 found with str2
:s/str2/str2/g 現在の行で見つかった str1 をすべて str2 に置き換える
:n1,n2s/str1/ str2/g n1 行目から n2 行目までに見つかった str1 をすべて str2 に置き換える
:1,.s/str1/str2/g 1行目から現在行までにあるstr1をすべてstr2に置き換えます
:., $s/str1/str2/g 1行目以降のstr1をすべて置き換えますに最後の行を str2 で置き換え、
:12,23s/^/#/ 12~23 行に #
を加えたものを置き換える前に確認してください*:%S = *$ == 行末の余分なスペースをすべて削除します : g/^s *$/d は、すべての非文字 (スペースおよび含まれないもの) を削除します
:n1, n2 co n3 n1 行目から n2 行目へ n3 の最後までコピー
ファイル-関連コマンド
:w ファイル
シェルコマンドを実行
:!Cmd credcred:n1,n2 !Cmd を変更します。 n1行からn2行はCmdコマンドの入力として使用されます 行が指定されていない場合は、ファイル全体がCmd
Vi環境を設定する
:set autoindent 自動インデント
:set noautoindent 自動インデントを解除する
by ` `入力が設定されたページマージンに入ると、エディターは自動的に行を入力して折り返します
:set すべてのオプションを表示します set
:set all 設定できるすべてのオプションを表示します
Exit Vi
:q Exit
:qw 保存して終了
:q! 保存せずに終了