今回はLinux系の標準テキストエディタであるviの数あるコマンドの中から便利なコマンドや覚えておきたいコマンドを掲載します。
※前回同様viエディタについての個人的なメモの為、基本操作等は掲載していません
選択行の後ろに移動し編集
現在選択されている行で「Shift」 + 「A」を入力すると、カーソルを行末へ移動した上で編集モードに移行します。
逆に選択行の先頭へ移動したい場合は、「Shift」 + 「I」です。
1画面分移動する
「Ctrl」 + 「f」と入力すると、1画面下へ移動します。
逆は「Ctrl」 + 「b」です。
ファイルの一番下・一番上に移動する
「Shift」 + 「G」と入力すると、ファイルの一番下へ移動します。
また、「gg」と入力すると、ファイルの一番上へ移動します。
「Shift」 + 「G」の前に数字を入力すると、指定した数字の行へ移動できます。
カレント行の前後に行挿入
現在の行で「o」を入力すると、一つ下に空白の行を挿入し、編集モードへ移行します。
一つ上に行を挿入する場合は、「Shift」 + 「O」です。
やり直し(アンドゥ)
「u」を入力することで、直前の編集内容を取り消しします。
なお、「Ctrl」 + 「r」と入力することで、取り消し操作自体を取り消しできます。
単語単位で削除
「dw」を入力すると、現在のカーソル位置から次の単語までを削除します。
1行まるごと削除
削除したい行にカーソルを持ってきてから「dd」と入力すると、選択していた行そのものを削除できます。
また、「dd」の前に数字を入力すると、カーソルの行から指定した数字分の行数を削除します。
検索
「/<文字>」を入力すると、現在の行から後方までを検索対象としますが、「?<文字>」と入力することで、逆に現在の行から前方を検索対象とします。
検索後に「n」で次の候補、「N」で前の候補へ移動します。
置き換え
「:%s/<対象文字>/<置き換え後の文字>/」を実行することで、次に見つかった対象文字を置き換え後の文字に置き換えします。
上記コマンドの後ろに「g」を付けると対象文字全てを置き換えします。
行数表示
「set nu」と入力すると、行数を表示します。
改行時の自動インデント
「set autoindent」と入力すると、改行した時にwindowsのサクラエディタ等と同様に改行する前の行と同じインデントされます。
自動バックアップ
「set backup」と入力すると、自動でバックアップファイルが作成されます。
「set nobackup」で自動バックアップの無効化になります。
vi起動中に他のコマンドを実行する
「:!<コマンド>」で、viエディタを終了することなく他のシェルコマンドを実行することができます。
例えば「:!ls」を実行すると、vi実行中にカレントディレクトリの確認ができます。
また、「:r!<コマンド>」とすることで実行結果を現在開いているテキストファイルに挿入します。