初心者のためのVim学習コマンド一覧
はじめに
私は現在、プログラミング学習をしており、学習を進める中でVimのことについて学習をしました。
本ブログでは、Vimとは何かということから、初心者がVimを扱うために必須のコマンドについてまとめましたので、Vimを、学びたい、扱いたいと考えている方には是非見ていただけると幸いです。
Vimとは
Vimとは、エディタの一つです。CUI(コマンド・ユーザー・インターフェース)を前提に作られているため、マウスを使う設計にされておらず、コマンドを使ってフォルダーを開いたり、フォルダーの中を編集したりすることが出来ます。
ターミナルで動きますが、Vimを開いているときは、その開いているターミナルのタブは、1つのエディターとして考えます。
Vimを用いると、キーボードのみでコードを書くことが可能になるため生産性の向上が期待されます。
Vimの操作コマンドステップ5
とはいっても、Vimはコマンドが数えきれないほどあるため覚えるのが大変なのです。(自分も現在このブログを作成するために初めて使っていますが、、、)
複数のステップにわたって、徐々に「これを知っているとよい」というコマンドを紹介します。
まずは基礎操作です。
<移動>
h
カーソルを左にずらす。
j
カーソルを下に下げる。
k
カーソルを上に上げる。
l
カーゾルを右にずらす。
<入力と保存>
a
カーゾルの場所から1文字つめてインサートモードに入る。
i
カーソルの場所からインサートモードに入る。
x
カーソルの直下の文字を消す。
:w
ファイルの保存
:q
実行中のタブを閉じる
:wq
上を組み合わせて、保存して閉じる。
:w!
のように、最後に!をつけると、強制的に処理を行う。
いかがでしょうか?なんやこれは!?って思いませんか?
大丈夫です、今これを書いているぼくも思っています。慣れれば劇的に使いやすくなるものらしいですので、一緒に最後まで頑張りましょう。
ここで、、、
Vimのモードには、3種類あります。それをご紹介します。
1.NormalMode(コマンド入力モード)
カーソルの移動・他のモードへの移行・テキストのコピー・カット・ペースト
起動の仕方:Esc
2.InsertMode(文字入力モード)
起動の仕方:a/i/A/i/ciw
テキストの入力・編集
3.VisualMode(文字選択モード)
テキストの選択
起動の仕方:v
〇ステップ1
まずは1ステップです。一緒にマスターしましょう!
<基本コマンド>
dd
カーソルがある1列削除
yy
1列コピー
p
ペースト
u
操作を1つ戻す
j
カーソルがある行に1つ下の行を連結する。
<カーソル移動>
gg
ページの一番上に行く
G
ページの一番下に行く
H
表示されている画面の一番上に行く。
M
表示されている画面の真ん中に行く。
L
表示されている画面の一番下に行く。
<ページ内検索>
/hoge
/のあとの文字列を検索する。
n
/で検索した文字列の次の検索候補にとぶ。
N
/で検索した文字列の前のnに索候補にとぶ。
この辺は必須みたいです。さて、どんどんいきましょう!
〇ステップ2
<文字の入力の応用>
A
カーソルのある行の最後にインサートモードで飛ぶ
I
カーソルのある行の最初にインサートモードで飛ぶ
.
直前にやったことを繰り返す。
<カーソル移動>
$
カーソルのある行の最後にノーマルモードで飛ぶ。
^
カーソルのある行の最初にノーマルモードで飛ぶ。
<VisualMode>
v
インサートモードに入る
v + 移動キー
範囲選択が出来る
v + (1) + y
選択した範囲をコピー
v + (1) + d
選択した範囲を削除
この辺になると、正直もういいやってなってしまいそうです。ですが、最初や最後、インサートやノーマルを指定しながら一気に飛べるのは非常に便利ですね。
さて、つぎにまいりましょう!
〇ステップ3
<カーソルの移動をはかどらせるコマンド>
w
1単語飛ばしてカーソルを右に動かす。
e
1単語飛ばして、カーソルを右に動かす。
b
1単語飛ばして、カーソルを左に動かす。
h,j,k,l があれば、忘れてしまいそうなコマンドですね。
〇ステップ4
<削除系のコマンド>
c
ビジュアルモードで選択した範囲を消して、インサートモードで終わる。
ci
括弧の中身だけを消す。
ciw
カーソルの下にある1単語を消して、インサートモードに入る。
cit
hrmlタグに囲まれている中を消す。
dw
カーソルから右にある単語を消す。
daw
カーソルの下にある単語を消す。
D
カーソルから右にある分をすべて消す。
S
カーソルのある1行を消してインサートモードに入る。
気が遠くなりそうですね。たぶんこの辺は、もう使いこなしている方がカタカタやっているイメージではないかと自分は踏んでいます。
そういえば、スマートフォンで、単語帳のアプリを使い、Vimのコマンドの単語帳を自作しました。コツコツ覚えて、確かなスキルにしていきたいものです。
さて、次で最後です!
〇ステップ5
<その他の役立つコマンド>
:!{Shellコマンド}
Vim内でShellのコマンドが使える
m
m+a~Z
で好きな行をマークしておいて、`+a~Z
でマークしたところへ飛べる
`
"
~
カーソル直下の文字の大文字、小文字を切り替える。
%
括弧がカーソル直下にある場合、 括弧終わり→括弧はじめ に飛ぶ。
U
選択した範囲を大文字小文字切り替える。
* + #
カーソルの置いてある単語を検索する。
:n
nに数字を入れると、その行に飛ぶ。
ggVG
全て選択
Control - v
インサートモード(箱型)
<保存系>
ZZ
変更があれば保存しゅうりょう。
:x
変更があれば保存して終了。
:xa
変更があるタブを保存して全タブを閉じる。
〇おわりに
いかがだったでしょうか。この程度できれば、作業効率もりもりで作業できます。(そうです、、、)
これから、わたしもこのコマンドたちを覚えていって、使いこなせるようになりたいと思います。
学習中のみなさん、一緒に頑張りましょう!