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

俺的覚えておくべきvimコマンド

$
0
0

どうも、vim使いのyamachaaanです。

僕が普段コーディングをする際によく使うvimコマンドをまとめてみました。

編集, 保存, 終了

コマンド動作
:e [file]fileを開く
:w保存
:q終了
:q!保存せず終了

編集,保存,終了に関しては、基本的に:w:q!がメインです。
「もう今日の作業はおしまい!」って時は:wq!を使います。

移動系

コマンド動作
h, j, k, l左, 下, 上, 右
w1単語分進む
W1単語分進む(記号では区切られないので, 次のスペースや, 改行文字まで飛ぶ)
b1単語分戻る
B1単語分戻る(記号では区切られないので, 前のスペースや, 改行文字まで飛ぶ)
ggファイルの先頭に移動
Gファイルの最後に移動
[数値]gg, [数値]G, :[数値][数値]行に移動
H, M, L画面に表示されている行について, 最初の行(H), 真ん中の行(M), 最後の行(L)に移動
0行の先頭に移動
$行の最後に移動
%対応する括弧に移動
Ctrl-u半画面分戻る
Ctrl-d半画面分進む
Ctrl-b1画面分戻る
Ctrl-f1画面分進む

移動系コマンドは、wbを多用します。
あとはggG,[数値]ggもよく使うコマンドです。
phpなんかで括弧の数を確認する時には%が便利です。もう%連打です。
実行してみて、SyntaxErrorが出ようものなら、%連打。これで安心。
僕の中でCtrl-uあたりの使用頻度はあまり高くないですが、23インチ縦配置とかすると必須コマンドになると思います。

モード変更

コマンド動作
escノーマルモードに戻る
iカーソル位置からインサートモードに入る
aカーソルの直後からインサートモードに入る
I行頭からインサートモードに入る
A行末からインサートモードに入る
V行単位の選択をするビジュアルモードに入る
Ctrl-v矩形選択をするビジュアルモードに入る
:コマンドラインモードに入る(続けてコマンドを打ち, Enterで実行)

モード変更のコマンドはvimを使う上で必須です。
覚えようとして覚えるのではなく、esc,i,V,:あたりを無心で使えるようになったあとで
「もっと楽をしたい!」
と思えば自然と覚えると思います。

削除, コピー

コマンド動作
xカーソル上の文字を消す
ddカーソルがある行を消す
dwカーソル位置から1単語分削除する
yyカーソルがある行をコピー
yビジュアルモードで選択されている部分をコピー
pカーソル行の下の行にペースト

ぶっちゃけ、コレしか使いません。
diwとかccとか便利と言う話を耳にしますが、使いたい人が使えばいいと思います。
僕は有用性を感じてないので使ってないです。

検索

コマンド動作
/続けて文字を打ち, Enterで文字列を確定し, 後方検索をかける
?続けて文字を打ち, Enterで文字列を確定し, 前方検索をかける
n次の単語に移る
N前の単語に移る

検索は使います。でも、検索よりも後述する置換の方が使用頻度は高いです。

Undo, Redo, 繰り返し

コマンド動作
uUndo
Ctrl-rRedo
.直前の操作の繰り返し

undoは⌘+zではありません。Windows?すいませんわかりません。(ctrl+zだっけ?)

インデント

コマンド動作
>>インデントを追加
<<インデントを削除

インデント1つ=tab1つと設定してたりしますが、ノーマルモードにいる時は、>>安定です。
インデントを削除する時はdeleteキーではなく、<<です。

置換

コマンド動作
:%s/before/after/gファイル上の全ての"before"を"after"に置換

置換コマンド、めちゃくちゃ使います。
htmlのリンクを
<a herf =>
と書いてしまうことが多いからです。
置換前と置換後に/が含まれる場合は、
:%s;<h2>;</h2>;g
という風に/;に置き換えます。これのおかげで閉じタグのミスを修正するのが早くなりました。

ウィンドウ操作

コマンド動作
Ctrl-w sウィンドウを横に分割する
Ctrl-w vウィンドウを縦に分割する
Ctrl-w w次のウィンドウに移動
Ctrl-w p前のウィンドウに移動
Ctrl-w h, j, k, l左, 下, 上, 右のウィンドウに移動する

ウィンドウの分割は好みだと思いますが、htmlを開いたままCSSを編集する時なんかに重宝します。
余裕があれば覚えておくくらいでもいいと思います。

タブ

コマンド動作
:tabnew [file]新しいタブを開く. ファイル名を入力した場合は, そのファイルを開く
:tabnext次のタブに移動する
:tabprevious前のタブに移動する
:tabfirst1番目のタブに移動する
:tablast最後のタブに移動する
gt次のタブに移動する. gtの直前に数字をつけると, 数字番目のタブに移動する
gT一つ前のタブに移動する

僕はtab機能は割りと使う方だと思いますが、最近は面倒なのでサブディスプレイに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>