エディタは何を使っていますか?
僕は作業効率をあげるためにVimを使っています。
一般のエディタと比べるとちょっと特殊なVimの使い方を簡単にまとめました。
Vimとは
Vimはオランダ人のプログラマーBram MoolenaarによってAmiga向けに開発された。のちにWindowsを含むさまざまな環境に移植され、特にUnix系オペレーティングシステム (OS) ではEmacsと並んで広く使用されているテキストエディタとなっている。
キーボードのみで操作されることを前提としていたため、キーボードのみですべての操作が可能になっている。その基本的な操作方法はviと同じで、状況に応じてモードを使い分けることでテキストを編集していき、小さなコマンドの組み合わせをその場で作ることによって多種多様な機能を実現する。
Windows系エディタ(メモ帳など)などの他のエディタとは操作方法がまるで異なるため、一通りのテキスト編集作業ができるようになるまで慣れが必要となる。しかしながら、一旦慣れてしまえばメモ帳などとは比較にならないほどのテキスト編集速度を得ることができるため、数多くのVim愛好家が存在する。Vimの他の機能と併せて、プログラムコードやシステム設定ファイルを編集するのに特化しているため、特にプログラマーやシステム管理者に利用者が多い。
https://ja.wikipedia.org/wiki/Vim
操作方法を覚えてしまえばテキスト編集が高速になる仕組みです。
コードの編集はもっぱらこのVimで行います。
Vimの起動
起動する
CUI版のVimエディタは端末から起動します。
~$ vim
通常起動後の画面です。
ファイル名を指定して起動する
Vim内でファイルを開くことが出来ますが、Vim自体を起動する時にファイルを指定する事ができます。
~$ vim test.txt
Vimの終了
終了する
ノーマルモードで[:q
]と入力します。
:q
すると、下の方にそのまま表示されますので[エンター]を押して実行すると終了します。
強制的に終了する
編集すると[:q
]では終了できません。
編集を保存しないで終了するには[:q!
]と入力します。
:q!
保存して終了する
編集内容を保存したい場合は[:w
]で保存します。
:w
二つを組み合わせて[:wq
]と入力すると、保存をして終了までしてくれます。
:wq
モードの切り替えについて
Vimはモードを切り替えながら操作をします。
まずは、基本的な2つのモードを覚えて行きましょう。
自分がどのモードにいるのかわからなくなってしまったら
作業をしていると自分がどのモードにいるかわからなくなる時があります。
そんな時は[ESC
]キーを押して下さい。
強制的にノーマルモードに戻ります。
ノーマルモード
Vimを起動すると、このノーマルモードからのスタートになります。
カーソルの移動や、他のモードへ移行することができます。
挿入モード
文字列を編集するモードです。テキスト入力ができます。
ノーマルモードでの移動
基本的にノーマルモードで移動をします。
基本移動
カーソルでも移動できますが[h
][j
][k
][l
]を使うことでホームポジションを維持したまま移動することが可能です。
1文字ずつ移動しますが、[10j
]など数字を頭に入れると、数字分移動します。
[k]
↑
[h]←■→[l]
↓
[j]
行の中での移動
行に対して移動するには[0
][^
][$
]などを使います。
[0]行頭に移動
|
| [^]行の最初の文字に移動
↓ ↓
echo "Hello World!"; ←[$]行末に移動
単語単位での移動
単語単位で移動するには[w
][b
][e
][ge
]などを使います。
→[w]次の単語の先頭に移動
←[b]前の単語の先頭に移動
echo "Hello World!";
^ ^ ^^ ^ ^ ^
→[e]次の単語の末尾に移動
←[ge]前の単語の末尾に移動
echo "Hello World!";
^ ^ ^ ^ ^ ^
ページ全体に対しての移動
一気に移動する時に使います。
<?php ←[gg]ファイルの先頭に移動
echo "Hello World!";
?> ←[G]ファイルの末尾に移動
画面単位で移動
画面単位での移動のコマンドも有ります。
[Ctrl] + [u]:半画面分上[↑]に移動
[Ctrl] + [d]:半画面分下[↓]に移動
[Ctrl] + [b]:全画面分上[↑]に移動
[Ctrl] + [f]:全画面分下[↓]に移動
[q3-adsense01]
ノーマルモードでの検索
検索を使うことで便利に移動ができます。
行内で1文字検索
同じ行の中に文字があればそこに移動します。
1文字目から順番にコマンドを打っていくとわかりやすいです。
echo "Hello World!";
^
[f
] + [文字列]でその行の順方向に検索し移動します。
[fr]
echo "Hello World!";
^
[F
] + [文字列]でその行の逆方向に検索し移動します。
[Fe]
echo "Hello World!";
^
[t
] + [文字列]でその行の順方向に検索し、手前の文字に移動します。
[tr]
echo "Hello World!";
^
[T
] + [文字列]でその行の逆方向に検索し、手前の文字に移動します。
[Te]
echo "Hello World!";
^
[;
]で順方向に繰り返し検索します。
[,
]で逆方向に繰り返し検索します。
ファイル全体で検索移動
検索したい文字を[/
]に続けて入力します。
[/rld]
echo "Hello World!";
^
ファイルの中に同じ文字列が複数ヵ所ある場合は、検索してから[n
]で下方向に再検索、[N
]で上方向に再検索します。
さいごに
今回はここまでです。
次回は、文字列操作関係について説明します。

コメント
[…] Vimの基本的な使い方①移動・検索【初心者用】 […]