【Linux便利集】viの使えるコマンド一通りまとめました

viのコマンドまとめ
  • このエントリーをはてなブックマークに追加
  • Pocket

viでは使えるコマンドが多数用意されている。

アンドゥや外部コマンドの実行をはじめ、画面分割なども可能だ。

viでは複数のファイルを同時に編集できるようになっていて、その場合一度に複数のバッファウィンドウを展開してその間を移動することになる。

こういった諸々を扱えるのがviのコマンドだ。このページではviコマンドで使えそうなものを一通りまとめている。参考にしていただければと思う。

vi中の外部コマンドの実行

テキスト編集をしていると、とっさに外部のコマンドを実行したくなるときがある。

「今編集しているファイルのディレクトリにどんなファイルがあるか?」などだ。その場合「:!<コマンド>」とすると外部コマンドが実行できる。

コマンドを実行した後は結果が表示されEnterを押すとvimに戻ってくる。一時的にシェルを立ち上げたい場合「:sh」と命令をするとシェルを呼び出すことができる。

:!<コマンド> 指定したコマンド実行

vi !

エンターを押すと結果が表示される。

「testfile.txt」がファイルとして存在することがわかる。

vi !コマンド

:!! 直前のコマンドを再度実行する

直前のコマンドを実行することもできる。

vi !!

この状態でエンターを押す。

vi !! after

直前に実行した「ls」コマンドが再度実行される。

:sh 一時的にシェルを起動する(exitでvimにもどる)

viの起動中に一時的にシェルを起動して操作をすることもできる。:shコマンドだ。

vi sh

この状態でエンターを入力すると以下のようにシェルが起動する。

vi sh 終了

setコマンドの使用

vimは set というコマンドでいろいろな設定項目を変更できる。この設定可能な項目は optionとよばれる。:set <option>というのが書式である。行番号の表示や自動インデントの有効化無効化などが代表的なオプション機能だろう。

:set number 行番号の表示を有効にする

こちらは有名なコマンドだ。:set numberで行番号を表示する。

:set number

省略系は下記だ。

:set nu

:set no number 行番号の表示を無効にする

行番号の表示をやめたいときは次の通りだ。

:set no number

set nonumber

:set numと同じ様に省略系は次のようになる。

:set nonu

:set showmatch 括弧の対応をうったえる(デフォルトで有効になっている)

図の通り、カッコの対応を強調するときには次のコマンドだ。

:set showmatch

デフォルトで有効になっているが、そのまま有効でいいだろう。ないと結構不便だ。

set showmatch

:set ignorecase 大文字小文字の区別せずに検索する

「/」で検索ができるが、その際に大文字と小文字は通常区別される。

:set ignorecase

コマンドを実行しておくと、大文字・小文字を気にしなくなる。

:set ignorecase

:set autoindent 自動インデントモードを有効にする

一度インデントしたところは次の行もインデントする。

:set autoindent

自動インデントモードを無効にするには次のとおりだ。

:set noautoindent

set noautoindent

:set all すべてのオプションを表示する

なかなか覚えられないコマンドも多いだろう。そんなときに「:set all」コマンドを叩くと、すべてのオプションを表示してくれる。

これはなかなか便利だ。

:set all

viでのアンドゥ

テキストを編集している最中にとっさに間違えたので一歩戻りたいというとき、Windowsでいうところの「Control+z」に相当するのが「u」である。基本的に「一歩戻る」作業をアンドゥという。

u (ノーマルモードの状態で)

vi undo defo

例えばこの状態で間違えて「dd」として「return 0」を削除してしまった場合

vi undo

その場合ノーマルモードで「u」を押すと一歩戻ってくれる。

vi undo defo

ファイル操作

一般的なファイル操作、ファイルのオープンやファイルの保存などもvimの場合コマンドを使用する。基本的に「:wq」をたたくことが多いだろう。

:w 上書き保存する

上書き保存は次のコマンドだ。

:w

vi w

:w <ファイル名> 名前を付けて保存

名前をつけて保存するときは次のコマンドを叩く。

:w <ファイル名>

vi w ファイル名

:wq 保存して終了

:wq

で保存して終了してくれる。「:w」と「:q」の組み合わせのようなコマンドだ。

vi wq

:q! 保存せずに破棄して終了

こちらも良く使う。強制終了は次のコマンドになる。

:q!

vi q!

:q 終了

:q

こちらは通常の終了になる。

vi q

:e <ファイル名> ファイルを開く

他のファイルを開くときには:eコマンドを使う。

vi e

:qa 全てのバッファを閉じる

複数のファイルを開いている場合vimを終了したいときは「:qa」を使用する。

vi qa

ウィンドウ操作

Vimでは複数のファイルを同時に開いて表示することができる。

:buffers

:buffers

は現状のバッファ一覧を表示するコマンドだ。複数のファイルを開いている場合、一覧が表示される。

vi :buffers

:bn 次のバッファへ移動

複数のファイルを開いていた場合、個々のバッファが作成される。

ファイルのバッファを次のバッファへ切り替えたいときは「:bn」コマンドを使用する。「hello_world.c」と「file.py」を同時に開いた場合、「:bn」で「file.py」にバッファをスイッチできる。

vi bn

vi bn2

:bd 現在開いているバッファを削除

現在開いているカレントバッファを削除するのは次のコマンドを使う。

:bd

:vsplit 画面を縦に分割する

画面を縦に分割したいときがあるはずだ。そういうときに活躍するのが、

:vsplit 

コマンドになる。

vi vsplit

:split 画面を横に分割する

続いて横に分割したいパターンだ。

:split

を使う。

vi split

Ctrl +w h 左のバッファへ移動

vi win h

Ctrl + w l 右のバッファへ移動

vi win l

Ctrl +w j 下のバッファへ移動

vi win j

Ctrl +w k 上のバッファへ移動

vi win l

まとめ

このページではviのコマンドについて一通りまとめてきた。

知らなかったけれども、なかなか便利だったり、使ってみたいコマンドがいくつか出てきたのではないかと思う。参考にしてほしい。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*