Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

【vim】Vimmerになったらまずはこれだけ!!マストVim大辞典

$
0
0

Vim初心者の私がVimを数日使った上で最低限必要だと感じたVim操作(入力、移動 etc.)に関して簡単にまとめます。備忘録投稿です。

vimの5つのモード

実際には他にもモードがあるかもしれないが、とりあえず、この5つを押さえておけば問題ないです。

モード意味代表的なkey
NORMALノーマルモードesc, Ctrl + c, Ctrl + [
INSEART入力モードi
VISUALビジュアルモードv
REPLACE上書きモードR
COMMANDコマンドラインモード:(コロン)

移動

移動はノーマルモードで行います

key意味
h←(左に移動)
j↓(下に移動)
k↑(上に移動)
l→(右に移動)
e単語の最後へ移動
w次の単語の先頭へ移動
b前の単語の先頭へ移動
^行の先頭文字へ移動
0行頭へ移動
$行末へ移動
ggファイルの先頭へ移動
Gファイルの末尾へ移動
%対応する括弧に移動([],{},()など)
{段落の先頭に移動
}段落の末尾に移動
Ctrl + fページアップ
Ctrl + bページダウン
Shift + mカーソルを画面の中心へ移動

3つのTips

  • 4j3wなどのように数字を先頭につけると、その数字回数分移動できる。とても便利。
  • コマンドラインモードで、行番号を入力し[Enter]を押すと、目的行に移動できる(つまり、ノーマルモードから:行番号[Enter]を押す)。
  • 行内では、f[目的の文字]で、ジャンプすることができる。いくぶん移動が楽になる。

入力1 (モードに移行前)

key意味
i入力モードへ
I行頭に移動して入力モードへ
aカーソルの後ろに移動して入力モードへ
A行末に移動して入力モードへ
o行の下に空行を作り、行頭から入力モードへ
O行の上に空行を作り、行頭から入力モードへ
Cカーソルから後ろをすべて削除して入力モードへ

入力2 (モードに移行後)

key意味
Ctrl + y真上の文字と同じものが入力される
Ctrl + e真下の文字と同じものが入力される
Ctrl + hバックスペース
Ctrl + w単語ごとにバックスペース

基本操作

key意味
yヤンク(コピー)
Y行をヤンク
pカーソル後にペースト
Pカーソル前にペースト
xカーソル下の一文字を削除
Xカーソル前の一文字を削除
d削除
D行内のカーソル以降を削除
ddかーするがある行を削除
u元に戻す(undo)
Ctrl + r操作を進める
r一文字変更
>>右へインデント
<<左へインデント
.(ピリオド)直前の操作を実行
q:履歴を確認

6つのTips

  • 移動の時と同様に、数字を基本操作の前につけることにより、操作を指定回数回繰り返すことができる。
  • q:で履歴を確認すれば、過去のコマンドを実行することも可能。
  • コピーはヴィジュアルモードで使うことが多い。
  • diw(delete inner word)で、単語を切り取れる。
  • ya"(yank all)でダブルクォーテーションで囲まれた文字列を囲みダブルクォーテーションごとコピー。
  • yi"(yank inner)でダブルクォーテーションで囲まれた文字列をコピー(ダブルクォーテーションは除く)。

検索

key意味
*カーソル下の単語を検索
#カーソル下の単語を検索(上方向に検索)
/[word]wordを検索。n, Nでそれぞれ次と前の検索へ移動することができる
?[word]同上(上方向に検索)

1つのTips

  • 【キーワード検索】 同じキーワードで引き続き検索したいときは、キーワードを指定せずに/?を入力してEnterキーを押せばよい。

置換

key意味
:%s/hoge/fuga/gファイル内で全てのhogeをfugaに置換
:%s/hoge/fuga/gc同上 + マッチした文字列を一つずつ確認しながら置換
:10,20s/hoge/fuga/g行間(10~20行)内でマッチした文字列のみ置換

変更

行う内容は、削除 + インサートだが、要は変更(change)。

key意味
ce単語の終わりまで削除し、インサートモードへ
c$カーソルから行末まで削除し、インサートモードへ
ciw単語を削除し、インサートモードへ
ci(括弧(で囲まれた文字列を削除し、インサートモードへ

ウィンドウ

コマンドラインモード(:タイプ後)で行う

key意味
spウィンドウを上下に分割 (split)
vspウィンドウを左右に分割 (vertically split)
new新規ウィンドウとして上下に開く
vnew新規ウィンドウとして左右に開く

1つのTips

  • [Ctrl-w][Ctrl-w]で順番に移動できる。

タブ

コマンドラインモード(:タイプ後)で行う

key意味
tabnew新規タブを開く
gt次のタブに切り替え
gT前のタブに切り替え

補足(ビジュアルモードについて少し)

Vimには3つのビジュアルモードがあります。

  • エディタやワープロのように文字単位で選択するビジュアルモード
  • 行単位で選択するビジュアルラインモード
  • 矩形で選択するビジュアルブロックモード

の3種類だ。vVCtrl + vでそれぞれのビジュアルモードへ移行します。

visualモード中にshift + >を入力することで、選択範囲のインデントもできます。複数回インデントさせたい場合には数字>のように数字を加えて実行します。

参考

終わりに

Vimを数日使った程度の私でさえ、Vimの恩恵を感じられました。移動の高速化、基本機能の充実、モード分けすることにより(keyを記憶したのち)、keyの組み合わせだけで痒い所に手が届く、等、まだまだ可能性を感じることができるテキストエディタです。

「できるエンジニアはVimを使っている」

そんなことを耳にはしていましたが、やんわりとその理由が理解できた気がします。他のエディタと比べて最初の学習コストは比較的高いですが、長いエンジニア人生、できるだけ早めに慣れておくことでますますVimの恩恵を享受することができるでしょう。

ここであげたのはVim初心者の私が、数日間という短い期間で必要としたものですので、とりあえずこれだけはマストのキー操作となると思います。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>