vi エディターは、テキスト ファイルの作成と変更に使用できるコマンド ラインの対話型エディターです。 vi エディターは、ファイルの権限を変更せずに特定のシステム ファイルを編集するために使用できる唯一のテキスト エディターでもあります。 Vim エディターは、vi エディターの拡張バージョンです。
vi エディタへのアクセス
vi エディターでファイルを作成、編集、および表示するには、vi コマンドを使用します。 vi コマンドには、次の 3 つの構文が含まれます。
$ vi $ vi filename $ vi options filename
ファイルの編集中にシステムがクラッシュした場合は、-r を使用できます ファイルを回復するオプション。
$ vi -r filename
ファイルが開き、編集できるようになります。次に、次のコマンドを使用して、ファイルを保存し、vi エディターを終了できます。
$ vi -R filename
ファイルの内容が誤って上書きされないように、ファイルは読み取り専用モードで開きます。
vi エディタ モード
vi エディタには 3 つの操作モードがあります。
1.コマンドモード – コマンド モードは、vi エディタのデフォルト モードです。このモードでは、テキストを削除、変更、コピー、および移動するコマンドを実行できます。カーソルを置いてテキスト文字列を検索し、vi エディターを終了することもできます。
<強い>2.入力モード – 入力モードでファイルにテキストを挿入できます。 vi エディターは、入力モードで入力したものをすべてテキストとして解釈します。入力モードを呼び出すには、次の小文字キーのいずれかを押します:
- 私 – カーソルの前にテキストを挿入
- o – カーソルの下に新しい空白行を開きます
- あ – カーソルの後にテキストを追加
次の大文字キーのいずれかを押して、入力モードを呼び出してテキストをファイルに挿入することもできます:
- 私 – 行頭にテキストを挿入
- おお – カーソルの上に新しい空白行を開きます
- あ – 行末にテキストを追加
<強い>3.最終行モード – 最終行モードでは、高度な編集コマンドを使用できます。最終行モードにアクセスするには、コマンド モードでコロン (:) を入力します。コロン (:) 文字を入力すると、カーソルが画面の一番下の行に置かれます。
注意 :最後の行モードは、実際には ex モードです。 vi エディターは基本的に ex エディターの視覚的な拡張機能であり、ex エディターは ed エディターの拡張バージョンです。モードの切り替え
– vi エディターのデフォルト モードはコマンド モードです。
– 入力モードに切り替えるには、i、o、または a を押します。
– コマンド モードに戻るには、Escape キーを押します。
– コマンド モードでは、ファイルを保存して vi エディターを終了し、シェル プロンプトに戻ることができます。
読み取り専用モードでファイルを表示する
view コマンドを使用すると、読み取り専用モードでファイルを表示できます。
$ view filename
ビュー コマンドは、読み取り専用オプションで vi エディターを呼び出します。つまり、変更をファイルに保存することはできません。たとえば、data.txt ファイルを読み取り専用モードで表示するには、次のコマンドを入力します。
$ view data.txt
data.txt ファイルが表示されます。 :q を入力します コマンドを実行してファイルを終了し、vi エディターを終了して、シェル プロンプトに戻ります。
vi エディタ内でのカーソルの移動
この表は、カーソルを移動するキー シーケンスを示しています。
キー シーケンス | カーソルの動き |
---|---|
h、左矢印、またはバックスペース | 1 文字左 |
j または下矢印 | 1 行下へ |
k または上矢印 | 1 行上へ |
l、右矢印、またはスペースバー | 1 文字右 (前方) |
w | 1単語進む |
b | 1語戻る |
え | 現在の単語の最後まで |
$ | 行末まで |
0 (ゼロ) | 行頭まで |
^ | 行の最初の非空白文字まで |
戻る | 次の行の先頭まで |
G | ファイルの最終行に移動 |
1G | ファイルの最初の行に移動 |
:n | 行 n に移動 |
nG | 行 n に移動 |
Ctrl + F | 1 画面進む |
Ctrl + D | 半画面下にスクロール |
コントロール + B | 1 画面戻る |
Ctrl + U | 半画面上にスクロール |
Ctrl + L | 画面を更新します |
コントロール + G | 現在のバッファ情報を表示 |
テキストの挿入と追加
次の表は、vi エディターを使用して新規または既存のファイルにテキストを挿入および追加するコマンドを示しています。
コマンド | 機能 |
---|---|
a | カーソルの後にテキストを追加します |
あ | 行末にテキストを追加します |
私 | カーソルの前にテキストを挿入します |
私 | 行頭にテキストを挿入します |
o | カーソルの下に新しい行を開きます |
O | カーソルの上に新しい行を開きます |
:r ファイル名 | 別のファイルから現在のファイルにテキストを挿入します |
テキスト削除コマンド
この表は、vi エディターでテキストを削除するコマンドを示しています。
コマンド | 機能 |
---|---|
R | 行のカーソルの右側の文字を上書きまたは置換します。この操作を終了するには、Esc キーを押します。 |
C | カーソル位置から行末までの文字を変更または上書きします |
カーソル位置の文字を文字列に置き換えます | |
x | カーソル位置の文字を削除します |
dw | カーソルの右側の単語または単語の一部を削除します |
dd | カーソルのある行を削除します |
D | カーソルから行の右端までの行を削除します |
:n,nd | 行 n ~ n を削除します (たとえば、:5,10d は行 5 ~ 10 を削除します)。 |
vi エディターを使用すると、多数のコマンドを使用してファイルを編集できます。次のセクションでは、削除、変更、置換、コピー、および貼り付けの基本的な操作について説明します。 vi エディターでは大文字と小文字が区別されることに注意してください。
編集コマンド
この表では、vi エディターでテキストを変更し、変更を元に戻し、編集機能を繰り返すためのコマンドについて説明します。
コマンド | 機能 |
---|---|
cw | カーソル位置の文字をその単語の末尾に変更または上書きします |
r | カーソル位置の文字を別の 1 文字に置き換えます |
J | 現在の行とその下の行を結合します |
XP | カーソル位置の文字とカーソルの右側の文字を入れ替えます |
~ | カーソル位置で大文字または小文字を大文字または小文字に変更します |
う | 前のコマンドを取り消します |
う | 現在の行に対するすべての変更を取り消します |
. | 前のコマンドを繰り返します |
コマンドの検索と置換
この表は、vi エディターでテキストを検索および置換するコマンドを示しています。
コマンド | 機能 |
---|---|
/文字列 | 文字列を前方検索します |
?文字列 | 文字列を逆方向に検索します |
n | 次に出現する文字列を検索します。文字列を検索した後に、このコマンドを使用します。 |
N | 前に出現した文字列を検索します。文字列を検索した後に、このコマンドを使用します。 |
:%s/old/new/g | 古い文字列を検索し、グローバルに新しい文字列に置き換えます |
コマンドのコピーと貼り付け
この表は、vi エディターでテキストを切り取り、コピー、貼り付けるコマンドを示しています。
コマンド | 機能 |
---|---|
yy | 行のコピーをヤンクします |
p | ヤンクまたは削除されたテキストをカーソルのある行の下に挿入します |
P | ヤンクまたは削除されたテキストをカーソルのある行の前に置きます |
:n,n con | n 行目から n 行目をコピーし、n 行目の後に配置します (たとえば、:1,3 co 5 は 1 ~ 3 行目をコピーし、5 行目の後に配置します)。 |
:n,n m n | 行 n -n を行 n に移動します。たとえば、:4,6 m 8 は行 4 ~ 6 を行 8 に移動し、行 6 は行 8 になり、行 5 は行 7 になり、行 4 は行 6 になります。 |
コマンドを保存して終了
この表では、テキスト ファイルを保存し、vi エディターを終了し、シェル プロンプトに戻るコマンドについて説明します。
コマンド | 機能 |
---|---|
:w | ディスクに書き込み、変更を加えてファイルを保存します |
:w new_filename | バッファの内容を new_filename に書き込みます |
:wq | 変更を加えてファイルを保存し、vi エディターを終了します |
:x | 変更を加えてファイルを保存し、vi エディターを終了します |
ZZ | 変更を加えてファイルを保存し、vi エディターを終了します |
:q! | 変更を保存せずに終了 |
ZQ | 変更を保存せずに終了 |
セッションのカスタマイズ
セッションの変数を設定することで、vi セッションをカスタマイズできます。変数を設定すると、デフォルトでは有効になっていない機能が有効になります。 set コマンドを使用して、変数を有効または無効にできます。設定されたコマンド変数には、行番号の表示と、タブや行末文字などの非表示文字が含まれます。
すべての vi セッションの自動カスタマイズを作成するには、次の手順を実行します:
<オール>vi エディターは、現在の作業ディレクトリに関係なく、vi セッションを開くたびに、ホーム ディレクトリにある .exrc ファイルを読み取ります。
注:Vim エディターでのセッションのカスタマイズにも同じ手順が適用されます。ただし、.exrc ファイルを作成する代わりに、.vimrc を作成する必要があります。 ファイル。セッション カスタマイズ コマンド
この表は、set の変数の一部を示しています コマンド。
コマンド | 機能 |
---|---|
:nu を設定 | 行番号を表示します |
:set nonu | 行番号を隠す |
:set ic | 検索で大文字と小文字を区別しないように指示します |
:noic を設定 | 検索で大文字と小文字を区別するように指示します |
:noic を設定 | タブの ^I や行末文字の $ などの非表示文字を表示します |
:nolist を設定 | 見えない文字の表示をオフにします |
:表示モードを設定 | 現在の操作モードを表示します |
:noshowmode を設定 | 操作モードの表示をオフにします |
:セット | 設定されているすべての vi 変数を表示します |
:すべて設定 | すべての vi 変数とその現在の値を表示します |