この記事の読者対象
- 高速でプログラミングをしたい方
- キーボードだけでコードを書きたい方
Vimとは何ぞや?
Vimとは世界でも広く使われているテキストエディタの拡張版です。
Vimには根強いファンがおり、Vim使いの事をVimmer(ビマー)と呼びます。
ボマーみたいですね。元ネタを知らない方はハンターハンターを今すぐ見て下さい。
Vimの特徴
- コマンドを利用することで様々な操作を高速に実施することが可能
- キーボードから手を離すこと無くほぼ全ての操作が可能
めちゃくちゃいいですよねぇ。
私はコードを書くときにマウスでフォルダを開き、ファイルを開きとしていました。
ですが、エンジニアさんがキーボードだけでファイルを開いて編集したりしていたので、私はなぜその方法でコードを書くのか聞きました。
エンジニアさん曰く、
「特殊なテキストエディタなので、色々な事を覚えないといけませんし、使い慣れるまでとても時間がかかります。しかし、高速にテキスト編集が出来ますよ!」
と仰ってましたが、その時はお恥ずかしながらちんぷんかんぷんで最近になってようやく理解が進んできました。
今はできるだけ、vimコマンドをうってコードを書くようにしています。
その時に必要なvimショートカットキーがあります。
ここが普通のショートカットとは違い、一癖ありますので実際に使ってみて便利だったと思ったコマンドを紹介したいと思います!
vimショートカットまとめ
vim ファイル名
ファイル編集
i
でその場でインサートモード
a
で直後の文字にインサートモード
Esc
でインサートモードから抜け出す
:wq
で保存終了
:q
で保存せずに終了
x
でカーソル下の文字を削除
/
で検索
h左、j下、k上、l右
vim移動
gg
で最初の行、G
で最終行にジャンプできる(home,end
でも可能)
ctrl-f
で1ページ後、ctrl-b
で1ページ前に移動
大文字のH、M、L
はそれぞれ画面の最上部・真ん中、最下部の行にカーソルを移動する
=でその行のインデント位置を自動修正できる
u
でアンドゥ、ctrl+r
でリドゥ
dd
で行全体を削除
コマンドモード時にShift + V
と入力すると行が選択される。 そして、d
と入力すると削除
yyp
(コピペ) と ddp
(カットしてペースト) を覚えた
vimのモード
- ビジュアルモード (vキー) がたぶん初心者に一番わかりやすい
- インサートモード (iやaキーなど)
- ノーマルモードは基本となるモード
- コマンドモード (:) で各種コマンドを実行
- オペレータとモーション
- vimのキー(主にノーマルモードについて)は、大きく分けて「オペレータ」と「モーション」の2種類がある。これを把握することが大事。
オペレータ: 動詞として動作を指定する。主要なものは4つなのでここから覚えよう
モーション: 対象範囲を指定する
オペレータは意味のあるキーバインドになっているので、以下のような感じで覚える
c : change (変更)
d : delete (削除)
y : yank (ヤンク: コピーと同義)
g : go (移動全般)
ノーマルモードでは基本的に最初にオペレータを入力し、その後に範囲指定を行う(CUI的発想)が、ビジュアルモードでは範囲を最初に選んでそれからオペレータを入力する (GUI的発想)という違いがある。
さいごに
備忘録も兼ねて書きました。
Vim、使いこなせるように頑張ります(ー ー)!