Linux/Unix チュートリアルのコマンドを使用した VI エディタ

⚡ スマートサマリー

viエディタは、LinuxとUnixで広く使われている定番のテキストエディタで、キーボード操作のみで動作します。コマンドモード(操作用)と挿入モード(入力用)の2つのモードがあります。ping テキスト。

  • 📝 それは何ですか: viエディタはほぼすべてのLinuxおよびUnixシステムに付属しており、プラットフォームやディストリビューションを問わず同じように動作します。
  • 特選割️ 2つのモード: コマンドモードではコピー、削除、保存などのアクションが実行されますが、挿入モードはping テキスト。
  • 🚀 起動: 既存のファイルを開くか、新しいファイルを作成するには、「vi」と入力してからファイル名を入力してください。
  • 会<XNUMXxEXNUMX><XNUMXxXNUMXF>️️<XNUMXxXNUMXF>️️ 編集: i、a、dd、xなどの1文字のコマンドは、行の挿入、追加、削除、および文字の削除を行います。
  • 💾 保存: コマンドモードでは、:w で保存、:wq で保存して終了、:q! で保存せずに終了します。
  • 🤖 AI支援: AIアシスタントやGitHub Copilotは、学習中にviコマンドを説明したり、編集内容を提案したりすることができます。

viエディタのコマンドとLinuxおよびUnixのコマンドモードと挿入モード

viエディタは、ほぼあらゆる場所で見かけるテキストエディタです。 Linux またはUnixマシンでも使用できるため、キーボード操作によるワークフローを習得することは、あらゆる場面で役立つスキルです。このガイドでは、2つのモード、編集コマンド、ファイルの保存と終了方法について説明します。

viエディタとは何ですか?

viエディタは、Linuxファミリーの中で最も人気があり、定番のテキストエディタです。以下に、viが広く使われている理由をいくつか挙げます。

  • ほぼすべてのLinuxディストリビューションで利用可能です。
  • これは、異なるプラットフォームやディストリビューションでも同様に機能します。
  • 使いやすさが優れているため、何百万ものLinuxユーザーが編集作業に利用している。

現在では、viエディタの高度なバージョンが利用可能であり、最も人気のあるものは VIMViはVi Improvedの略です。他にもElvis、Nvi、Nano、Vileなどがあります。viは機能が豊富で、ファイルの編集において無限の可能性を秘めているため、習得しておくと良いでしょう。

viエディター Operaモード

viエディタを操作するには、その操作モードを理解する必要があります。操作モードは大きく分けてコマンドモードと挿入モードの2つに分類できます。下のスクリーンショットは、Linuxターミナルでviエディタを開いた状態を示しています。

viエディタがLinuxターミナルウィンドウで開きます

vi コマンドモード

  • viエディタはこのモードで起動し、コマンドのみを認識します。
  • このモードでは、カーソルを移動したり、テキストを切り取ったり、コピーしたり、貼り付けたりすることができます。
  • このモードでは、ファイルに加えた変更内容も保存されます。
  • コマンドは大文字と小文字を区別するので、正しい大文字小文字を使用してください。

vi 挿入モード

  • このモードは、ファイルにテキストを挿入するためのものです。
  • キーボードの「i」キーを押すと、コマンドモードから挿入モードに切り替えることができます。
  • 挿入モードに入ると、どのキーを押したとしても、現在作業中のファイルへの入力として認識されます。
  • コマンドモードに戻り、行った変更を保存するには、Escキーを押してください。

viエディタの使い方

viエディタを起動するには、ターミナル(CLI)を開いて次のように入力します。

vi <filename_NEW> or <filename_EXISTING>

既存のファイルを指定すると、エディタはそのファイルを開いて編集します。指定しない場合は、新しいファイルが作成されます。以下のスクリーンショットは、vi で新しいファイルを作成および編集している様子を示しています。

viエディタで新しいファイルを作成および編集する

VI編集コマンド

以下のvi編集コマンドを使用すると、テキストの挿入、削除、変更が可能です。コマンドモードで使用してください。

