Linuxでテキストエディタ(Vim / vi)を使いこなす

普段Windowsをメインに使っていると、たまにLinux(おもにCentOS7)でテキストエディタを使うたびに、操作方法がわからなくなりコマンドを調べながら作業しております。

そこで、ここではテキストエディタVim(vi)の、インストールから基本操作までをまとめておきたいと思います。

動作環境

この記事は、以下の環境でコマンドを実行した結果を基にしています。コマンドを実行するOSのディストリビューションやバージョンによっては、コマンドの実行結果が異なる場合があることをご了承ください。

cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)

Vimのインストールと初期設定

インストール

CentOS7を最小構成でインストールするとVimがインストールされていないので、インストールします。

  1. vimをインストールします。
    yum -y install vim-enhanced
  2. vimがインストールされたことを確認します。
    vim --version
  3. viコマンドでvimを起動するようにします。
    vim /etc/profile
    
    alias vi='vim' #最終行に追加
  4. 項番3の設定を適用するために、設定を再読み込みさせます。
    source /etc/profile

初期設定

Vimには便利な機能が沢山あります。その中でも常に使いたい機能については、ユーザーのホームディレクトリに設定ファイルを作成して、vim起動時に自動的に適用されるようにします。

vim ~/.vimrc

set number "行の先頭に行番号を表示します
set autoindent "改行時に前の行のインデントを継承します
set hlsearch "検索した文字列をハイライトします

Vimの基本操作

モードを使い分けよう

Vimでは、モードを使い分けて利用します。起動時は「コマンドモード」です。文字を入力したり編集するときは「I」キーを押し「編集モード」に変更します。画面左下に「--挿入--」と表示されていれば、編集モードになっています。

自分が今どのモードにいるかわからなくなったときは、「ESC」キーを1~2回押してコマンドモードに変更します。迷ったら「ESC」キーと覚えておきましょう。

カーソル移動

カーソル移動は、下図のようにアルファベットの「HJKL」それぞれのキー、もしくは矢印キーで移動します。

コマンド 説明
gg 最初の行
11G 11行目
G 最終行

ファイルの保存と終了

ファイルの保存と終了は、コマンドモードで行います。

コマンド 説明
:wq ファイルを保存して終了します。
:w ファイル名 ファイル名指定して保存します。
:q! ファイルを保存せずに終了します。
(変更は全て破棄します)

操作を戻す(アンドゥ)

操作を間違えてしまったときに、もとに戻す場合もコマンドモードで行います。

コマンド 説明
u 直前の操作を取り消します。
:e! 保存時点まで戻ります。

カット&ペースト

コピー・切り取り・貼り付けも、コマンドモードで行います。

コマンド 説明
yy 1行コピー
5yy 5行コピー
dd 1行切り取り
5dd 5行切り取り
p 貼り付け

検索

文字列やパターンを検索する場合も、コマンドモードで行います。検索文字列には正規表現も使用できます。

コマンド  説明
/検索文字列  カーソル位置から順方向に、指定した文字列を検索します。
?検索文字列  カーソル位置から逆方向に、指定した文字列を検索します。
n  次を検索します。
N  逆方向に次を検索します。
:%s/A/B/  文字列Aを文字列Bに一つ置換します。
:%s/A/B/g  文字列Aを文字列Bにすべて置換します。

Vimの便利機能

画面分割

Vimでファイル編集時に、コマンドモードで「:split」と入力すると、現在編集中のファイルを上下2分割で表示することができます。長い行数のファイルを編集するときなどに便利です。

また「:split sample.conf」と入力すると、現在編集中のファイルが下段、新たに指定したsample.confファイルを上段に分割して表示することもできます。

分割した画面間の移動は、「Ctrl」キーを押しながら「w」を2回入力することで移動することができます。

ちなみに画面を分割するとこんな感じになります。

コマンドの実行結果を貼り付け

Vimでファイル編集時に、コマンドモードで「!! コマンド」と入力すると、コマンドの実行結果がファイルに貼り付けられます。

たとえば「!! ls」と入力すると、lsコマンドの実行結果がファイルに貼り付けられます。

チューター機能

Vimには、対話形式のチュートリアルが用意されています。これで自習もできます。

vimtutor

まとめ

Vimには、ここで挙げた機能以外にも多くの機能があります。ぜひ自分好みにカスタマイズして、作業効率をアップさせましょう!

スポンサーリンク