この記事では、Vimの便利に使うためのコマンド集を紹介します。GUIではないので慣れるまでには時間がかかりますが、慣れれば爆速なので是非この機会に習得しましょう!Vimをかっこ良く使いこなして彼氏・彼女をゲットしちゃいましょう(。・ω・。)
1. 移動や削除やコピーを効率化
一般的なテキストエディタでは、カーソルを利用しながら移動・コピー・削除をしますが、vimではもっと秀逸に移動・削除・コピーができます(。・ω・。)
# -------------------------------------------------------- # 移動系Vimコマンド # -------------------------------------------------------- # 単語単位で右に移動(大文字だと次の空白まで飛びます) w or W # 単語単位で左に移動(大文字だと次の空白まで飛びます) b or B # カーソル行の任意の文字に移動(大文字だと左に移動) f[任意の文字] F[任意の文字] ; # 上記後に、;で繰り返し移動 # ファイルの先頭or末尾に移動 gg or G # 対応する括弧に移動 % # カーソル行の先頭・末尾に移動 0 # カーソル行先頭 ^ # カーソル行の文字列の先頭 $ # カーソル行の文字列の末尾 # -------------------------------------------------------- # 削除系Vimコマンド # -------------------------------------------------------- # 単語単位の削除 dw # Delete Word # 行削除 dd # -------------------------------------------------------- # コピー系Vimコマンド # -------------------------------------------------------- # 行コピー yy # カーソル位置から末尾までのコピー y$ # コピーのy + 末尾の$ # カーソル行から先頭までをコピー y0 # コピーのy + 先頭の0
2. 既に入力した単語を自動で入力する入力補完
eclipse等の便利なエディタを利用されていた方々には必須の入力補完機能も、vimに備わっています。長い変数名は再度打つ必要がありませんので、すごく楽になります(。・ω・。)
# 挿入モードにて、下記コマンドで入力補完を表示(前方検索or後方検索) Ctrl + n Ctrl + p
3. 変更内容を元に戻す、ReDo,UnDo
Windowsでいう、Ctrl + z、Ctrl + uの類です!vimでも実現可能なので、是非活用して下さい。
# ビジュアルモードにて、下記コマンドで実施可能 u # ReDo Ctrl + r # UnDo
4. 画面移動(スクリーン移動)
# 現在のカーソル行ベースで画面を移動 zt # カーソル行を先頭にして画面移動 z. # カーソル行を中心にして画面移動 z- # カーソル行を末尾にして画面移動 # 次ページに移動、前ページに移動 Ctrl + f # 1ページ分次へ移動 Ctrl + b # 1ページ分前へ移動 Ctrl + e # 1行下へ移動 Ctrl + y # 1行上へ移動
5. 複数行を空白つなぎで連結する
なんとvimでは、複数行を空白つなぎで1行に連結することも出来ます!コードの見やすさの観点で構造化したソースを書き、本番反映のコードは1行で圧縮させる時等に大変便利ですね(。・ω・。)
# 複数行を空白つなぎで連結する [数値]J # [数値]分の行を連結 # 利用用途例(3Jで入力した場合) if(a==1){ i++; } ↓ if(a==1){ i++; }
6. vimのWindow分割
アイキャッチ画像に設定しているものです。便利でも有りますが、なんといってもかっこ良いですよね(笑)特に分ける必要がなくても、縦分割、右だけ横分割で、3分割にするのが好みです(。・ω・。)
# 縦・横分割 Ctrl + w + v # 縦分割 Ctrl + w + s # 横分割 # 分割したウィンドウを閉じる :q # 分割画面の移動 Ctrl + w + w # 次のウィンドウへ移動 Ctrl + w + W # 前のウィンドウへ移動
7. ファイルの文字コードを指定して読みなおす
Vimエディタでテキストファイルを開く際、ファイルが文字化けしており正しいエンコーディングで開けないことがあります。Vimは自動で文字コードを選定してはくれないので、下記コマンドで別文字コードで開き直すことが出来ます。(秀丸等のテキストエディタで言う、「文字コードを指定して読みなおす」の部分です)
# 文字コードを指定して読みなおす :e ++enc=[エンコード] # 例 -Sample- :e ++enc=shift-jis :e ++enc=euc-jp :e ++enc=utf-8
その他オススメのコマンド集ございましたら、ご享受下さい!
この記事へのコメントはありません。