LoginSignup
1
2

More than 3 years have passed since last update.

Vimコマンド集

Last updated at Posted at 2020-03-20

個人的Vim集(初心者向け)

最近Vimを操作することが多くなってきて、マウス操作にあぐらをかいてきた僕はまだまだ便利なコマンドを知らず都度都度調べながらやっていることが多いため、個人的メモとしてまとめていきたいと思います。

また、調べていて気づいたのですが、同じ操作でもコマンドが複数あるんです!なにがいいのか、などがまだまだわかんないので、とりあえず自分の得たものをまとめていきたいと思います。

[補足]コマンドが増えてきたらカテゴリでテーブルをわけていきたいと思います。

普段使うコマンド一覧(環境:Mac)

操作 コマンド 左記以外のコマンド
行を追加してInsertモード o
最初の行に移動 gg
最後の行に移動 G
指定の行に移動  {num}G (num: 数値) :{num}
行先頭に移動 0
行末尾に移動 $
1単語先に移動 w
1単語前に移動 b
操作のやり直し u
一行コピー yy
複数行コピー {num}yy [※補足1]
一単語コピー yw
次の行にペースト p
前の行にペースト P
コピーしたものを複数回ペースト {num}p
一行削除(「コピー」に対して「カット」に位置する) dd
複数行削除 {num}dd [※補足1]
全て削除 ggVGd :%d
一単語削除 dw
カーソル位置の単語削除 x
カーソル位置の前の単語削除 X
カーソル位置より後を削除 D

削除、コピーの操作は特に、コマンドを組み合わせて使っていますね。一つ一つのコマンドの意味を理解すると、理解が早くすすむと思いました。
思ったより複数のコマンドないじゃないか!と自分にツッコミました。。新しいものを使い次第どんどん更新したいと思います!!

※補足1:複数行を指定する方法

{num}yy{num}ddは、指定したい行数がはっきりわかる時に便利です。ただ、指定したい行数がわからない時には、別の方法を用います。

  • ビジュアルモードで指定する
    1.指定したい最初の行にカーソルを移動する
    2.shift + vでビジュアルモードに変更
    3.コピーしたい範囲を選択する

  • 選択したい部分をマークする
    1.指定したい最初の行にカーソルを移動する
    2.msと入力し、開始位置をマークする
    3.指定したい最後の行までカーソルを移動する
    4.コピーしたい場合はy’s、カットしたい場合はd‘sと入力

マークは、mコマンドというVimのマーク機能を使っています。

以前にコピーした履歴からペーストする

先に紹介したコマンドで可能なのはペーストの直前にコピーしたものが対象となっていています。そこで、「履歴一覧みたいなのあったらなぁ」と調べていたところ、ありました!!:regと入力をしてみてください。すると以下が表示されると思います。

--- Registers ---
""   hoge1
"*   hoge2
"+   hoge3
"-   hoge4
"/   hoge5
"0   hoge6
"1   hoge7
"2   hoge8
"3   hoge9
"4   hoge10
"5   hoge11
"6   hoge12
"7   hoge13
"8   hoge14
"9   hoge15
":   hoge16

これは履歴一覧ですが、それぞれに役割があります。細かくは、わかりやすく書いてくださっているサイトがいくつかあったのでそちらを参考にしていただければと思います。

vimでは、yyでコピーをすると、レジスタに登録されます。現在のコピー情報は0というレジスタにコピーされるみたいで、上の例でいうと"" hoge1に該当するところに格納されます。

この履歴の中から貼り付けをしたい場合は、p(P)の前にレジスタを指定してあげるといいです。上の例で行くと、hoge3をコピーしたいと思った場合は、"+pと入力してあげます。

また、上記のレジスタ以外にもa-zを用いて指定してあげることができます。


# 「a」のレジスタをコピー時に指定
"ayy
# 「a」のレジスタからペースト
"ap

また、「a」のレジスタを指定した場合、:regでみてみると、下に"a hogeが追加されています。

更新情報

2020.3.20 記事の作成
2020.3.24 レジスタの利用

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2