見出し画像

まずは、これだけ覚えて始めよう。Vim編

基本を覚えて、さらに向こうへ踏み出そう

Vimは、テキストエディタです。 マウスは使いませんので、肩こり、腱鞘炎にもなりづらい。 矢印キーもほとんどつかわず、右手人差し指、中指、薬指で「h、j、k、l」で、 「左、下、上、右」にカーソルを移動させます。

一般的なテキストエディタは、読む、書くといった場面によって操作は変わりませんが、 Vimは、役割によって4つのモードがあります。 ノーマルモード、インサートモード、ヴィジュアルモード、コマンドモードです。

ノーマルモード
読んだり、カーソルを移動、コピー、ペースト、検索、置換、削除したりするときのモードです。このモードでは文字の入力はできません。 他のモードからノーマルモードにするには、<ESC>、あるいは、Ctrl+[を押します。

h

    現在のカーソル位置からカーソルを左に1文字移動させます。
j

    現在のカーソル位置からカーソルを下に1行移動させます。
k

    現在のカーソル位置からカーソルを上に1行移動させます。
l

    現在のカーソル位置からカーソルを右に1文字移動させます。
gg

    現在のカーソル位置から文書の先頭行にカーソルを移動させます。
G

    現在のカーソル位置から文書の最終行にカーソルを移動させます。
g;

    現在のカーソル位置から直前の変更位置にカーソルを移動させます。
g,

    g;で戻ったカーソル位置から移動元にカーソルを移動させます。
Ctrl+o

    現在のカーソル位置から直前の移動位置にカーソルを移動させます。
Ctrl+i

    Ctrl+oで戻ったカーソル位置から移動元にカーソルを移動させます。
Ctrl+f

    表示されている画面を1ページとして、1ページ分進めます。
Ctrl+b

    表示されている画面を1ページとして、1ページ分戻します。
gv

    ノーマルモードに戻ってgvを押すと、直前の選択範囲が復活します。
r

    カーソル位置の文字を指定した文字に置換します。
R

    カーソル位置の文字から上書きします。
dd

    行削除します。削除された文字列はコピーされています。
D

    現在のカーソル位置から行末まで削除します。削除された文字列はコピーされています。
x

    カーソル位置の1文字を削除します。削除された文字列はコピーされています。
X

    カーソル位置の前の1文字を削除します。削除された文字列はコピーされています。
yw

    単語をコピーします。
yy , Y

    現在カーソルのある行をコピーします。改行も含みます。
y$

    現在のカーソル位置から行末までコピーします。
yi" ダブルクォーテーションをシングルクォートや(、[、{、<などに替えて使います。

    ダブルクォーテーション内をコピーします。
di"

    ダブルクォーテーション内を削除します。削除された文字列はコピーされています。
p

    コピーした内容をカーソル位置の後ろにペーストします。
P

    コピーした内容をカーソル位置の前にペーストします。
W

    空白あるいは、改行で区切られた次の単語の先頭に移動します。
u

    操作を一つ前に戻します。
Ctrl+r

    uで戻した操作を元に戻します。
.

    直前に実行した操作をもう一度実行します。
{

    段落の上の空白行に移動します。
}

    段落の下の空白行に移動します。
%

    対となる括弧「(),[],{}」へ移動します。
f{1文字}

    その行の順方向に一文字検索して、移動します。
F{1文字}

    その行の逆方向に一文字検索して、移動します。
;

    順方向に繰り返し検索して、移動します。
,

    逆方向に繰り返し検索して、移動します。
/

    順方向に文字列検索して、最初に見つかったところに移動します。
?

    逆方向に文字列検索して、最初に見つかったところに移動します。
n

    順方向に繰り返し検索して、移動します。
N

    逆方向に繰り返し検索して、移動します。
zz

    カーソルを画面の中心に移動します。
z<Enter>

    カーソル位置が画面先頭になるように移動します。
m{英数字1文字}

    現在のカーソル位置をマークします。
'{英数字1文字}

    マークされた{英数字1文字}場所へ移動します。

インサートモード
文字を挿入するときのモードです。基本的に、削除、修正はノーマルモードで行いますが、このモードの方が違和感なくできます。 ノーマルモードで、「i、I、a、A」のいずれかを押します。

i

    現在のカーソル位置から文字を入力できるようになります。
I

    行頭にカーソル位置が移動し文字を入力できるようになります。
a

    現在のカーソル位置のうしろから文字を入力できるようになります。
A

    行末にカーソル位置が移動して文字を入力できるようになります。
O

    直上の行に空行を追加して文字を入力できるようになります。
o

    現在カーソルのある行の下に空白行を追加してインサートモードにします。
s

    現在のカーソル上の文字削除してインサートモードにします。
S

    現在カーソルのある行を削除してインサートモードにします。

ヴィジュアルモード
範囲選択をするときのモードです。範囲選択して、 y を押すとコピー、 d を押すと削除をします。 範囲選択が始まるノーマルモード同様「h、j、k、l」で、「左、下、上、右」にカーソルを移動させて範囲を決定します。 ノーマルモードから、「v、V、Ctrl+v」のいずれかを押します。

v

    現在のカーソル位置から範囲選択ができるようになります。
V

    行単位で範囲選択ができるようになります。
Ctrl+v

    現在のカーソル位置を起点にした範囲選択ができるようになります。
gv

    ノーマルモードに戻ってgvを押すと、直前の選択範囲が復活します。

コマンドラインモード
ファイルの保存、Vimの終了、文字列置換、シェルコマンドやPythonの実行などを行えます。 ノーマルモードで「:」を押します。

:q

    保存しないでvimを終了します。
:q!

    保存しないで強制的にvimを終了します。
:qa!

    保存しないで強制的にvimで開いているバッファ全てを終了します。
:w

    保存します。
:w!

    強制的に保存します。
:wa!

    強制的にvimで開いているバッファ全てを保存します。
:wq

    保存してvimを終了します。
:wq!

    強制的に保存してvimを終了します。
:waq!

    強制的にvimで開いているバッファ全てを保存して終了します。
:ZZ

    保存してvimを終了します。
:s/検索文字列/置換文字列/gc

    現在カーソルのある行で、文字列を検索して置換します。正規表現が使えます。
:%s/検索文字列/置換文字列/gc

    文書全体から、文字列を検索して置換します。正規表現が使えます。
:'<,'>s/検索文字列/置換文字列/gc

    ヴィジュアルモードで選択した範囲で、文字列を検索して置換します。正規表現が使えます。
:py3 print('Hello New World!')

    vim内蔵のPythonを実行します。
:!ls -thl

    シェルコマンドを実行します。
:r!ls -thl

    カーソル位置にシェルコマンドの実行結果を挿入します。
:reg

    レジスタの内容を表示します。
:ls

    バッファの一覧を表示します。

ターミナルで「vimtutor」と打ってエンターを押すと、「Vim教本(チュートリアル)」が起動するので、上から読んで、試して、をすると、いい感じに使い始められます。

ヘルプも充実していますので、わからないときは、まずはヘルプから検索することをおすすめします。ヘルプの中を探したり、読んだりしていると、他の機能も目に入ってくるので、目に止まったところを読むと使い方も広がります。

いいなと思ったら応援しよう!