2016年10月28日

Vim の使い方 (on Cygwin)

概要
  この投稿では, Vim エディタの使い方について説明する. 目標は,Vim の最低限の使い方を習得することである. 環境は Cygwin 上にインストールされた Vim を対象としている (※ Cygwin でなくとも同じ Vim であれば操作は変わらないはず).Cygwin のパッケージについて,個別に吟味してインストールするのは手間なので,すべてインストールした. なお,この記事は,(状況に習得を強要された) Vim 1 日目の素人によって綴られたことを明記しておく.

※ Vim は,ヴィムまたはヴィアイエムと発音する.
Vim の常識
  Vim では主に 4 つのモードが使用される.

1. ノーマルモード | カーソル移動,保存,テキスト削除,コピー,ペースト,など.
2. 挿入モード (インサートモード) | テキスト入力,所謂ファイルの編集が行えるモード
3. ビジュアルモード | 範囲選択
4. コマンドラインモード (単に,コマンドモードとも) | ファイルオープン,検索,置換,など.

※起動直後はノーマルモードのため,すぐに編集できないことに留意.

起動 (※起動時はノーマルモード)
  下記コマンドで Vim エディタを起動する.
$ vi example.txt
  このとき,Vim エディタはノーマルモードで起動する.: を入力することで,コマンドラインモードへ移行し,下記のコマンドが実行可能になる.

:w | 保存 (:w! で強制保存)
:q | vim の終了 (:q! で強制終了)
:wq | 保存して終了 (:wq! で強制保存して強制終了)
ZZ | 保存して終了 (巷ではシフト・ゼット・ゼットと覚える人もいる)
  そのまま (挿入モードのまま) 入力すると,当然大文字の Z が入力されるため,
  一度 Esc でノーマルモードへ戻ってから操作する.

挿入モードへ遷移
  挿入モードへ遷移して,実際にファイルを編集する.

挿入モードへ遷移する.
i | カーソル位置から編集を開始する場合
a | カーソル位置の 1 文字後ろから編集を開始する場合
I | 行頭から編集を開始する
o | 下に行を挿入してから編集を開始する

ノーマルモードへ戻る (最重要コマンド 困ったらとりあえずESC)
Esc

カーソル移動 (ノーマルモードで有効)
  Vim では十字キーでも移動可能だが, ノーマルモードでは h, j, k, l キーがそれぞれ,←↓↑→キーとして割り当てられて
いる.

 h   j   k   l 

gg | ファイルの先頭へ移動
0 | 行頭へ移動
\$ | 行末へ移動
^ | 同一行で,文字の開始位置へ移動
w | 次の単語へ移動する

編集コマンド (ノーマルモードで有効)
yy | カーソル行をコピー
p | ペースト

u | Undo
Ctrl+r | Redo

dd | カーソル行を削除
D | カーソル以降の行を削除

/検索文字列 | 検索
n | 次を検索
N | 前を検索

:%s/置換前/置換後/g | 置換

ビジュアルモードへ遷移
ビジュアルモードへ遷移し,範囲選択を行う.

ビジュアルモードへ遷移する.
v

遷移した位置から選択されるので,カーソルを移動して任意の範囲を選択する.
好きな範囲が選択された状態で,下記のコマンドが実行できる.
y | コピー
d | 切り取り
p | ペースト

終わりに
  Google で検索すれば,もっと多くのコマンドを知ることができるが, 本投稿の目標は,Vim の最低限の使い方を習得することである. そのため,慎ましくこのあたりにしておく. Vim を使いこなすことは大変ではあるが,この投稿にある基本操作を一通り試すだけであれば, 1~ 2 時間あれば充分可能である.

参考資料
Vim - Wikipedia
【初心者必見】最強エディタVimの使い方/コマンド30種まとめ - 侍エンジニア Online
Vimをメモ帳程度に使うために覚えておくべきコマンド - honeniqが2014/04/29にKobitoから投稿

0 件のコメント:

コメントを投稿