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つの単語をカットし、バッファーへ送ります。