GNU/Linux >> Linux の 問題 >  >> Linux

Vim エディター (テキスト エディター) の操作

コマンド ライン モードで作業している場合は、Linux コンソールで動作する少なくとも 1 つのテキスト エディターに慣れる必要があります。 vi エディターは、Unix システムで使用される元のエディターです。コンソール グラフィック モードを使用してテキスト編集ウィンドウをエミュレートし、ファイルの行を表示したり、ファイル内を移動したり、テキストを挿入、編集、置換したりできます。

おそらく世界で最も複雑なエディターですが (少なくともそれを嫌う人の意見では)、何十年もの間 Unix 管理者の定番となっている多くの機能を提供します。 GNU プロジェクトが vi エディターをオープンソースの世界に移植したとき、彼らはそれにいくつかの改良を加えることにしました。 Unix の世界で見られる元の vi エディターとは似ていないため、開発者はそれを vi 改良版 (vim) に名前を変更しました。システム管理者の作業を楽にするために、ほとんどすべての Linux ディストリビューションは、vim プログラムを指す vi という名前のエイリアスを作成します:

# alias vi='vim'

vim の基本

vim エディターは、メモリ バッファー内のデータを操作します。 vim エディターを起動するには、編集するファイルを :vim コマンド (エイリアスがある場合は vi) とファイル名を入力するだけです

# vi /etc/fstab

ファイル名を指定せずに vim を起動した場合、またはファイルが存在しない場合、vim は編集用に新しいバッファ領域を開きます。コマンド ラインで既存のファイルを指定すると、vim はファイルの内容全体をバッファ領域に読み込みます。ここで、以下に示すように編集できるようになります。

vim エディターはセッションの端末タイプを検出し、フルスクリーン モードを使用してコンソール ウィンドウ全体をエディター領域として使用します。最初の vim 編集ウィンドウには、ファイルの内容 (存在する場合) と、ウィンドウの下部にあるメッセージ行が表示されます。ファイルの内容が画面全体を占めない場合、vim はファイルの一部ではない行にチルダを配置します。

下部のメッセージ行は、ファイルのステータスと vim インストールのデフォルト設定に応じて、編集されたファイルに関する情報を示します。ファイルが新しい場合、[New File] というメッセージが表示されます。

vim エディターには 2 つの操作モードがあります:

  • 通常モード
  • 挿入モード

編集のために最初にファイルを開く (または新しいファイルを開始する) と、vim エディターは通常モードに入ります。通常モードでは、vim エディターはキーストロークをコマンドとして解釈します。

挿入モードでは、vim は入力したすべてのキーをバッファー内の現在のカーソル位置に挿入します。挿入モードに入るには、i キーを押します。挿入モードを終了して通常モードに戻るには、キーボードの Escape キーを押します。

通常モードでは、矢印キーを使用してテキスト領域内でカーソルを移動できます (端末の種類が vim によって適切に検出されている場合)。 vim コマンドには、カーソルを移動するためのコマンドが含まれています:

  • 1 文字左に移動する
  • 1 行下に移動する (テキストの次の行)
  • 1 行上に移動する (テキストの前の行)
  • l 1 文字右に移動する

大きなテキスト ファイル内を 1 行ずつ移動するのは面倒です。幸いなことに、vim には作業を高速化するためのコマンドがいくつか用意されています。

  • PageDown (または Ctrl+F ) データを 1 画面分進める
  • PageUp (または Ctrl+B ) 1 画面分のデータを後方に移動する
  • G バッファの最後の行に移動
  • num G バッファ内の行番号 num に移動する
  • gg バッファの最初の行に移動

vim エディターには、コマンド ライン モードと呼ばれる通常モード内の特別な機能があります。コマンド ライン モードでは、追加のコマンドを入力して vim のアクションを制御できる対話型のコマンド ラインが提供されます。コマンド ライン モードに入るには、通常モードでコロン キーを押します。カーソルがメッセージ行に移動し、コマンドの入力を待つコロンが表示されます。コマンド ライン モードには、バッファーをファイルに保存して vim を終了するためのコマンドがいくつかあります。

  • q バッファデータに変更が加えられていない場合は終了します
  • クッ! バッファデータに加えられた変更を終了して破棄する
  • w 別のファイル名でファイルを保存するためのファイル名
  • wq バッファデータをファイルに保存して終了

データの編集

挿入モードでは、バッファにデータを挿入できます。ただし、バッファにデータを入力した後で、データを追加または削除する必要がある場合があります。通常モードでは、vim エディターはバッファー内のデータを編集するためのコマンドをいくつか提供します。次の表に、vim の一般的な編集コマンドをいくつか示します。

