ドットインストールでVimに再入門してみた
少し前に今使っているIDEのエディタをVimに変更したが,Vimの機能を使いこなせていない感が否めなかったので改めてドットインストールで再入門することにした.今回は自分が知らない・使っていないコマンドについてまとめてみる.
https://dotinstall.com/lessons/basic_vim
Vim入門(全18回)
- 01 Vimを使ってみよう
- 02 Vimのモードについて
- 03 ファイルの保存,読み込みについて
- 04 移動をマスターしよう(1)
- 05 移動をマスターしよう(2)
- 06 ビジュアルモードについて
- 07 カット,コピー,貼付けについて
- 08 検索をしてみよう
- 09 置換をしてみよう
- 10 操作の取り消しをしてみよう
- 11 ウィンドウの分割をしよう
- 12 タブを使ってみよう
- 13 直前の操作を繰り返す
- 14 インデントを揃えよう
- 15 補完機能を使ってみよう
- 16 矩形選択後に編集する
- 17 テキストオブジェクトを扱う
- 18 便利な設定を使う
03 ファイルの保存,読み込みについて
05 移動をマスターしよう (2)
- ノーマルモードになり,
f + 任意の文字
でその行に指定した文字があればそこに移動する.;
で順方向に再検索,,
で逆方向に再検索できる. - ノーマルモードになり,括弧にカーソルを合わせて
%
を押すとその括弧に対応するもう片方の括弧へ移動する.始めの括弧,閉じ括弧どちらでも使うことができる.
08 検索をしてみよう
- ノーマルモードになり,ある単語にカーソルを合わせ
*
を入力するとその単語について順方向に検索してくれる.#
を入力すると逆方向に検索する.
09 置換をしてみよう
:s/置換前文字列/置換後文字列
でカーソル行を対象にヒットした置換前文字列を置換後文字列に変換する.ただし,置換されるのは最初にヒットした文字列のみ.:s/置換前文字列/置換後文字列/g
でカーソル行全体を対象に置換する.%s/置換前文字列/置換後文字列/g
でファイル全体を対象に置換する.%
がファイル全体を表している.%s/置換前文字列/置換後文字列/gc
のようにconfirmを意味するcをつけることでインタラクティブに置換する.
11 ウィンドウの分割をしよう
:sp
で上下にウィンドウが分割され,:vs
で左右にウィンドウが分割される.- ウィンドウ間を移動するときはノーマルモードで
Ctrl+w
を二回押せばよい.複数画面を開いている場合は連打で移動できる. - ウィンドウを閉じる時は
:close
を入力する.
12 タブを使ってみよう
- タブのように新規で開きたい場合は
:tabnew
と入力する.開きたいファイルが決まっている場合は:tabe ファイル名
と入力することで指定したファイルが新規タブで開く. - タブ間の移動はノーマルモードで
gt
. - タブを閉じる時は
:tabclose
. - Vimを立ち上げる時にtabで開きたいときはコンソールから
vim -p ファイル1 ファイル2
. - すべてのタブを対象に置換をしたいときは
tabdo %s/置換前文字列/置換後文字列/g
.
13 直前の操作を繰り返す
- ノーマルモードで
.
を押すと直前の操作を繰り返す.例えば3dd
で3行消したあと他の行で.
を押すとその行以降を対象に3行が削除される.
14 インデントを揃えよう
- ノーマルモードで
=
を押すとインデントを揃えてくれる.
15 補完機能を使ってみよう
- 入力モードで変数名や関数名を入力している途中で
Ctrl + n
を押すと候補が表示される.
17 テキストオブジェクトを扱う
<title>タイトル</title>
- 上記のテキストにカーソルを合わせノーマルモードで
cit
と打つとタイトル
の文字が消え,その位置で挿入モードになる. cit
のc
はアクションを表す.c
の場合は削除して挿入モードに変更.d
は削除,y
はコピーなど他のアクションに置き換える事も可能.cit
のi
は範囲を表す.i
はタグの中身が範囲でa
に置き換えるとタグ全体が範囲になる.上記の場合でa
にするとごと消えて挿入モードになる. cit
のt
はターゲットを表す.t
の場合はタグに対して行う.他にも"
や)
,]
などがある.
18 便利な設定を使う
:syntax on
でシンタックスハイライトが実現できる.:syntax off
で元に戻す.:set tabstop=4
でインデントタブの長さを変えることができる.:set ignorecase
で大文字小文字を無視した検索ができる.:set noignorecase
で元に戻す.