Vim の高度な機能
この最後のステップでは、生産性を大幅に向上させる Vim の高度な機能について学びます。これには、テキストの検索、置換、複数ファイルの操作が含まれます。
テキストの検索
Vim でテキストを検索するには、以下の手順を行います。
- ノーマルモードで
/ を押します。
- 検索する語句を入力します。
Enter を押して検索を開始します。
n を押して次の一致箇所を見つけます。
N を押して前の一致箇所を見つけます。
検索の練習用にファイルを作成しましょう。
vim ~/project/search_example.txt
i で挿入モードに入り、以下のテキストを入力します。
Linux is a family of open-source Unix-like operating systems.
The Linux kernel was first released by Linus Torvalds.
Linux is widely used in servers, desktops, and embedded systems.
Linux distributions include Ubuntu, Fedora, and CentOS.
Many server environments run on Linux due to its stability.
では、検索の練習をしましょう。
Esc を押してノーマルモードにいることを確認します。
/Linux と入力して Enter を押します。
n を押して次の "Linux" の一致箇所に移動します。
N を押して前の一致箇所に移動します。
検索と置換
Vim では、置換コマンドを使用してテキストを置換できます。
- 現在の行で最初に一致するパターンを置換するには:
:s/old/new/
- 現在の行ですべての一致箇所を置換するには:
:s/old/new/g
- ファイル全体ですべての一致箇所を置換するには:
:%s/old/new/g
- 確認を求めながら置換するには:
:%s/old/new/gc
置換を試してみましょう。
Esc を押してノーマルモードにいることを確認します。
:%s/Linux/GNU\/Linux/g と入力して Enter を押します。
- これにより、ファイル全体の "Linux" が "GNU/Linux" に置換されます。
ファイルをスクロールして、置換が行われたことを確認します。
ファイルを保存して終了します。
:wq と入力して Enter を押します。
ビジュアルモード
Vim のビジュアルモードでは、操作を行う前にテキストを選択できます。
v - 文字単位のビジュアル選択を開始します。
V - 行単位のビジュアル選択を開始します。
Ctrl+v - ブロック単位のビジュアル選択(列を選択)を開始します。
ビジュアルモードの練習用に新しいファイルを作成しましょう。
vim ~/project/visual_example.txt
i で挿入モードに入り、以下を入力します。
Line 1: This is the first line for practicing visual mode.
Line 2: We can select parts of this text.
Line 3: Visual mode is very powerful.
Line 4: It allows for precise text manipulation.
Line 5: This is the last line of our example.
Esc を押してノーマルモードに戻ります。
では、ビジュアルモードの操作を試してみましょう。
- カーソルを "Line 2" の先頭に移動します。
V を押して行単位のビジュアル選択を開始します。
j を押して選択範囲を拡張し、"Line 3" を含めます。
d を押して選択した行を削除します。
2 行目と 3 行目が削除されたことが確認できるはずです。
複数ファイルの操作
1 つの Vim セッションで複数のファイルを編集できます。
- 複数のファイルを一度に開くには:
vim file1.txt file2.txt
- 次のバッファに切り替えるには:
:bn
- 前のバッファに切り替えるには:
:bp
- すべてのバッファを一覧表示するには:
:ls
- 特定のバッファに切り替えるには:
:b number または :b name
複数のファイルを作成して操作してみましょう。
vim ~/project/file1.txt ~/project/file2.txt
最初のファイルで、i で挿入モードに入り、以下を入力します。
This is the content of file1.txt.
We're practicing working with multiple files in Vim.
Vim を終了せずにこのファイルを保存します。
Esc を押してノーマルモードにいることを確認します。
:w と入力して Enter を押します。
次に、2 番目のファイルに切り替えます。
:bn と入力して Enter を押します。
i で挿入モードに入り、以下を入力します。
This is the content of file2.txt.
Switching between files in Vim is efficient.
このファイルを保存して Vim を終了します。
Esc を押してノーマルモードにいることを確認します。
:wq と入力して Enter を押します。
コメント付きの設定ファイルの作成
学んだ高度な機能を応用して、より複雑な設定ファイルを作成しましょう。
vim ~/project/advanced_config.conf
i で挿入モードに入り、以下を入力します。
## Server Configuration
## Last updated: 2023-10-20
[Database]
Host=localhost
Port=5432
User=dbuser
Password=secret
Database=myapp
[Web]
Host=0.0.0.0
Port=8080
Debug=true
LogLevel=info
[Security]
EnableSSL=true
SSLCert=/etc/ssl/certs/mycert.pem
SSLKey=/etc/ssl/private/mykey.pem
AllowedIPs=127.0.0.1,192.168.1.0/24
では、高度な編集を練習しましょう。
/localhost を使って "localhost" を検索します。
:s/secret/db_password/ を使って "secret" を "db_password" に置換します。
- ビジュアルモードを使って "AllowedIPs" 行を選択して削除します。
o を使って新しい行で挿入モードに入り、末尾に新しいセクションを追加します。
[Monitoring]
Enabled=true
Interval=60
AlertEmail=admin@example.com
ファイルを保存して終了します。
Esc を押してノーマルモードにいることを確認します。
:wq と入力して Enter を押します。
設定ファイルの内容を確認します。
cat ~/project/advanced_config.conf
素晴らしい仕事です!Vim の高度な機能を学び、練習しました。これにより、Linux でのテキスト編集がより生産的になります。