皆さん、こんにちは。1課のyaakaです。

12月に第5回目の勉強会を実施しました。
Linuxの標準テキストエディタであるvi(Visual Editorの略)について、基本的なコマンドを勉強しました。
エディタとは文字情報のファイルを編集したり保存したりするためのソフトウェアで、Windowsでいうところのメモ帳にあたります。

■実施したコマンド

〈モード切り替え〉 
 i:入力モード
 Escキー:コマンドモード

〈検索〉
 /文字列:文字列を検索
 n:次の検索候補を表示

〈削除〉
 x:1文字削除
 dd:1行削除

〈終了・保存〉
 :q!:保存せずに終了
 :wq:保存して終了

〈カーソル移動〉
 h:左に移動
 l:右に移動
 j:下に移動
 k:上に移動

この後紹介するコマンドのオプション、ファイル等の指定には省略可能や省略不可がありますので以下のように分けています。

省略可能の場合:<>で囲っています。
省略不可の場合:[]で囲っています。

viを起動する場合、以下の2通りのやり方があります。
・Vi
・View


vi:ファイルを開く

概要
ファイルを開いたり新規作成しつつ編集できます。
編集するファイル名を指定しない場合、新規作成として無題で開きます。

正式名称
Visual Editor

使い方
vi <ファイル名>


view:読み取り専用でファイルを開く

概要
ファイルを読み取り専用で開きます。
読み取り専用で開くので書き込みはできません。

正式名称
view

使い方
view <ファイル名>

■モードの切り替え

viエディタには「入力モード」と「コマンドモード」の2つのモードがあります。
vi起動直後はコマンドモードなので文字入力ができないため、編集したい場合は入力モードに切り替える必要があります。


i:入力モード

概要
ファイルに直接文字を入力することができます。

正式名称
insert

使い方
iキーを押下

実行結果

 viコマンドでテキストを開きました。空ファイルを開いたので何も入力されていません。
 ここでiキーを押下すると、画面下に「挿入」と表示され入力モードになりました。

Escキー:コマンドモード

概要
コマンドを使ってファイルの読み書き、カーソルの移動、文字列の削除を行うことができます。

使い方
Escキーを押下

実行結果

 入力が終わり、Escキーを押下すると画面下の「挿入」が消えて入力ができなくなりました。
 この状態がコマンドモードになります。

ここからは、コマンドモードで使う基本的なコマンドを紹介します。

■検索


/:上から検索する

概要
/に続く文字列を上から順に検索します。

使い方
Esc+/[検索したい文字列]
Esc+/[検索したい文字列]*

実行結果

「hogehoe5」と検索すると該当の文字列がヒットします。

 上図のように「test」の後ろにワイルドカード(*)を追加して「test」から始まる文字列を全て検索しています。

※ワイルドカードとは、特殊文字を入れることで条件に一致した文字を検索することができます。
 特殊文字とは以下のようなものがあり、それぞれの仕様は以下になります。
 * : 任意の0文字以上の文字列を検索
 例)ab*cと検索するとabc、abbc、abbbcのようにcが繰り返しててもヒットしたり、0文字以上でbは存在しなくても良いのでacとヒットします。

 ? : 任意の文字数を検索
 例)a.txtとabc.txtの2ファイルがある場合、「?.txt」と検索すると任意の1文字に一致するものとしてa.txtがヒットして、「???.txt」と検索すると任意の3文字が一致するものとしてabc.txtがヒットします。

?:下から検索する

概要
?に続く文字列を下から順に検索します。

使い方
Esc+?[検索したい文字列]
Esc+?[検索したい文字列]*

先ほど説明したワイルドカードと組み合わせて使うこともできます。

実行結果

「hogehoge7」と検索すると該当の文字列がヒットします。

n:次を検索

概要
「/」や「?」で検索した後に次の候補を検索します。

正式名称
Next

使い方
nキーを押下

実行結果

「/hogehoge5」と検索してnキーを押下すると下方向に検索します。

■削除

dd:一行削除

概要
カーソル位置の一行を削除します。

使い方
ddを押下

実行結果

hogehoge5にカーソルを合わせてddを押下すると1行まるごと削除されました。

x:一文字削除

概要
カーソル位置の一文字を削除します。

使い方
xを押下

実行結果

testhogeAの末尾にカーソルを合わせてxを押下するとAが削除されました。

■終了・保存

viを終了するには主にq(終了)とw(保存)の2つのコマンドを組み合わせて使います。よく使うのは下記になります。

:q!:保存せずに終了

概要
viでファイルを開いているとき、編集内容を保存せずにエディターを終了します。

正式名称
quit

使い方
Esc+:q!
※ ! :「強制的に」の意味を持つ

実行結果

:wq:保存して終了

概要
viでファイルを開いているとき、編集内容を保存してエディターを終了します。

正式名称
write quit

使い方
Esc+:wq

実行結果

■カーソル移動

k:上に移動
j:下に移動
h:左に移動
l:右に移動

概要
エディター内を上下左右にカーソル移動ができます。


使い方
k , j , h , l それぞれのキーを押下
これらのコマンドを使ったカーソル移動は、コマンドモードでしか使用できないので、入力モードでカーソル移動するときは矢印キーを使用します。

■感想

今回は、Linuxの標準エディタである「vi」について勉強してみました。
viエディタはWindowsなどのエディタとは勝手が違うため、最初は使い方に戸惑うこともありますが、コマンドを覚えて操作に慣れれば便利に利用することができます。
viエディタを使うために最低限必要なコマンドを勉強しましたが、まだまだ便利な機能がたくさんあるので次回以降の勉強会でテーマとして取り上げても良いなと思いました。

1課のメンバーに感想をいただきました!

普段からLinuxを触っているメンバーもそうでないメンバーも学びがある良い勉強会になりました。
引き続き楽しく頑張っていきましょう。
次回の勉強会ブログをお楽しみに!

The following two tabs change content below.

yaaka

ド未経験のIT業界に飛び込んだ新人です。分からないことだらけで日々奮闘しています。