Help us understand the problem. What is going on with this article?

Vimの使い方で新しい事を学習したのでまとめ(ウィンドウ操作、インサートモード時のショートカットなど)

More than 1 year has passed since last update.

こんにちは。

かれこれ5年くらいVimを使っている者です。

この度、ちょっと色々Vimの使い方を改めて調査してみたら、5年も使ってるのにVimの機能を全然使えてなかったことが判明したので、備忘録として記事にしておきます。

新しいプラグインを入れるとか言ってる場合じゃないぜ。話はデフォルトの機能をそこそこ使えるようになってからだ。

Qiitaって備忘録を書く場所ってことでいいんですよね?合ってます?

最初のプランでは、まず一通り「既に使っている機能」を列挙して、その後「今回学んだ機能」を書こうと思ったのですが

「既に使っている機能」が多すぎるので、後者だけ書くことにしました。

レベル感を伝えるために簡単に書くと、/で検索とかyでヤンク(コピー)とか:eでファイルを開くとかは既に使ってます。

では。

ノーマルモード

Ctrl+wシリーズ

これ、でかいです。複数のファイルを同時に開いて、片方のファイルの内容を確認しながらもう片方のファイルを編集する、っていう場面、結構ありますからね。

Ctrl+w s

ウィンドウ分割。
:split:spでも同じことができます。

Ctrl+w hjkl

カーソルを各方向のウィンドウに移動

Ctrl+w c

カーソルのあるウィンドウを閉じる(close)

Ctrl+w o

カーソルのあるウィンドウだけ残して他を閉じる(only)

この辺のウィンドウ操作をわかっていなかったせいで、例えば:helpとかやって別ウィンドウでヘルプが出た後、そのウィンドウをどうすれば元の操作に戻れるのかがわからなくて困ってました。困ってるなら調べて解決しとけやって話なんですけど。

次行きます。

yy一行ヤンク(コピー)

今まで、Shift+v yってやってました。一行選択→ヤンクってことですね。yyの方が速いですね。

gg文頭に移動 G文末に移動

いままでは9999kとか9999jとかやってました。ダサいですね。

Ctrl+v I 短形挿入

エルじゃなくて、大文字のアイです。Ctrl+v Shift+iってことです。
まとめてコメントアウトするときとかに便利ですね。
そういうプラグインもありますけど、とりあえずデフォルト機能でできるので覚えておこう。

インサートモード

Ctrl+[ インサートモードを抜ける

これはやはり最速でやりたい操作ですね。めちゃめちゃ頻繁にやるので。
今までは親指と中指でESC英数を同時押しして抜けてました。
(私の環境はmacの日本語キーボード)

一度完全に左手をキーボードから上げることになるので無駄が大きい。

英数も押す理由は、確実に日本語入力モードを抜けたかったからです。
ノーマルモードで日本語入力をすることはありませんからね。

今後はとりあえずCtrl+[で慣れることを目指そう。

jjにキーバインドするという方法もあるようですが、とりあえずデフォルトで出来るところまでやってみる。

ここはまだ最適化の余地がありそうだなあ。

(追記:最適化しました。Vimでインサートモードを抜ける時に日本語入力を解除したい〜Mac+JISキーボード+Karabiner編〜)

Ctrl+h 一文字削除

バックスペースと同じ機能です。
バックスペースはキーボードの右上にあるので、それよりもこのショートカットの方が素早く押せますね。

Ctrl+u行頭まで削除

途中まで書いて「やっぱやめた!」って言う時に便利らしいです。覚えとこう。

Ctrl+g j(k)前の行(次の行)に移動

これ、時々やりたい場合があるんですよね。
インサートモードのまま行移動。覚えておきましょう。

Ctrl+n補完

これですよ!これが今回二番目の大きな学びです(一番はウィンドウ操作)
Vimの保管機能あったんですね。ないと思ってた。
長い関数名とか全部打ち込んでましたよ。ようやるわ。
これはちょっと、ガンガン使って慣れよう。だいぶ速くなるはず。

Ctrl+e 補完ウィンドウを閉じる

Ctrl+nとセットですね。

プラグイン

NERD tree

冒頭で「プラグインとかいれてる場合じゃない」みたいなこと言いましたが、これだけ入れました。
いちいちVimを抜けずにファイルを操作できます。
ウィンドウ操作と組み合わせて使うと便利です。

それでは!

Macで、一瞬でインサートモードを抜けて、確実に日本語入力も解除する方法があったら教えてください!(追記:ありました。Vimでインサートモードを抜ける時に日本語入力を解除したい〜Mac+JISキーボード+Karabiner編〜)

agajo
あんなに勉強して、親に高い予備校代も出してもらって東大に入り、卒業したのに、今では家と食事を親に頼りながら、年金と住民税を払うためにトイレ掃除をしている者です。
https://portal.oka-ryunoske.work/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした