目標
「viエディタ」コマンドモードでの次の操作を確認して利用できる。
- 色々なページの移動方法
- テキストの検索・置換
- その他の便利な操作
コマンドモードでの色々な操作
「ページ移動」
「ページ移動」のコマンド
ページ移動コマンド | 操作内容 |
Ctrl + f | 次のページへ移動 |
Ctrl + b | 前のページへ移動 |
Ctrl + d | 半画面ページを次へ移動 |
Ctrl + u | 半画面ページを前へ移動 |
「テキストの検索・置換」
「テキストの検索」のコマンド
検索コマンド | 操作内容 |
/検索文字列 | カーソル以降の文字列の検索(「n」で次へ移動「N」で前へ移動) |
?検索文字列 | カーソル以前の文字列の検索(「n」で次へ移動「N」で前へ移動) |
:noh | 検索文字列へのハイライトの解除 |
「/検索文字列」の実行
事前準備:viエディタで「rocky1.txt」を開てい行番号を表示します。その後、15行目にカーソルを移動して「/soccer」と入力します。
入力が終わったら「Enterキー」を押下して実行します。結果は直後の「soccer」の一文字目が白くハイライトされて選択されています。その他の「soccer」は黄色くハイライトされています。
「/検索文字列」は検索する文字列の中でカーソルの後ろにある合致する最初の検索文字列を選択します。ハイライトがされたら「n」と「N」を何度か打ち込んで選択される「soccer」が順番に変更されるのが確認できます。
「:noh」の実行
「:noh」と入力して「Enterキー」で実行します。ハイライトが消えて検索が終了します。
「?検索文字列」の実行
再度15行目にカーソルをあわせて、今度は「?soccer」と入力します。今度はカーソルのあった直前の合致する検索文字列を選択した状態になります。
「:noh」と入力して検索を終了します。
「テキストの置換」のコマンド
置換コマンド | 操作内容 |
:s /検索文字列/置換文字列/ | カーソル位置の行の検索文字列をひとつだけ置換 |
:s /検索文字列/置換文字列/g | カーソル位置の行の検索文字列をすべて置換 |
:s /検索文字列/置換文字列/gc | カーソル位置の行の検索文字列をすべて置換(確認あり) |
:%s /検索文字列/置換文字列/g | ファイル内の検索文字列をすべて置換 |
:%s /検索文字列/置換文字列/gc | ファイル内の検索文字列をすべて置換(確認あり) |
「:s /検索文字列/置換文字列/」の実行
検索のときと同様に15行目にカーソルをあわせて、「:s /soccer/football/」と入力します。カーソル位置の行に検索文字列が存在しない場合は置換されません。
続けてカーソルを10行目に移動して「:s /soccer/football/」コマンドを入力します。
10行目の「soccer」が「football」に置換されます。
「:%s /検索文字列/置換文字列/g」の実行
最後にファイル全体の合致する検索文字列を全て変更してみたいと思います。
「:%s /soccer/football/g」と入力します。
「Enterキー」を押下します。ファイル内の「soccer」が全て「football」に置換されています。
「その他の便利な操作」
「その他の便利な操作」のコマンド
コマンド | 操作内容 |
Ctrl + g | カーソル位置の詳細情報を表示 |
:!コマンド | viエディタを利用しながらLinuxコマンドを実行する |
:r!コマンド | コマンド実行結果をファイルへ出力 |
:rファイル名 | 指定ファイルをカーソルのある行の一行下へ出力 |
:e! | 前回の保存状態でファイルを保存(変更の破棄) |
「Ctrl + g」の実行
ファイルの名前や行数がファイルの左下に表示されます。
「”rocky1.txt” [Modified] 30 lines –83%–」の部分
「:!コマンド」の実行
「:!」に続けて利用したいコマンドを入力します。
「Enterキー」を押下します。コマンドが実行されます。再度「Enterキー」を押下すると
viエディタに操作が戻ります。
再度「Enterキー」を押下します。操作がviエディタに戻りました。
「:r!コマンド」の実行
「:r!コマンド」でLinuxコマンドを実行するとコマンドの出力をファイルに書き込むことができます。「:r!ls -l」と入力します。(!とコマンドの間は空けません)
「Enterキー」を押下します。rocky1.txtの中身にコマンドの出力が書き込まれました。
「:e!」の実行
ファイルの状態を最後の保存状態に戻して再度開くことができます。「:e!」を実行します。
実行結果は次の通りです。「football」の文字列が消えて「soccer」に戻っています。
「:r ファイル名」の実行
「rocky1.txt」を「:wq」で閉じて「rocky2.txt」を開きます。
「:r rocky1.txt」と入力します。(rとファイル名の間は半角スペースが必要です。)
「Enterキー」を押下します。「rocky1.txt」の内容が書き込まれました。
今回は以上になります。
ブックマークのすすめ
「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。