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

[vim] カーソル移動まとめ (同一ファイル内移動, ファイルをまたぐ移動, tab移動)

$
0
0

はじめに

これはあくまでも自分用のメモです。
この手の記事はたくさんありますが、他の人の記事だと編集ができないので自分が覚えたものをちょこちょこと足していきます。
もしもこの記事がどなたかのお役に立てば幸いです。

移動の基本

キーバインド説明
k上へ移動
j下へ移動
h左へ移動
l右へ移動

単語単位の移動

キーバインド説明
w右隣の単語の先頭に移動
W右隣の単語の先頭に移動(スペース単位)
e右隣の単語の末尾に移動
E右隣の単語の末尾に移動(スペース単位)
b左隣の単語の先頭に移動
B左隣の単語の先頭に移動(スペース単位)

行移動

キーバインド説明Note
0現在の行の先頭列に移動
^現在の行の文頭に移動
$現在の行の末尾に移動
f <検索対象のアルファベット>カーソル位置から行末に向け検索し、存在すればカーソルが移動する。; 行末へ向けて検索
, 行頭へ向けて検索
+下の行の文頭に移動
-上の行の文頭に移動

ブロック単位での移動

キーバインド説明Note
%対応する括弧に移動
{1つ前の空行に移動
}次の空行に移動
[[1つ前の段落に移動PHPだとclassに該当することが多い
]]次の段落に移動PHPだとclassに該当することが多い
[m1つ前の関数定義場所へ移動する
]m次の関数定義場所へ移動する

※matchitプラグインは元々インストールされていますがデフォルトでは無効になっているので、有効にしておくと良いでしょう。"%" コマンドで、HTMLタグ、Vim scriptのif/else/endif、その他のものにもマッチするようになる便利なプラグインです。

.vimrc
packadd! matchit

詳しくはvimのhelpをご覧ください。
http://vim-jp.org/vimdoc-ja/usr_05.html#05.4

タブの切り替え

キーバインド説明Note
gtタブを次のタブに切り替える
タブ番号gtタブを指定したタブに切り替える

マーク機能

キーバインド説明Note
m <任意のキー>マークをつけるex) ma
` <マークをつけたキー>マークをつけた場所に移動するex) `a

修正した場所への移動

キーバインド説明Note
g,最後に修正した場所への移動

戻る系

キーバインド説明Note
Ctrl ^1つ前に開いていたファイルに戻る
Ctrl ojumpしてきた箇所に戻る

ファイルに記載されているファイルパスからそのファイルを開く

もしファイル上に

...
$filepath = '/usr/local/log/error.log';
...

と記載されていた場合、下記のキーバインドでそのファイルを開くことができます。

キーバインド説明Note
<ファイルパス上にカーソルを合わせて> gfファイルに記述されているファイルに移動する
<ファイルパス上にカーソルを合わせて>Ctrl w g f別タブを開いてファイルを表示

tagjump機能

vimはtagjumpという機能を持っています。
この機能を使用すればIDEのように別ファイルに定義されているmethodにjumpすることができます。

キーバインド説明Note
Ctrl ]定義元にjumpjump元のファイルに戻るには:popコマンド
Ctrl w ]画面をsp分割して画面の上部にjump先のファイルを表示

私はIDEのように別タブで開く方が好きなので.vimrcに下記のような設定も追加しています。

.vimrc
" jumpしたいword上にカーソルを合わせてF3を押すと別タブでjumpするnnoremap<F3> :<C-u>tabstj<C-R>=expand('<cword>')<CR><CR>

※この機能を使用するためには事前にいくつか準備が必要です。
1.ctagsをosにインストール
2.ctagsコマンドでtagsファイルを作成
3.set tagsでtagsファイルのパスをセット

過去に開いたファイルの一覧を開き選択したファイルへ移動

コマンド説明Note
:brows oldfiles過去に開いたファイルの一覧が表示される。開きたいファイルに番号が振られているのでその番号を入力する。

終わりに

今後もちょこちょこ編集していきます。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



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