コマンド 説明
x 現在のカーソル位置の文字を削除します。
dd 現在のカーソル位置の行を削除します。
dw 現在のカーソル位置の単語を削除します。
d$ 現在のカーソル位置から行末まで削除
J 現在のカーソル位置の行末にある改行を削除します (行を結合します)。
前の編集コマンドを元に戻します。
a 現在のカーソル位置の後にデータを追加します。
現在のカーソル位置の行末にデータを追加します。
文字 現在のカーソル位置の 1 文字を char に置き換えます。
R テキスト Esc キーを押すまで、現在のカーソル位置のデータをテキストで上書きします。

一部の編集コマンドでは、数値修飾子を使用してコマンドを実行する回数を示すこともできます。たとえば、コマンド 2x 現在のカーソル位置から始まる 2 文字を削除し、コマンド 5dd 現在のカーソル位置の行から 5 行を削除します。

最新のエディターの標準機能は、データをカットまたはコピーして、ドキュメントの別の場所に貼り付ける機能です。 vim エディターは、これを行う方法を提供します。切り貼りは比較的簡単です。バッファからデータを削除できるコマンドはすでに見ました。ただし、vim がデータを削除すると、実際には別のレジスタに格納されたままになります。 p コマンドを使用して、そのデータを取得できます。

たとえば、dd コマンドを使用してテキスト行を削除し、それを配置するバッファ内の場所にカーソルを移動してから、p コマンドを使用できます。 p コマンドは、現在のカーソル位置の行の後にテキストを挿入します。これは、テキストを削除する任意のコマンドで実行できます。テキストのコピーは少しトリッキーです。 vim のコピー コマンドは y です (ヤンク用)。 d コマンドと同じ 2 番目の文字を y で使用できます (単語をヤンクするには yw、y$ 行末にヤンクします)。テキストをヤンクした後、テキストを配置する場所にカーソルを移動し、p コマンドを使用します。ヤンクされたテキストがその場所に表示されます。

ヤンクは、ヤンクしたテキストに影響を与えていないため、何が起こったかがわからないという点で注意が必要です。どこかに貼り付けるまで、何をヤンクしたかはわかりません。しかし、vim には、ヤンクを支援する別の機能があります。ビジュアル モードでは、カーソルを移動するとテキストが強調表示されます。ビジュアル モードを使用して、貼り付けのためにヤンクするテキストを選択します。ビジュアル モードに入るには、ヤンクを開始する位置にカーソルを移動し、v を押します。カーソル位置のテキストが強調表示されていることがわかります。次に、カーソルを移動して、ヤンクするテキストを覆います (行を下に移動して、複数行のテキストをヤンクすることもできます)。カーソルを移動すると、vim はヤンク領域のテキストを強調表示します。コピーしたいテキストをカバーしたら、y キーを押してヤンク コマンドを有効にします。レジスターにテキストを取得したので、貼り付けたい場所にカーソルを移動し、p キーを使用します。 コマンド。

検索と置換

vim search コマンドを使用して、バッファ内のデータを簡単に検索できます。検索文字列を入力するには、スラッシュ (/) キーを押します。カーソルはメッセージ行に移動し、vim はスラッシュを表示します。検索するテキストを入力し、Enter キーを押します。 vim エディターは、次の 3 つのアクションのいずれかで応答します。

  • 現在のカーソル位置の後に単語が表示される場合、テキストが表示される最初の位置にジャンプします。
  • 現在のカーソル位置の後に単語が表示されない場合、テキストが表示されるファイル内の最初の位置までファイルの末尾を折り返します (メッセージでこれを示します)。ファイル内にテキストが見つからないというエラー メッセージが表示されます。
  • 同じ単語の検索を続けるには、スラッシュ文字を押してから Enter キーを押すか、n キーを使用して次へ進みます。

置換コマンドを使用すると、テキスト内の単語を別の単語にすばやく置き換える (置換する) ことができます。代替コマンドを使用するには、コマンド ライン モードにする必要があります。代替コマンドの形式は次のとおりです。

:s/old/new/

vim エディターは、テキスト old の最初の出現箇所にジャンプし、テキスト new に置き換えます。複数のテキストを置換するために、substitute コマンドにいくつかの変更を加えることができます:

:s/old/new/g        ## to replace all occurrences of old in a line
:n,ms/old/new/g     ## to replace all occurrences of old between line numbers n and m
:%s/old/new/g       ## to replace all occurrences of old in the entire file
:%s/old/new/gc      ## to replace all occurrences of old in the entire file, but prompt for each occurrence


Linux
  1. Linuxの基本:vimを使用したテキスト編集の初心者向けガイド

  2. ViMテキストエディタ101ガイド

  3. コマンド例を含むvimチュートリアル

  1. edを使用してLinuxターミナルのテキストエディタを起動します

  2. Vemテキストエディタ–Vimの代替コマンドレイアウト

  3. Mac ターミナル vi[m] エディタ コマンド

  1. VimまたはViテキストエディタで単語を検索する方法

  2. UbuntuにVimテキストエディタをインストールする方法

  3. Vim Edit を使用した電子メール クライアント