プログラム関係の備忘録。技術系記事1000記事以上を目指すブログ

vimtutorをまとめて理解をより深める

  • 2021年11月15日
  • 2021年11月15日
  • 未分類
  • 203view
  • 0件

はじめに

本記事は筆者がようやく重い腰を上げてvimの理解に努めようとしたもので、基本的にはvimtutorのそのままの内容を復習としてアウトプットしています。要はこの記事読むならvimtutorやった方が体形的に入門できるよってこと。

Lesson1〜2の振り返り

0. vimでファイルを開く

vim ***
例)vim sample.text

 1. カーソル移動

hjklキーで移動する。矢印キーも可。

  • h:左
  • j:下   
  • k:上
  • l:右

2. モーション

カーソル移動とは別にモーションと呼ばれる便利な機能。
他コマンドと組み合わせて利用することもできる

  • w : カーソル位置から空白を含む単語の末尾まで。
  • e : カーソル位置から空白を含まない単語の末尾まで。
  • $ : カーソル位置から行末まで。

モーションにカウントを追加する

単語2つ分前に移動する
2w
3つ目の単語の終端に移動
3e
行頭に移動する
0

  3. Vimの終了

変更を破棄して終了
<ESC> :q!

変更を保存して終了
<ESC> :wq

4.文字の削除

カーソル下の文字を削除
x
単語の削除(2のモーションとの組み合わせ)
dw
カーソル上から行末まで削除(2のモーションとの組み合わせ)
d$

5. インサートモード

カーソル位置上で文字を挿入するとき
i
カーソル位置の次(行末)に文字を挿入するとき
a

6.オペレータ、カウンタ、モーションの組み合わせ

単語2つ分を削除する
d2w
3行削除する
d3$

7.行全体の削除

上記でd3$のようにも削除できるが、頻繁に利用される行の削除は以下で可能となっている

dd

つまり3行削除をしたいときはd3$ではなく3ddの方が早く実行できる

8.やりなおし

最後のコマンドを取り消す
u
取り消しの取り消し
ctrl + r
行単位で変更を元に戻す
U

Lesson3の振り返り

1.貼り付けコマンド

(ddでvimのバッファに文字列を格納した状態で)
p

2.置き換えコマンド

r
続けて置き換える文字をタイプ

3.変更コマンド

単語の一部や全体を変更したいときは置き換えではなく以下を使用する

cw
(変更したい文字列をタイプ)
esc

c$
(変更したい文字列をタイプ)
esc

※wや$は削除コマンド同様モーションの使用が可能

Lesson4の振り返り

1.ファイル内の位置と状態を表示

ctrl + G
(ファイル末尾に移動する)
G
(ファイル先頭に移動する)
gg
(特定の行に移動する 例:540)
540G

2.検索コマンド

(検索)
/**
(次の箇所を検索)
n
(逆方向に検索)
N

(逆方向に検索)
?**

(元の位置に戻る)
ctrl + o

3.対応する括弧を検索(移動)

%
(もう一度タイプで元の位置に戻る)
%

4.検索して置換

(該当行で最初にヒットしたtheeをtheに置換)
:s/thee/the

(該当行のtheeを全てtheに置換)
:s/thee/the/g

(ファイル全体のtheeをtheに置換)
:%s/thee/the/g

(ファイル全体のtheeをtheに確認をとりながら置換)
:%s/thee/the/gc

Lesson5の振り返り

1.外部コマンドを実行

(ディレクトリ一覧を表示)
:! ls

(testというファイル名で変更を保存)
:w test

(上記で作成したファイルを削除)
:!rm test

2.選択した箇所を書き込み

v
(テキストが強調表示される)
(終了したい位置で)
:
(TESTというファイルに書き込む)
w TEST

3.ファイルの取り込みと合併

(先程のファイルを取り込む)
:r TEST

Lesson6の振り返り

1.オープンコマンド

(カーソルの下に行を挿入しインサートモードに)
o

(カーソルの上に行を挿入しインサートモードに)
O

2.その他の置換

R

3.テキストのコピー

(ヴィジュアルモードで範囲を選択する)
v
(コピーする)
y
(ペーストする)
p