Ubuntuのターミナルでviエディターを使ってファイルを編集する

間が空いてしまいましたが、11月に書いたUbuntu(Linux)のターミナルを使ってみるの続きです。

前回は、Ubuntuのターミナルを使ってディレクトリ(フォルダ)を作成したり削除したりしました。
今日は、ターミナルでファイルの作成、編集を行いたいと思います。

そこで使うのはviというやつです。
「Linux上でファイル編集するときはvi使え!」と学校の先生に言われたので操作に慣れるためにもviエディタを使います。

スポンサーリンク

viエディタとはなんぞや

Linux にインストールされているテキストエディタです。
ターミナル(黒画面に白文字がずらっと出るやつ)で動くのでGUI環境がなくても使えます。

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

このviですがWindowsのメモ帳と違って、「入力モード」と「コマンドモード」という2つのモードがあります。
入力モードは、文字の編集を行うモードです。
コマンドモードはカーソルを移動したり、文字を削除したりするモードです。
(本当はexモードというものもあるのですがコマンドモードの一部の扱いになっているので省略)

デフォルトではコマンドモードが起動します。
なので普段のメモ帳の感覚で入力を行おうとすると文字入力もままならないのです。

vi を開いてみる

Ubuntu 14.04では、viと打つとVIM (Vi IMproved 7.4)が起動します。
(VIMはviの改良版ですがこの記事ではviと書きます。)

$ vi

vim でも起動するかもしれません。 (使うOSによっては動かないこともあります)

$ vim

viエディターの使い方

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

viエディタの使い方

最近のLinuxではカーソルキーでカーソルを移動できますが、私が授業で使っていたLinuxはなぜかカーソルキーで移動できなかったので、下記サイトを見ながらカーソルを移動させていました。(カーソルの移動は、Hが左、Kが上、Lが右、Jが下だった)

Vim 基本操作まとめ

モードがどちらかわからなくなったときは何回かEscキーを押します。2回押せば必ずコマンドモードに戻ります。
コマンドモード時にiキーを押すとカーソル位置から、aキーを押すとカードルの後から文字を入力できるようになります。(入力モードに切り替え)

文字を消すには、Escキーを押した後xキーを押す。
Vimだと入力モードでバックスペースキー押しても文字消せるのでいちいちコマンドモードに戻る必要はないかもしれません。

保存するときは、Escキーを押した後以下のコマンドを打ってエンターキーを押します。

:wq

保存せず強制的に終了するときはEscキーを押した後以下のコマンドを打ってエンターキーを押します。

:q!

まあ、困ったらEsc押して:q!すれば大抵なんとかなる。

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

viを使うには、「vi ファイル名」と入力します。
まずはターミナルを開き、「vi test.txt」と入力します。
※「test.txt」というファイルが存在すれば開きます。なければ新規作成します。

$ vi test.txt

コマンドを打つと真っ黒な画面が表示されると思います。
これがコマンドモードです。このままだと文字入力ができないので「i」キーを押します。

20141121_ubuntu_ter_vi_2

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

20141121_ubuntu_ter_vi_3

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

20141121_ubuntu_ter_vi_4

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

20141121_ubuntu_ter_vi_5

ちなみにターミナルでファイルの中身を確認するときは「cat」コマンドを使います。
「cat test.txt」でtest.txtの中身を見ることができます。
実行結果は以下の通りです。

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

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

こんな感じでターミナル上でファイルの作成、編集が行えます。

慣れると楽しいよ。

スポンサーリンク

このページを共有する

スポンサーリンク