LFCS #2: Linux で Vi/Vim をインストールして使用する方法
数か月前、Linux Foundation は、世界中の個人が Linux システム上で基本から中級のシステム管理タスクを実行できることを確認できるようにするために、LFCS (Linux Foundation Certified Sysadmin) 認定資格を開始しました。
Linux 管理タスクには、直接のトラブルシューティングとメンテナンスに加えて、上級サポート チームに問題を提起する時期を知るためのインテリジェントな意思決定が含まれます。
このシリーズは、「LFCS (Linux Foundation Certified Sysadmin) の準備」パート 1 ~ 33 というタイトルで、次のトピックを扱います。
- Part 1
Linux で「Sed」コマンドを使用してファイルを操作する方法
- Part 2
Linux に Vi/Vim をインストールして使用する方法
- Part 3
-
Linux でファイルとディレクトリを圧縮し、ファイルを検索する方法
- Part 4
ストレージデバイスのパーティショニング、ファイルシステムのフォーマット、およびスワップパーティションの構成
- Part 5
Linux でのローカルおよびネットワーク (Samba および NFS) ファイルシステムのマウント/アンマウント
- Part 6
パーティションを RAID デバイスとして組み立てる – システムバックアップの作成と管理
- Part 7
システム起動プロセスとサービス (SysVinit、Systemd、および Upstart) の管理
- Part 8
ユーザーとグループ、ファイル権限、および Sudo アクセスを管理する方法
- Part 9
Yum、RPM、Apt、Dpkg、Aptitude、Zypper を使用した Linux パッケージ管理
- Part 10
基本的なシェル スクリプトとファイル システムのトラブルシューティングを学習する
- Part 11
vgcreate、lvcreate、および lvextend コマンドを使用して LVM を管理および作成する方法
- Part 12
インストールされたヘルプドキュメントとツールを使用して Linux を探索する方法
- Part 13
-
Grand Unified Bootloader (GRUB) を構成およびトラブルシューティングする方法
- Part 14
Linux プロセスのリソース使用状況を監視し、ユーザーごとにプロセス制限を設定
- Part 15
Linux システムでカーネル ランタイム パラメータを設定または変更する方法
- Part 16
Linux での SELinux または AppArmor を使用した強制アクセス制御の実装
- Part 17
ユーザーとグループのアクセス コントロール リスト (ACL) とディスク クォータを設定する方法
- Part 18
ネットワークサービスのインストールと起動時の自動起動の構成
- Part 19
匿名ログインを許可する FTP サーバーのセットアップに関する究極のガイド
- Part 20
基本的な再帰キャッシュ DNS サーバーのセットアップとドメインのゾーンの構成
- Part 21
MariaDB データベース サーバーのインストール、セキュリティ保護、パフォーマンス チューニングの方法
- Part 22
ファイル システム共有用に NFS サーバーをインストールおよび構成する方法
- Part 23
-
SSL 証明書を使用した名前ベースの仮想ホスティングで Apache をセットアップする方法
- Part 24
Linux でサービスへのリモート アクセスを有効にするために iptables ファイアウォールをセットアップする方法
- Part 25
Linux を静的および動的にトラフィックを処理するルーターに変える方法
- Part 26
Cryptsetup ツールを使用して暗号化されたファイルシステムとスワップをセットアップする方法
- Part 27
システムの使用状況、停止を監視し、Linux サーバーのトラブルシューティングを行う方法
- Part 28
パッケージをインストールまたは更新するためにネットワーク リポジトリをセットアップする方法
- Part 29
ネットワークのパフォーマンス、セキュリティ、トラブルシューティングを監査する方法
- Part 30
仮想マシンとコンテナをインストールおよび管理する方法
- Part 31
プロジェクトを効率的に管理するために Git の基本を学ぶ
- Part 32
Linux で IPv4 および IPv6 アドレスを構成するための初心者ガイド
- Part 33
Ubuntu でネットワーク ボンディングとブリッジングを作成するための初心者ガイド
この投稿は 33 のチュートリアル シリーズのパート 2 です。このパートでは、LFCS 認定試験に必要な基本的なファイル編集操作と Vi/Vim エディターのモードについて説明します。
Vi エディターで基本的なファイル編集操作を実行する
Vi は、Unix 用に作成された最初の全画面テキスト エディタです。小さくてシンプルであることを意図していましたが、NotePad++ や gedit などの GUI テキスト エディタのみに慣れている人にとっては少し難しいかもしれません。例。
Vi を使用するには、後でその強力なテキスト編集手順について学び始めるために、この強力なプログラムが動作する 3 モードをまず理解する必要があります。
最新の Linux ディストリビューションには、vim (「Vi 改良版 」) として知られる vi のバリアントが同梱されており、これは、オリジナルの vi はそうします。そのため、このチュートリアルでは、vi と vim を同じ意味で使用します。
ディストリビューションにVim がインストールされていない場合は、次のようにインストールできます。
sudo apt install vim [On Debian, Ubuntu and Mint]
sudo yum install vim [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/vim [On Gentoo Linux]
sudo apk add vim [On Alpine Linux]
sudo pacman -S vim [On Arch Linux]
sudo zypper install vim [On OpenSUSE]
Vi を学習する必要があるのはなぜですか?
vi エディターを学ぶべき理由が少なくとも 2 つあります。
- vi は POSIX で必要とされるため、(使用しているディストリビューションに関係なく) いつでも利用できます。
- vi は大量のシステム リソースを消費せず、キーボードから指を離さずに考えられるあらゆるタスクを実行できます。
さらに、vi には非常に広範な組み込みマニュアルがあり、プログラムの開始直後に :help
コマンドを使用して起動できます。この組み込みマニュアルには、vi/m のマニュアル ページよりも多くの情報が含まれています。
Vi エディターの起動
vi を起動するには、コマンド プロンプトに「vi」と入力します。
vi
次に、i
を押して挿入 モードに入り、入力を開始できます。
vi/m を起動するもう 1 つの方法は次のとおりです。
vi filename
これにより、filename という名前の新しいバッファ (バッファについては後ほど説明します) が開き、後でディスクに保存できます。
Vi モードを理解する
Vi エディタには複数のモードがあり、それぞれが明確な目的を果たし、ユーザーが特定のアクションを実行できるようになります。
注意すべき主なモードは次のとおりです。
Vi コマンドライン モード
コマンド モードでは、vi を使用すると、ユーザーはファイル内を移動し、vi コマンドを入力できます。これは、大文字と小文字を区別して 1 つまたは複数の短い組み合わせです。もっと文字を。ほとんどすべてのコマンドには、接頭辞として数字を付けることができ、その回数だけコマンドを繰り返すことができます。
たとえば、yy (または Y) は現在の行全体をコピーしますが、3yy (または 3Y) は現在の行全体をコピーします。現在の行全体と次の 2 行 (合計 3 行)。
Esc キーを押すと、いつでも (作業中のモードに関係なく) コマンド モード に入ることができます。コマンド モードでは、キーボードのキーがテキストではなくコマンドとして解釈されるため、初心者は混乱する傾向があります。
Vi Ex モード
ex モードでは、ファイルを操作できます (現在のファイルの保存や外部プログラムの実行など)。このモードに入るには、コマンド モードでコロン (:
) を入力し、その後に使用する必要がある元モード コマンドの名前を入力する必要があります。その後、vi は自動的にコマンド モードに戻ります。
Vi 挿入モード
挿入 モード (このモードに入るには通常、文字 i
が使用されます) では、単純にテキストを入力します。ほとんどのキーストロークにより、画面にテキストが表示されます (重要な例外の 1 つは Esc キーで、挿入モードを終了してコマンド モードに戻ります)。
Vi コマンドの使用法
次の表は、一般的に使用される vi コマンドのリストを示しています。ファイル編集コマンドは、コマンドに感嘆符を追加することで強制できます (たとえば、:q!
は保存せずに終了を強制します)。
- Key Command
説明
- h or left arrow
1 文字左に移動
- j or down arrow
1行下に進みます
- k or up arrow
1行上に進みます
- l (lowercase L) or right arrow
1 文字右に移動
- H
画面の上部に移動します
- L
画面の一番下に移動します
- G
ファイルの最後に移動します
- w
1 単語右に移動
- b
1 単語左に移動
- 0 (zero)
現在の行の先頭に移動します
- ^
現在の行の最初の空白以外の文字に移動します
- $
現在の行の末尾に移動します
- Ctrl-B
1画面戻ります
- Ctrl-F
1画面進む
- i
現在のカーソル位置に挿入
- I (uppercase i)
現在の行の先頭に挿入
- J (uppercase j)
現在の行を次の行に結合します (次の行に移動)
- a
現在のカーソル位置の後に追加
- o (lowercase O)
現在の行の後に空行を作成します
- O (uppercase o)
現在の行の前に空行を作成します
- r
現在のカーソル位置の文字を置換します
- R
現在のカーソル位置に上書きします
- x
現在のカーソル位置の文字を削除します
- X
現在のカーソル位置の直前(左側)の文字を削除します
- dd
現在の行全体を(後で貼り付けるために)切り取ります
- D
現在のカーソル位置から行末までを切り取ります (このコマンドは d$に相当します)。
- yX
移動コマンド X を与え、現在のカーソル位置から適切な数の文字、単語、または行をコピー (ヤンク) します。
- yy or Y
現在の行全体をヤンク(コピー)します。
- p
現在のカーソル位置の後ろ(次の行)に貼り付けます
- P
現在のカーソル位置の前(前の行)に貼り付けます
- . (period)
最後のコマンドを繰り返します
- u
最後のコマンドを元に戻す
- U
最後の行の最後のコマンドを元に戻します。これは、カーソルがその行上にある限り機能します。
- n
検索で次の一致を見つける
- N
検索で以前の一致を見つける
- :n
次のファイル;編集対象に複数のファイルが指定されている場合、このコマンドは次のファイルを読み込みます。
- :e file
現在のファイルの代わりにファイルをロードします。
- :r file
現在のカーソル位置の後ろ(次の行)にファイルの内容を挿入します。
- :q
変更を保存せずに終了します。
- :w file
現在のバッファをファイルに書き込みます。既存のファイルに追加するには、:w >> file を使用します。
- :wq
現在のファイルの内容を書き込んで終了します。 ×に相当!とZZ
- :r! command
コマンドを実行し、現在のカーソル位置の後ろ (次の行) に出力を挿入します。
Vi オプション
次のオプションは、vim の実行中に便利です (~/.vimrc ファイルに追加する必要があります)。
echo set number >> ~/.vimrc
echo syntax on >> ~/.vimrc
echo set tabstop=4 >> ~/.vimrc
echo set autoindent >> ~/.vimrc
- セット番号 は、vi が既存または新しいファイルを開いたときの行番号を示します。
- syntax on は、コードと設定ファイルを読みやすくするために (複数のファイル拡張子に対して) 構文の強調表示をオンにします。
- set tabstop=4 は、タブ サイズを 4 スペースに設定します (デフォルト値は 8)。
- set autoindent は、前のインデントを次の行に引き継ぎます。
Vi でのテキストの検索と置換
vi には、検索に基づいてカーソルを特定の場所 (単一行またはファイル全体) に移動する機能があります。ユーザーの確認の有無にかかわらず、テキストの置換を実行することもできます。
行内を検索する
f
コマンドは行を検索し、現在の行内で次に出現する指定文字にカーソルを移動します。
たとえば、コマンド fh
は、現在の行内の文字 h
の次のインスタンスにカーソルを移動します。 f
という文字も検索している文字も画面上のどこにも表示されませんが、Enter を押すとその文字が強調表示されることに注意してください。
たとえば、コマンド モードで f4
を押すと、次のような結果が得られます。
ファイル全体の検索
/
コマンドを使用し、その後に検索する単語またはフレーズを入力します。検索は、n
コマンドを使用して前の検索文字列を使用するか、(N
コマンドを使用して) 次の検索文字列を使用して繰り返すことができます。これは、コマンド モードで /Jane
と入力した結果です。
テキストの検索と置換
Vi はコマンド (sed と同様) を使用して、ある範囲の行またはファイル全体に対して置換操作を実行します。
ファイル全体の単語「old
」を「young
」に変更するには、次のコマンドを入力する必要があります。
:%s/old/young/g
注意: コマンドの先頭にあるコロン。
コロン (:
) は ex コマンドを開始します。この場合は s
(置換用)、%
は最初の行から最後の行までを意味するショートカット (範囲は「行 n から行 m まで」を意味する n
,m
として指定することもできます) > ”)、old は検索パターン、young は置換テキスト、g
は出現するたびに置換を実行することを示しますファイル内の検索文字列。
あるいは、コマンドの末尾に c
を追加して、置換を実行する前に確認を求めることもできます。
:%s/old/young/gc
元のテキストを新しいテキストに置き換える前に、vi/m は次のメッセージを表示します。
- y: 置換を実行します (はい)
- n: このオカレンスをスキップして次のオカレンスに進みます (いいえ)
- a: パターンのこのインスタンスと後続のすべてのインスタンスで置換を実行します。
- q または Esc: 置換を終了します。
- l (小文字の L): この置換を実行して終了します (最後)。
- Ctrl-e、Ctrl-y: それぞれ下と上にスクロールして、提案された置換のコンテキストを表示します。
Vi での複数のファイルの編集
コマンド プロンプトに「vim file1 file2 file3」と入力しましょう。
vim file1 file2 file3
まず、vim は file1 を開きます。次のファイル (file2) に切り替えるには、:n
コマンドを使用する必要があります。前のファイルに戻りたい場合は、:N
がその役割を果たします。
file1 から file3 に切り替えるため。
a). :buffers
コマンドは、現在編集中のファイルのリストを表示します。
:buffers
b). コマンド :buffer 3
(末尾の s
なし) は、編集のために file3 を開きます。
上の画像では、シャープ記号 (#
) はファイルが現在開いているがバックグラウンドで存在していることを示し、%a
は現在編集中のファイルを示しています。
一方、ファイル番号の後の空白(上記の例では 3)は、そのファイルがまだ開かれていないことを示します。
一時的な Vi バッファー
連続するいくつかの行 (たとえば、4 としましょう) を a という名前の一時バッファ (ファイルに関連付けられていない) にコピーし、それらの行を現在の vi の後のファイルの別の部分に配置するにはセクションでは、次のことを行う必要があります…
ESC
キーを押して、vi コマンド モードになっていることを確認します。- コピーしたいテキストの最初の行にカーソルを置きます。
- 「a4yy」と入力して、現在の行と後続の 3 行を a という名前のバッファにコピーします。ファイルの編集を続けることができます。コピーした行をすぐに挿入する必要はありません。
コピーされた行の場所に到達したら、p または P コマンドの前に「a」を使用して、コピーされた行を < という名前のバッファに挿入します。 b>a:
- 「ap」と入力すると、バッファにコピーされた行が、カーソルが置かれている現在の行の後に挿入されます。
- 「aP」と入力して、バッファ a にコピーされた行を現在の行の前に挿入します。
必要に応じて、上記の手順を繰り返して、バッファーの内容をファイル内の複数の場所に挿入できます。このセクションのような一時バッファは、現在のウィンドウが閉じられると破棄されます。
まとめ
これまで見てきたように、vi/m は CLI 用の強力で多用途のテキスト エディタです。以下であなた独自のトリックやコメントを自由に共有してください。
更新: VI エディターのスキルを向上させたい場合は、次の 2 つのガイドを読んで、いくつかの点をガイドすることをお勧めします。 VI エディターの便利なトリックとヒント。
LFCS 電子書籍は現在購入可能です。今すぐコピーを注文して、認定 Linux システム管理者になるための旅を始めましょう!
Product Name | Price | Buy |
---|---|---|
The Linux Foundation’s LFCS Certification Preparation Guide | $19.99 | [Buy Now] |
最後になりましたが、次のリンクを使用して試験バウチャーを購入することを検討してください。これにより少額の手数料が得られ、この書籍を常に最新の状態に保つことができます。