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

これからvimコマンドを使おうとしている方々へ

$
0
0

はじめに

Vimが本当に便利だ!と言われて触り始めたのですが、覚えることがとても多く何度も挫折しそうになりました。今でこそかなり使いこなせるようになりましたが、現在に至るまでにはとても長い道のりが、、、

Vimコマンドに慣れるコツ
1. とにかく使ってみる
2. 1つ1つ使えるコマンドを増やしていく

この2つがコツだと思いますが、特に2番がキツイです。どのサイトを見てもコマンドが大量に並んでいて「こんなに覚えるのかあああ」となってしまいます。このページでは、レベル別にコマンドを小出しにすることで、ちょっとずつ慣れていき、気がついたらかなり使いこなせるようになったという状況を作り出したいと思います。

レベル0(大前提)

vimには4つのモードがある(カッコ内はそのモードへ行くためのコマンド)
- ノーマルモード(esc)
- 入力モード(i)
- 選択モード(v)
- コマンドモード(:)

レベル1(これを知らないとそもそも何もできない)

h左へ移動
j下へ移動
k上へ移動
l右へ移動
x(カーソル下の文字を)削除
i(カーソル左に)挿入
:w保存
:q終了
:wq保存して終了
:q!保存せずに終了

レベル2(ここまで知ってやっと普通に作業ができる)

v選択(選択モード)
y(カーソル上の文字を)コピー (選択モード時)
p(右or下に)ペースト
u直前の作業の取り消し

レベル3(移動スピードを上げる その1)

w 1単語左へ移動
b 1単語右へ移動
gg先頭行へ移動
G最終行へ移動
^行頭へ移動
$行末へ移動

レベル4(挿入スピードを上げる)

i(カーソル左に)挿入 ←レベル1でやった基本
a(カーソル右に)挿入
o(下の行に)挿入 ←小文字の「オー」
O(上の行に)挿入 ←大文字の「オー」
I(行頭に)挿入
A(行末に)挿入

レベル5(移動スピードを上げる その2)

e単語末へ移動
E直前の単語末へ移動
%対応する括弧へ移動

レベル6(削除スピードを上げる)

x(カーソル下の文字を)削除 ←レベル1でやった基本
X(カーソル左の文字を)削除
dd(1行)削除
ndd(n行)削除
dw(カーソル位置から単語末尾までを)削除
d$(カーソル位置から行末までを)削除
d%(カッコを中身ごと)削除

レベル7(コピー&ペースト)

yl 1文字コピー
nyl n文字コピー
yw 1単語コピー
nyw n単語コピー
yy 1行コピー
nyy n行コピー
y$行末までコピー
y%対応する括弧までコピー
P(左or上に)ペースト

ペーストに関して
1. コピーが文字単位だったら右or左にペーストされて、行単位だったら上or下にペーストされる
2. xまたはdで削除した後にpコマンドを打つと削除した分がペーストされる(つまり削除=カット)

レベル8(選択モード)

v(カーソル上の文字を)選択→その後上下左右で選択範囲を広げられる
V(1行)選択
ctrl + v(縦に)選択

レベル9(変更=削除+挿入)

r(カーソル下の)文字の置き換え(「r+置換したい文字」で使用する)
s(カーソル下の文字を)削除+挿入モードに
ns(n文字)削除+挿入モードに
ciw(選択中の文字を)削除+挿入モードに
cw(カーソルから単語末まで)削除+挿入モードに
c$(カーソルから行末まで)削除+挿入モードに
c%(カッコを中身ごと)削除+挿入モードに

レベル10(移動スピードを上げる その2)

w次の単語の先頭へ移動(行中を早く進みたい時に使用)
b前の単語の先頭へ移動
e次の単語末へ移動
ctrl + f次のページへ移動(ファイル内を早く進みたい時に使用)
ctrl + b前のページへ移動
nG n行目へ移動
%対になる()or{}or[]へ移動

とりあえずこれくらいにします。僕自身もまだまだ勉強途中なので、新しいコマンドを覚えたら追加します。「ここ間違ってるよ!」とか「こんなコマンドあるよ!」とかあったらコメントください!
ちなみに、普段はrubyMineのキーバインドを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>