【Linux】viの便利なコマンドで超効率化を行う!

スクリプト

Linuxのviのコマンドで便利なものをご紹介します。

viエディタで設定ファイルの編集など、ひとつひとつきちんと修正しているけど何か時間がかかってしまう。

面倒くさいやり方になっている気がするけど、どう効率化すればわからない

そういった疑問をもっているエンジニアの為に、Linuxのviで便利なコマンドを現役エンジニアの筆者がまとめます。

WindowsサーバーやLinuxサーバーの運用構築を11年以上おこなってきました。その経験を元に知識を公開していきます!

Linuxサーバーエンジニア

この記事を読んでviのコマンドをものにすれば、viエディタの作業効率が上がります。

目次

Linuxのviエディタのコマンド

コマンド

Linuxのviエディタのコマンドを要件別にまとめます。

Linuxのviエディタのコマンドの種類
  • 編集系viコマンド
  • 移動系viコマンド
  • 保存系viコマンド
  • 編集モード移行コマンド
  • viエディタ設定コマンド

それではご紹介します。

注意:Linuxのviエディタでは編集モードとコマンドモードがあり、編集モードの時はEscを押してコマンドモードに変更してください。

編集系viコマンド

コマンド

編集する時に使えるviコマンドをまとめます。

コマンド効果
dd1行まとめて消去
yy1行まとめてコピー
pペースト
:%d全て消去
u編集の取り消し
.最後の編集の繰り返しの動作
~カーソルの文字を大文字⇔小文字に変更
編集する時に使えるviコマンド一覧表

行のコピペは最も使用するので覚えて下さい。

編集の取り消ししたい場合はCtrl+zしてしまいがちですが、Linuxではviエディタ終了してしまいます。編集の取り消しはコマンドモードでuを押しましょう!

移動系viコマンド

移動
Business Creative Startup Idea Mobile App Concept. Social Media Network Technology Online Research Application. Vector Illustration.

移動する時に使えるviコマンドをまとめます。

コマンド効果
G一番最後の行に移動
1G一番最初の行に移動
nGn行目に移動
0選択している行の一番先頭へ移動
$選択している行の一番末尾へ移動
Ctrl+f画面を下に向けて1ページスクロール
Ctrl+b画面を上に向けて1ページスクロール
移動する時に使えるviコマンド一覧表

一番下にカーソルを持っていく事は多いのではないでしょうか?コマンドで移動しましょう!

一番下だけでなく一番上や行数指定して移動も可能です。

カーソルの先頭や末尾にも移動できます。

検索して対象の文字列に移動するviコマンドをまとめます。

コマンド効果
/検索文字列カーソルから下に向かって検索
?検索文字列カーソルから上に向かって検索
n検索した後、更に次の文字列へ移動
N検索した後、更に前の文字列へ移動
検索して対象の文字列に移動するviコマンド一覧表

Linuxのviエディタで文字列を検索する時の詳細な説明は、以下の記事を参考にしてください。

保存系viコマンド

ハードディスク

保存する時に使えるviコマンドをまとめます。

コマンド効果
:q!保存せずにviエディタ終了
:wq保存してviエディタ終了
:w保存
:w ファイル名指定したファイル名で別名保存
:wq ファイル名指定したファイル名で別名保存してviエディタ終了
:e!編集を破棄して再読み込み
:! コマンド編集中にコマンド実行
保存する時に使えるviコマンド一覧表

保存して終了や破棄して終了は基本中の基本ですので、是非覚えましょう!

viエディタを終了する時のやり方の詳細は、以下の記事を参照下さい。

別名で保存も出来ます。

編集を破棄して読み込みはよく使用するので、覚えると効率化できます。

編集モード移行コマンド

編集

コマンドモードから編集モードへ移行して編集する時のviコマンドをまとめます。

コマンド効果
iカーソルの前から編集可能になる
Iカーソルの先頭から編集可能になる
aカーソルの後から編集可能になる
Aカーソルの末尾から編集可能になる
oカーソルの下に行を挿入して編集可能になる
Oカーソルの上に行を挿入して編集可能になる
編集モードへ移行する時のviコマンド一覧表

行を挿入して編集可能にする事で効率化できますね。

viエディタ設定コマンド

設定

viエディタの設定を行えるコマンドをまとめます。

コマンド効果
:set numberファイルの行数を表示する
:set nonumberファイルの行数表示を解除する
:set list行末などの表示されない文字も表示する
:set nolist行末などの表示されない文字表示を解除する
編集モードへ移行する時のviコマンド一覧表

行数を表示して指定した行に移動などもできますね。「:set number」を実行して行数を表示して「nG」でn行目にカーソル移動できます。

管理人

Linuxのviエディタのコマンドについて説明しました。

viエディタの使い方については以下の記事を参照してください。

スクリプト

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次