Command 詳細説明
i カーソル位置に挿入 (挿入モードになります)
a カーソルの後に書き込み (挿入モードになります)
A 行末に書き込みます (挿入モードになります)
ESC 挿入モードを終了する
u 最後の変更を元に戻す
U 行全体に対するすべての変更を元に戻す
o 新しい行を開きます (挿入モードになります)。
dd 行を削除
3dd 3行削除
D カーソル以降の行の内容を削除します
C カーソル以降の行の内容を削除し、新しいテキストを挿入します。 ESC キーを押して挿入を終了します。
dw 単語を削除
4dw 4 単語を削除
cw 言葉を変える
x カーソル位置の文字を削除
r 文字を置き換える
R カーソル以降の文字を上書きする
s カーソル下の文字を1文字置き換えて挿入を続けます
S 行全体を置き換えて、行の先頭から挿入を開始します。
~ 個々の文字の大文字と小文字を変更する

注意: これらのコマンドを実行するには、コマンドモードになっている必要があります。viエディタは大文字と小文字を区別するため、コマンドは正しい大文字と小文字で入力してください。間違ったコマンドを押すと、ファイルに意図しない変更が加えられる可能性があります。必要に応じて、a、A、またはoキーを押して挿入モードに入ることもできます。

ファイル内での移動

ファイル内を移動するには、コマンドモードにする必要があります。デフォルトのナビゲーションキーは以下のとおりですが、キーボードの矢印キーを使用することもできます。

Command 詳細説明
k カーソルを上に移動
j カーソルを下に移動
h カーソルを左に移動
l カーソルを右に移動

ファイルを保存して閉じる

エディタを終了してファイルへの変更を保存するには、コマンドモードになっている必要があります。以下のコマンドは、保存と終了を行う一般的な方法です。

Command 詳細説明
Shift+zz ファイルを保存して終了する
:w ファイルを保存するが、開いたままにしておく
Q! viを終了し、変更を保存しないでください。
:WQ ファイルを保存して終了する

以下のスクリーンショットは、viエディタで開かれたファイルを示しており、保存して閉じる準備ができています。

viエディタでファイルが開かれ、保存して終了する準備ができました。

よくあるご質問

Vim Viは「Vi Improved」の略で、viの拡張版です。構文ハイライト、多段階の元に戻す/やり直し、ウィンドウ分割、タブ、単語補完などの機能が追加されています。定番のviはほぼすべてのUnixシステムで利用できるため、そのコマンドを覚えておく価値があります。

コマンドモードでは、/ を押してからテキストを入力し、Enter キーを押すと前方検索、? を押すと後方検索ができます。n を押すと次の一致箇所にジャンプし、N を押すと前の一致箇所にジャンプします。設定を変更しない限り、検索では大文字と小文字が区別されます。

コマンドモードでは、yy で現在の行をコピー(ヤンク)し、p でカーソルの下に貼り付けます。3yy のように数字を入力すると、複数の行を一度にコピーできます。dd で削除すると、削除したテキストもクリップボードにコピーされるため、p で別の場所に貼り付けることができます。

コマンドモードで、:set number(または:set nu)と入力してEnterキーを押すと、左余白に行番号が表示されます。:set nonumberを実行すると、行番号は非表示になります。行番号があると、特定の行にジャンプしたり、エラーメッセージを追跡したりするのが簡単になります。

Nanoは、ショートカットを画面に表示し、モード分けも不要なシンプルなエディタなので、初心者にも使いやすい。一方、viエディタは習得に時間がかかるものの、熟練ユーザーにとっては高速で、ミニマルサーバーを含む多くのシステムにデフォルトでインストールされている。

ファイルを読み取り専用モードで開くには、`vi -R filename` コマンドを実行するか、`view` コマンドを使用します。これにより、誤って内容を変更することなく、安全に閲覧や検索を行うことができます。編集内容を保存する場合は、`:w!` コマンドで強制的に書き込みを行うことができます。

AIアシスタントは、馴染みのないviコマンドの機能を説明したり、平易な英語の要求を適切なキー操作に変換したり、エラーのトラブルシューティングを行ったりすることができます。機械学習ベースのツールは、次の編集内容を提案することもできるため、viの学習曲線が急峻であることで知られていますが、学習の負担を軽減できます。

Yes. GitHubコパイロット 公式プラグインを提供しています Vim (NAIST) と Neovim これは、挿入モードで入力する際に​​コード候補を提示する機能です。キーボード操作中心のワークフローにAIによるコード補完機能をもたらしますが、提示された候補を承認または拒否するかどうかはユーザー自身が決定します。