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

【入門】Vimで高速移動~プラグインなしでの移動まとめ~

$
0
0

最近聞かれたので、
自分がよく使う移動コマンドをまとめてみました。

プラグインいらずの素のVimですが、
プラグインなしで十分高速に移動できます。

特に一行一文字検索のfコマンドとか、
変更してきた箇所をもどれるg;コマンドとかが使えてくると本当に便利です。
あっ、この記事は主にファイル内の移動に限っています。

基本移動

初心者はまず、矢印キーを脱却して、h, j, k, lへ。
10jのように数字を先に打つと、一気に数字分移動できる

コマンド移動内容
h左へひとつ
j下へひとつ
k上へひとつ
l右へひとつ
ステップアップ

表示上の行移動

コマンド移動内容
gj下へひとつ
gk上へひとつ
115 abcdefg
    hijklmn
116 abcd

115行目のbにカーソルがある場合、

通常のj移動だと、b➡b
表示行のgj移動だと、b➡i

行移動

コマンド移動内容
0行の先頭へ(インデント無視して先頭へ)
^行の先頭へ
$行の末尾へ
+下の行の先頭へ
-上の行の先頭へ
ステップアップ

前述同様gをつけると表示上の移動へ(直感的)

ページ移動

ガッと移動したい場合

コマンド移動内容
ctrl + u半画面分 上へ
ctrl + d半画面分 下へ
ctrl + b一画面分 上へ
ctrl + f一画面分 下へ
{段落毎に上へ
}段落毎に下へ
ggそのファイルの先頭へ
Gそのファイルの末尾へ

他には:100で行指定で移動できる。
この場合だと、100行目に移動。

単語移動

コマンド移動内容
w単語の先頭に進む
b単語の先頭に戻る
e単語の末尾に進む
ge単語の末尾に戻る

単語分を進むか戻るか、さらに大文字もある。

ステップアップ
コマンド移動内容
W単語の先頭に進む
B単語の先頭に戻る
E単語の末尾に進む
gE単語の末尾に戻る

違いは次のような単語を一語とみるかどうか

abc.def.ghi

小文字なら5単語 abc . def . ghi
大文字なら1単語 abc.def.ghi

a➡iに行きたい場合、
e移動なら5回 a➡c➡.➡f➡.➡i
E移動なら1回 a➡i

一行一文字検索

これホント便利。多用してます。

コマンド移動内容
fその行の順方向に一文字検索
Fその行の逆方向に一文字検索
tその行の順方向に一文字検索(カーソルは文字の手前)
Tその行の逆方向に一文字検索(カーソルは文字の手前)

abcdefg hijklmn

aにカーソルがある場合、
fiで一気にiに移動。

ステップアップ

これとfキーの組み合わせが、本当に便利。

コマンド移動内容
;順方向に繰り返し検索
,逆方向に繰り返し検索

abcdefg abcdefg abcdefg

aから三つ目のeに行く場合、
fe;;
そこから二つ目のeに戻る場合
,

検索移動

一般的なページ内文字列検索

コマンド移動内容
/順方向に文字列検索
?逆方向に文字列検索
n順方向に繰り返し検索
N逆方向に繰り返し検索

abcde abced abcedf

この場合、/edfで末尾のedfに移動。
複数行にわたって検索可能。

括弧移動

これはdの削除とかyのコピーと合わせて使うと便利。

コマンド移動内容
%対となる括弧へ移動

(abc)

カーソルが(から%コマンドで)へ移動

TIPS

ジャンプリストを辿る

ファイル内も移動できるけど、ファイル間の移動に便利。
直前に編集していたファイルに戻りたいとか。
今回の記事にはそぐわないかな。。

コマンド移動内容
ctrl + oジャンプしてきた箇所に戻る
ctrl + iジャンプしてきた箇所に進む

変更リストを辿る

自分がしたファイルの変更履歴をたどれる。便利。

コマンド移動内容
g;変更してきた箇所に戻る
g,変更してきた箇所に進む

マーク移動

あんまり使っていないから、要望があるまでカット。

最後に

この移動と組み合わせて削除とかコピーとかいろいろできることが、
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>