Inoi's blog

新人インフラエンジニアの日々の記録

viエディタの基本操作

こんにちは。cloudpackの猪井です。

最近はAWSを一から勉強しています。が、サーバーを構築・運用する上でUNIX/Linuxの知識が不可欠ということで、そちらも勉強しています。

 

Linuxでは、コマンドをたくさん覚える必要があります。 テキストファイルの作成・編集にはviというコマンドを使います。

 

これはLinuxを扱う上で基礎の基礎とのことなので、今回はその基本的な使い方をメモしておこうと思います。

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 

viには大きく分けると2つのモードがあります。挿入モードコマンドモードです。

 

挿入モード

データの入力は挿入モードで行います。コマンドモードにおいて以下の編集コマンドを入力すると、挿入モードに移ってデータの入力が出来ます。


i  カーソルの前に、文字を挿入

a  カーソルの後に、文字を追加

I  行の先頭の文字の前に文字を挿入

A  行末に文字を追加

o  下に新しい行を挿入

O  上に新しい行を挿入

 

コマンドモード

カーソルの移動や文字や行の削除などは、コマンドモードで行います。挿入モードでEscキーを押すと、コマンドモードに移ります。

 

・カーソルの移動

h  左に移動

j  下に移動

k  上に移動

l  右に移動


0(ゼロ) 行の先頭に移動

^  行の最初の文字へ移動

$  行の最後の文字へ移動

 

H  現在ページの先頭行へ移動

L  現在ページの末尾行へ移動


・文字や行の削除(カット)

x  カーソル位置の1文字を削除

dd  カーソルのある行を削除


・文字列の検索

/  入力した文字列を後ろへ検索する

?  入力した文字列を前へ検索する

 

・コピー&ペースト

yy  現在の行をヤンク(コピー)

p  カーソル位置の後にペースト

P  カーソル位置の前にペースト

 

・ファイルの保存

:w  ファイルの上書き保存

:w filename ファイル名を「filename」にして保存

:w!  書き込み不可のファイルに強制的に上書き保存

 

・viの終了

:q  viを終了する(編集中だとエラーになる)

:q!  viを終了する(編集中でも強制終了)

ZZ(=:wq) ファイルを上書き保存してviを終了する

 

・その他

.  直前の作業を繰り返す

u  直前の操作を取りやめる

Ctrl+r 操作の取りやめのやり直し

 

おまけ(でも重要):ビジュアルモード

viには更に「ビジュアルモード」というものがあります。範囲選択に便利です。

 

v  文字単位のビジュアルモード開始

V  行単位のビジュアルモード開始

 

このモードでカーソルを移動した分だけ、範囲を選択できます。

範囲を選択してyやdを押すと、それぞれヤンク、カットができます。

ビジュアルモードでEscキーを押すと、コマンドモードに移動します。

 

 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー


とりあえずはこんなところでしょうか。まずはこのぐらいの範囲で習得していこうと思います。

 

今まで、エディタといえばWindowsのメモ帳くらいしか使っていなかった私にとって、この「モードを切り替える」という概念は非常に取っ付きづらいですね。少しずつ慣れていこうと思います。

 

本当はまだまだもっと便利な機能があるようなので、いずれは使いこなせるようになりたいです。

 

 

 

参考

Vim Cheat Sheet - 日本語

http://archive.linux.or.jp/JF/JFdocs/vi-user-usage.txt

秀丸を10年使い続けた私が、MacVimと出会って困って訊いて調べて… 徒然備忘録 - Qiita