LinuxServer シェルとコマンド操作について テキストファイルの編集
コマンドラインコンソールからテキストファイルを編集する場合、Linuxではviエディタと呼ばれるUNIX系OSの標準的が用意されています。
viエディタ
[コマンド書式]
vi -オプション ファイル名
ファイル名を指定してしない場合、新規にファイルが作成されてviが起動します。
viエディタの主なオプションは次のとおりです。
オプション
| オプション | 説明 |
| -R ファイル名 | 対象のファイルを読み取り専用で開きます |
| -b ファイル名 | バイナリモードで開きます |
| +行番号 ファイル名 | 指定行からファイルを開きます |
viエディタは、「コマンドモード」と「入力モード」という2つの動作モードを切り替えながらファイルを編集します。
viを起動した状態では、「コマンドモード」になっており、キーボードからの入力は
viへのコマンドとして処理されます。
viのカーソル移動
vi起動直後は、テキストの直接編集や文字入力の行えないコマンドモードとなり、
コマンドモードではカーソルキー(←、↓、↑、→)を使わずにカーソルの
移動が可能です。
カーソル移動でよく使われるコマンドは次のとおりです。
カーソル移動
| オプション | 説明 |
| h | 1文字左へ移動します |
| j | 1文字上へ移動します |
| k | 1文字上へ移動します |
| l | 1文字右へ移動します |
| 0 | 行頭へ移動します |
| ^ | カレント行にある最初の文字へ移動します |
| $ | 行末へ移動します |
| – | 前行の行頭へ移動します |
| – | 次行の行頭へ移動します |
| gg | ファイルの先頭へ移動します |
| G(Shift + g) | ファイルの末尾へ移動します |
| 行番号G(Shift + g) | 指定した行の行頭へ移動します |
| :行番号 | 指定した行の行頭へ移動します |
| Ctrl + f | 次の画面へ移動します |
| Ctrl + b | 前の画面へ移動します |
コマンドの前に数字を入力すると、その回数分コマンド繰り返されます。
「7j」では7行下に移動します。
コマンドモードから入力モードへ
文字入力を行うには、入力モード切替え用のコマンドを入力するとことで入力モードになり、この状態で文字を入力できます。
入力モードの状態でEscキー(ctrl + [)を押すとコマンドモードに切り替わります。
入力モードへの切り替えには次のコマンドがあります。
入力モード
| コマンド | 説明 |
| i | カーソルの1文字左からテキストを入力します |
| a | カーソルの1文字右からテキストを入力します |
| I | 行頭にカーソルを移動し、1文字左からテキストを入力します |
| A | 行末にカーソルを移動し、カーソル位置からテキストを入力します |
| o | カーソルのある行の下に空白行を挿入し、空白行の行頭からテキストを入力します |
| O | カーソルのある行の上に空白行を挿入し、空白行の行頭からテキストを入力します |
コマンドモードでのテキスト編集
コマンドモードでテキストのコピーと貼り付けや削除が行えます。
テキスト編集コマンドには次にものがあります。
コピーと貼り付け
| コマンド | 説明 |
| x | カーソル位置の文字を削除します |
| X | カーソル位置手前の文字を削除します |
| dd | カレント行をカットしバッファに送ります |
| D(Shift + d) d$ |
カーソル位置から行末までをカットしバッファに送ります |
| d^ | カーソル位置から行頭までをカットしバッファに送ります |
| dw | カーソル位置の単語と直後のスペースを含めカットし、バッファに送ります |
| de | カーソル位置の単語と直後のスペースを含めずカットし、バッファに送ります |
| yy | カレント行をコピーしバッファに送ります |
| Y(Shift + y) y$ |
カーソル位置から行末までをコピーしバッファに送ります |
| y^ | カーソル位置から行頭までをコピーしバッファに送ります |
| yw | カーソル位置の単語と直後のスペースを含めコピーしバッファに送ります |
| ye | カーソル位置の単語と直後のスペースを含めずコピーしバッファに送ります |
| p | 文字や単語はカーソルの右に、行はカーソルの下に、バッファの内容を挿入します。 |
| P | 文字や単語はカーソルの左に、行はカーソルの上に、バッファの内容を挿入します。 |
| u | 直前の操作を取りやめます |
| Ctrl + R | 取りやめた操作を取りやめます |
| .(ドット) | 直前の操作を繰り返します |
カーソル移動コマンドと同様にコマンドの前に数字を入力すると、その回数分コマンド繰り返されます。「7dw」では、7つの単語をカットし、バッファーへ送ります。