UbuntuでVimを使ってファイルを編集する

Ubuntu(Linux)のターミナル上で、Vimエディターを使ってファイルを編集する方法を紹介します。

前提条件

  • Ubuntu 14.04/18.04 のDesktop版

Vimとは何か

Vimはテキストエディタです。(ちなみに、 man vi と入力すると vim - Vi IMproved, プログラマのテキストエディタ と書いてあります。格好いいですね。)
ターミナル(CLI上)で動くためGUI環境がなくても使えます。私はこのブログのサーバの設定を編集する時によく使います。

image

入力モードとコマンドモード

Vimは、Windowsのメモ帳と違って、「入力モード」と「コマンドモード」という2つのモードがあります。
入力モードは、文字の編集を行うモードです。
コマンドモードはカーソルを移動したり、文字を削除したりするモードです。

(本当はexモードというものもあるのですがコマンドモードの一部の扱いになっているので省略します。)

ターミナル上で vi と入力すると、デフォルトではコマンドモードが起動します。
ですので、普段のメモ帳の感覚で行おうとすると文字入力もままなりません。

Vimを開いてみる

今回私が動作確認をしたUbuntu 14.04では、vi と打つとVIM (Vi IMproved 7.4)が起動します。
(OSの設定によっては、 vim でも動くかもしれません。)

Vimの使い方

私は下記のサイトを参考にしつつ慣れるまでずっと文字を打ち続けました。

viエディタの使い方

Vimで文字入力してみる

コマンドモード時に i キーを押すとカーソル位置から、 a キーを押すとカードルの後から文字を入力できるようになります。

文字を消してみる

文字を消すには、Escキーを押しコマンドモードに戻った後、x キーを押します。
(ちなみに入力モードでバックスペースキー押しても文字は消せます。)

ファイルを保存する

保存するときは、Escキーを押した後に :wq と打ってエンターキーを押します。
保存せず強制的に終了するときは、Escキーを押した後に :q! と打ってエンターキーを押します。
困ったらEsc押して :q! すれば大抵なんとかなります。

カーソルの移動方法

Vimの設定によるのですが、カーソルの移動はカーソルキー(キーボード右下にある矢印キー)で行えます。
しかし、私が当時授業で使っていたVimはカーソルキーで移動できなかったため、念のため以下の操作方法で覚えておくことをお勧めします。
HJKLキーの方がホームポジションから手を動かさなくて済みますし。

  • Hが左
  • Jが下
  • Kが上
  • Lが右

ただし、カーソルキーを使った移動は、入力モード、コマンドモード共に使えますが、HJKLキーでの移動はコマンドモードでしか使えません。

操作方法については以下のサイトに大変お世話になりました。

Vim 基本操作まとめ

入力モードかコマンドモードかわからなくなったら

モードがどちらかわからなくなったときは何回かEscキーを押します。2回押せば(日本語入力がオンになっていないかぎりは)必ずコマンドモードに戻ります。

Vimでテキストファイルを作成する

実際にファイルを編集してみます。

viを使うには、ターミナル上で vi ファイル名 と入力します。
今回私は、以下のように入力しました。

vi test.txt

test.txt というファイルが存在すれば開きます。ファイルがなければ新規作成します。
コマンドを打つと真っ黒な画面が表示されると思います。
これがコマンドモードです。このままだと文字入力ができないので「i」キーを押します。

image

こんにちは世界 と入力します。

image

Escキーを押したあと、 :wq と入力し、エンターキーを押します。(:wqで保存して終了という意味です。)
コマンドモードならば、ウィンドウ下部に「:wq」と表示されます。

image

Vimが終了します。
ファイルマネージャを開き、「test.txt」をダブルクリックすると、「こんにちは世界」と書き込まれていると思います。

image

ターミナルでファイルの中身を確認します。
今回は、 cat コマンドを使います。(ちなみに catコマンドは cat - concatenate files and print on the standard output ざっくり訳すと「ファイルを連結して標準出力に表示する」機能を持ちます。)

以下のコマンドを入力すると、test.txtの中身をターミナル上に表示します。

cat test.txt

入力すると以下のように表示されると思います。

$ cat test.txt
こんにちは世界。

test.txtを再度編集するときは、vi test.txtと入力します。

Vimでファイル内検索を行う

ここではVimでファイル内検索を行う方法を紹介します。

ファイルの先頭から末尾へ検索する

コマンドモードで /検索したいキーワード と入力します。 例えば、「世界」と検索したい場合は以下のように入力します。

/世界

検索結果があるとハイライト表示されます。
n キーで下へ、 N キー(Shift+n)で上へ移動できます。

ファイルの末尾から先頭へ検索する

コマンドモードで ?検索したいキーワード と入力します。
検索結果はハイライト表示されます。
結果が複数ある場合は、 n キーで上へ、 Shift+N で下へ移動できます。

ターミナル上でファイルの作成、編集操作の説明は以上です。
それでは良き、Vimライフを。

comments powered by Disqus