普段Windowsをメインに使っていると、VCUI環境のLinuxでのVim(Vi)を使ったテキストファイルの編集はしづらいと感じることがありますが、いろいろなLinux環境でテキストファイルを編集することがあるなら、Vimの使い方はマスターしておくべきでしょう。
そこでここでは、Linux環境で標準的なコマンドベースのテキストエディターVim(Vi)の基本的な操作方法を解説します。
目次
Vimのインストール
Linuxディストリビューションの多くにはVimが標準でインストールされていますが、Vimがインストールされていない場合は、以下のコマンドでインストールできます。
# dnf -y install vim-enhanced
Vimをインストールしたら、viコマンドでvimが起動するように設定します。
# vim /etc/profile
alias vi='vim' #最終行に追加
上の設定を適用するために、設定を再読み込みさせます。
# source /etc/profile
Vimの初期設定
Vimには便利な機能がたくさんあります。その中でも常に使いたい機能については、ユーザーのホームディレクトリに設定ファイルを作成しておくことで、vim起動時に自動的に有効化することができます。
個人的におすすめの設定は、以下のとおりです。
# vim ~/.vimrc
syntax on "シンタックスハイライトをオン
set cursorline "現在カーソルがある行を分かりやすく表示
set number "行の先頭に行番号を表示
set autoindent "改行時に前の行のインデントを継承
set hlsearch "検索した文字列をハイライト
Vimの操作方法
ファイル開く
ファイル開くときは、以下のようにコマンドを実行します。(ファイル名を指定せずに実行した場合は、空のテキストファイルが開きます。)
$ vim <テキストファイル名>
モードを使い分ける
Vimには、3つのモードがあり操作内容に応じてモードを切り替えます。
- ノーマルモード:ファイルを開いた直後はノーマルモードで、カーソル移動やファイルの保存などはノーマルモードから行います。
- 挿入モード:文字を入力するときは、ノーマルモードから挿入モードに切り替えて入力します。
- ビジュアルモード:選択範囲を編集するときには、ノーマルモードからビジュアルモードに変更することで、文字列を範囲選択できます。
画面左下に何も表示されていない時がノーマルモードで、「--挿入--」と表示されいるときは挿入モード、「--ビジュアル--」と表示されているときはビジュアルモードです。
自分が今どのモードにいるかわからなくなったときは、「ESC」キーを1~2回押してノーマルモードに変更します。迷ったら「ESC」キーと覚えておきましょう。
カーソルの移動
ノーマルモードでカーソルを移動するときは、下図のようにアルファベットの「HJKL」それぞれのキー、もしくは矢印キーで移動できます。
- 上に移動するときは、Kキーもしくは上矢印キー
- 下に移動するときは、Jキーもしくは下矢印キー
- 左に移動するときは、Hキーもしくは左矢印キー
- 右に移動するときは、Lキーもしくは右矢印キー
そのほかのカーソル移動で役立つキーは、以下のとおりです。
キー操作 | 説明 |
---|---|
gg | ファイルの先頭行に移動 |
G | ファイルの最終行に移動 |
11G | 11行目に移動 |
b | 単語単位で左に移動 |
e | 単語単位で右に移動 |
( | 文単位で左に移動 |
) | 文単位で右に移動 |
{ | 段落単位で左に移動 |
} | 段落単位で右に移動 |
ファイルの保存/終了
ファイルの保存と終了は、ノーマルモードで行います。
コマンド | 説明 |
---|---|
:wq | ファイルを保存して終了 |
:w | ファイルを保存 |
:q! | ファイルを保存せずに終了(変更は全て破棄) |
:sav <ファイル名> | 指定した名前で保存 |
操作を戻す(アンドゥ)
操作を戻したいときは、ノーマルモードで行います。
コマンド | 説明 |
---|---|
u | 直前の操作を取り消す |
:e! | 保存時点まで戻る |
行単位で文字列のカット&ペースト
文字列を行単位でコピー・切り取り・貼り付けするときは、ノーマルモードで行います。
コマンド | 説明 |
---|---|
yy | カーソル行をコピー |
5yy | カーソル行から5行コピー |
dd | カーソル行を切り取り |
5dd | カーソル行から5行を切り取り |
p | カーソル行に貼り付け |
選択した文字列のコピー/削除
選択した文字列をコピーしたいときは、範囲選択したい文字列の先頭にカーソルを合わせてからビジュアルモードに変更し、カーソルを移動して文字列を選択します。
コマンド | 説明 |
---|---|
v | カーソルを移動して文字列を選択 |
V | カーソルを移動して行を選択 |
Ctrl+v | カーソルを移動して矩形選択 |
y | 選択した文字列をコピー |
x | 選択した文字列を削除 |
文字列の検索/置換
文字列やパターンを検索するときはノーマルモードで行い、検索文字列には正規表現も使用できます。
コマンド | 説明 |
---|---|
/検索文字列 | カーソル位置から順方向に、指定した文字列を検索 |
?検索文字列 | カーソル位置から逆方向に、指定した文字列を検索 |
n | 次を検索 |
N | 逆方向に次を検索 |
:%s/A/B/ | 文字列Aを文字列Bに一つ置換 |
:%s/A/B/g | 文字列Aを文字列Bにすべて置換 |
Vimの便利機能
画面の分割
Vimでテキストファイルを編集しているときに、ノーマルモードで「:split」と入力すると、現在編集中のファイルを上下2分割で表示できます。長い行数のファイルを編集するときなどに便利です。
また「:split テキストファイル名」と入力すると、現在編集中のファイルが下段に、新たに指定したテキストファイルを上段に分割して表示することもできます。
分割した画面間の移動は、「Ctrl」キーを押しながら「w」を2回入力することで移動することができます。
ちなみに画面を分割すると、以下のような画面表示になります。
コマンド実行結果を貼り付け
Vimでテキストファイルを編集しているときに、ノーマルモードで「!! <コマンド>」と入力すると、コマンドの実行結果を編集中のファイルに貼り付けることができます。
たとえば「!! ls」と入力すると、lsコマンドの実行結果が編集中のファイルに貼り付けられます。
チューター機能
Vimには、対話形式のチュートリアルが用意されており、Vimの使い方をより理解したいときに自習できます。
# vimtutor
Vimがどうしても使いづらいときは
Vimの操作がどうしてもやりづらいと感じるなら、より直感的に操作ができるテキストエディターをインストールするのもありでしょう。
CUI環境で直感的な操作ができるテキストエディターとして人気があるのは「nano」です。
nanoとは
nanoは、Linux環境で利用できるテキストエディターで、Vim(vi)のように操作に独特のキー操作を必要とせず直感的に利用できるテキストエディターとして人気があります。
最近では、多くのLinuxディストリビューションやmacOSに標準でインストールされていることも多いようです。
nanoのインストール
nanoが、インストールされていない場合は、標準リポジトリから簡単にインストールできます。
# dnf -y install nano
nanoの使い方
nanoでテキストファイルを開くときは、以下のようにコマンドを実行します。(ファイル名を指定せずに実行した場合は、空のテキストファイルが開きます。)
# nano <テキストファイル名>
編集画面は以下のような感じで、画面下部には主なキー操作が表示されており、いちいち調べなくても簡単に操作できます。
カーソル移動は上下左右の矢印キーのほかに、以下のキー操作で行えます。
操作 | ショートカットキー |
---|---|
カーソルを行頭へ移動する | Ctrl+A |
カーソルを行末へ移動する | Ctrl+E |
カーソルを単語単位で移動する | Ctrl+矢印キー |
カーソルを文頭へ移動する | Alt+\ |
カーソルを文末へ移動する | Alt+/ |
切り取りや貼り付けは、以下のキー操作で行います。
操作 | ショートカットキー |
---|---|
文字列を選択する | Shift+矢印キー |
行または選択範囲を切り取り | Ctrl+K |
カーソル位置に貼り付け | Ctrl+U |
選択範囲をコピー | Alt+6 |
文字列の検索や置換は、以下のキー操作で行います。
操作 | ショートカットキー |
---|---|
文字列を検索する | Ctrl+W |
文字列を置換する | Ctrl+\ |
操作の取り消しややり直しは、以下のキー操作で行います。
操作 | ショートカットキー |
---|---|
操作を取り消す(アンドゥ) | Alt+U |
操作をやり直す(リドゥ) | Alt+E |
ファイルを保存したり終了するときは、以下のキー操作で行います。
操作 | ショートカットキー |
---|---|
ファイルに保存する | Ctrl+O |
ファイルに保存して終了する | Ctrl+X |
ファイルを読み込む | Ctrl+R |
以上が基本的な操作方法で、そのほかの細かい操作方法については、Ctrl+Gキーを押してヘルプ画面を表示することでいつでも確認できます。
あとがき
Vimもnanoも、多くのLinux環境に標準でインストールされているので、ここで紹介している操作方法をマスターしておけば、Linux環境でのテキストファイル編集で困ることはないでしょう。