このLinuxチュートリアルでは、VIエディターのショートカット、いくつかのヒント、およびDevOpsエンジニアと開発者が使用できるいくつかの生産性ハックについて学習します。
DevOpsエンジニアまたはLinuxシステムで作業している人の場合、ファイルの編集にはviエディターがよく使用されます。ただし、GUIエディターとは異なり、初めてのVIエディターのユーザーは、編集を制御するためのさまざまなキーストロークのために脅迫されます。
ただし、時間を節約して生産性を向上させることはできます 少し練習して、日常のアクティビティでviエディターのショートカットを使用します。コツをつかんだら、VIエディターが大好きになります。さらに、Linuxエコシステムの非常に強力なテキストエディタです。
初心者向けのVIエディタのショートカット
この記事では、日常のLinuxアクティビティで使用できる必要なVIエディターのショートカットについて説明します。
また、DevOpsのシェルスクリプトの学習に関する記事も書いています。 VIエディターのハックは、シェルスクリプトを操作するときにも役立ちます。
VIエディタモード
ショートカットに入る前に、vimエディターの5つのモードを理解する必要があります。
VIエディタには5つのモードがあります。
- 通常モード
- 挿入モード
- ビジュアルモード
- コマンドモード
- 置換モード
VIエディタでファイルを開くと、デフォルトのモードは通常モード
です。 。このモードでは、カーソルを使用して、さまざまなショートカットを使用してファイルを参照できます。
以下は、カーソルをさまざまな方向に移動するためのショートカットです。ショートカットに数字を追加すると、動きが倍増します。
VIショートカット | アクション |
h | 1文字左に移動します(4hは4文字左に移動します) |
j | 1行下に移動します(4j-> 4行下に移動します) |
k | 1行上に移動します(5k-> 5行上) |
l | 1文字右に移動します(8l-> 8文字右) |
次に、単語を閲覧するためのショートカットを学習します。ここでは、小文字と大文字の機能が異なります。
VIショートカット | アクション |
w | 単語の先頭に移動します。 W 空白の後の次の単語の先頭に移動します。 |
b | 前の単語の先頭に移動します。 B 空白の前の前の単語の先頭に移動します。 |
e | 単語の最後に移動しました。E 空白の前の単語の最後に移動します。 |
ファイルを操作するときは、ほとんどの場合、次のショートカットが必要です。
VIショートカット | アクション |
0 | 行の先頭に移動します |
$ | 行末に移動します |
挿入モードでは、ファイルを編集できます。以下は編集のショートカットです。ここでも、小文字と大文字の機能は異なります。
VIショートカット | アクション |
i | VIエディターがさらに挿入します。 (私 –>挿入モードで行の先頭に移動します) |
a | 挿入モード( A )でカーソルが次の文字に移動します –挿入モードで行の終わりに移動します) |
o | 挿入モードでカーソルの現在の位置から新しいものを挿入します。 ( O –挿入モードでカーソルの現在の位置の上に新しい行を挿入します) |
ビジュアルモードを使用すると、VIエディタでテキストを簡単に選択および変更できます。ビジュアルモードに入るには、「 v
」と入力するだけです。 「。
複数の行を選択できるようになります。
コマンドモード
コマンドモードでは、コマンドを実行したり、テキストを操作したりできます。たとえば、ファイル全体でテキストを見つけて置き換えます。
コマンドモードを使用するには、次のことを知っておく必要があります。
VIショートカット | アクション |
s | コマンドモードを開始するには |
% | ファイル内のすべての行を考慮します。 |
s | 置換用。 |
/ g | グローバルな変化 |
コマンドモードの例のいくつかについては、この記事の後半で説明します。
置換モードは、ドキュメント内の既存のテキストを置換することです。
作品の最初の文字にカーソルを置き、「 R
」と入力します 通常モードでは」。入力を開始すると、単語が置き換えられます。
VIエディタ環境のセットアップ
ショートカットとコマンドに飛び込む前に、viエディターの設定を理解する必要があります。 〜/ .vimrc
で、必要なすべてのviエディターパラメーターを設定できます。 デフォルトでロードされるファイル。
vimrc
がない場合 ファイル、 touch〜/ .vimrc
を使用して作成します
vimrc
で必要になる可能性のある一般的なパラメータは次のとおりです ファイル。
set number set autoindent set shiftwidth=4 set softtabstop=4 set expandtab
セット番号コード> パラメータは、viエディタの行番号を設定します。
:set nonumber
を実行すると、これを一時的に設定および設定解除できます。 編集者から
Viエディターでのコピーアンドペーストの切り取り
ビジュアルモードを使用してコピーして貼り付けるには、以下の手順に従ってください。
-
ESC + v
を使用してビジュアルモードに入ります カーソルを移動して、コピーする文字列を選択します。 - 大文字の
V
を使用する 行全体を選択します。 -
d
を使用する カットまたはy
コピーします。 - カーソルを目的の場所に置き、
p
を押します 貼り付けます。
次のGIFはデモを示しています。
行と単語の削除
VIエディタで行や単語を削除する方法は次のとおりです。
- 削除する行にカーソルを置き、
dd
を押します。 その行を削除するには - 特定の行数を削除するには、
d10d
を使用できます 。これにより、カーソルから始まる10行が削除されます 。必要に応じて、10の代わりに任意の数を指定できます。 - 特定の行を選択して削除するには、
Shift + V
を使用します (ビジュアルモード)次に、上下の矢印を使用して選択します。行を選択したら、d
を押します 選択したすべての行を削除します。
単語を削除するには、挿入モード(ESC + I)を有効にすると、次のことができます。
-
Ctrl + w
カーソルが置かれている最後の単語を削除します。 -
Ctrl + u
カーソルのすぐ左にあるすべての単語を削除します。
テキストの検索と置換
/
を押すと、ファイルを検索できます 通常モードで。
たとえば、キーワード data
を検索する場合 、次のことを行う必要があります。
/data
次の出現を見つけるには、 n
を押すだけです
注: 検索では大文字と小文字が区別されます。大文字と小文字を区別しない検索が必要な場合は、
:set ignorecase
を設定する必要があります エディターで。
コマンドモードに入ります( ESC +:
)そして、パターンを置き換えるために次の構文を使用します。
:%s/pattern/replace/g
次の構文を使用して、すべてのオカレンスをプロンプトに置き換えます。すべてのオカレンスが強調表示されます。置き換えるオカレンスとそのままにするオカレンスを選択できます。
:%s/pattern/replace/gc
大文字と小文字に変換
いずれの場合もテキスト変換の場合は、カーソルをその行に置いたまま、通常モード( ESC
)で次のショートカットを使用します。 。
- 行を大文字に変換するには、
gUU
を使用します - 行を小文字に変換するには、
guu
を使用します
ViEditorで別のファイルからコンテンツをコピーする
これはあなたが頻繁に行うことではありません。ただし、編集中の現在のファイルに別のファイルの内容を追加する必要がある場合は、目的の行にカーソルを置くと、コマンドモードで次の構文を使用できます。指定したファイルの内容がカーソルの次の行からコピーされます。
:r /path/to/file
たとえば、CPU情報を既存のファイルにコピーする場合は、次のコマンドを使用します。
:r /proc/cpuinfo
コマンドからのコンテンツの実行/コピー
コマンドモード( ESC +:
)で、エディター内で他のLinuxコマンドを実行できます。 )
エディターからコマンドを実行するには、を使用できます。 <コマンド>
。たとえば、
:! pwd
コマンドの出力を編集ファイルにコピーする場合は、:r!を使用できます。 <コマンド>。
例:
eth0
を取得してコピーするには IPアドレス、次のことができます。
:r! ip addr | grep eth0 | grep inet | awk '{print $2}' | cut -d / -f1
Viエディタのヘルプ
VIエディターでできることはたくさんあります。
VIエディターのパワーユーザーになりたい場合は、VIMチューター機能を利用する必要があります。
vimtutor
ターミナルでコマンドラインチュートリアルが開きます。また、通常のすべてのviコマンドを使用して、ヘルプドキュメントを参照できます。
まとめ
VIは非常に強力なエディターです。
全機能とすべてのviエディタのショートカットを理解する 時間と絶え間ない練習が必要です。
私は、viエディターでの作業中に時間を節約するいくつかのコマンド、ヒント、およびviエディターのショートカットについて説明しました。
ヒントがあると思われる場合は、コメントセクションで共有してください。他の人を助けることができます。
DevOpsエンジニアとして始めている場合は、重要なLinuxトラブルシューティングコマンドも確認してください。