LoginSignup
7
6

More than 5 years have passed since last update.

vim vi tips

Last updated at Posted at 2014-12-10

モード関連

ノーマルモード
入力モード(i)→ESC
コマンドモード(:)→ESC
ビュジュアルモード(v)→ESC 選択モード

ファイルの保存・読み込み(コマンドモード)

:w 上書き保存
:w **.php 名前をつけて保存
:q 終了
:q! 変更を無視して終了
:e *
*.php 別のファイルを開く

移動系コマンド(ノーマルモード)

gg 一番上の行へ
G 一番下の行へ

CTRL+f 画面移動
CTRL+b 画面戻る

w 単語単位で移動
b 単語単位で戻る

^ 行頭に移動
$ 行末に移動
f+文字 文字までジャンプ、「;」で次の文字までジャンプ
% かっこの上で「%」入力→対応するかっこまで移動

選択系コマンド(ビジュアルモード)

v 文字単位のビジュアルモード・選択
V 行単位のビジュアルモード・選択
CTRL+v 矩形単位のビジュアルモード・選択
全選択 gg V G

カット(削除)、コピー、貼付け(ノーマルモード)

x 1文字カット(削除)
dd 1行カット(削除)
5dd 5行カット(削除)
p 貼付け
yy コピー
3yy 3行コピー

検索(ノーマルモード)

/+文字

n 下方向に検索
N 上方向に検索
* 今カーソルがある位置の単語を上検索(完全一致)
# 今カーソルがある位置の単語を下検索(完全一致)

置換(ノーマルモード)

:s/置換する文字/置換後の文字/
:s/i/I/g カーソルがある行を一気に置換)
:%s/i/I/g 全てを一気に置換
:%s/i/I/gc 全てを一気に置換(一つずつ確認)

undo関連

undo u 元に戻す(何度でも戻れる)
redo CTRL+r (undoを元に戻す)

ウィンドウ分割(コマンドモード)

:sp 縦に並べて分割
CTRL+w w ウィンドウ間の移動
:vs 横に並べて分割
:close ウィンドウを閉じる

タブ(コマンドモード)

:tabnew 新しいタブを作る
:tabe ***.php ファイルを指定して開く

gt タブ間を移動

:tabclose タブを閉じる

vimを起動する時にタブを開く
vim -p **.php **.php タブ2つ開く

:tabdo %s/html/HTML/g 全てのタブで置換

直前の動作を繰り返す

.(ピリオド)

インデントを揃える

=(イコール)
gg V G =(全選択してイコール)

補完機能

CTRL+n(長い変数名など、入力途中に「CTRL+n」と入力すると補完)

矩形選択後に編集

CTRL+v(矩形選択)→ I(挿入モード)→ 文字入力 →ESC(全て編集される)
CTRL+v(矩形選択)→ x (削除)

テキストオブジェクト(ノーマルモード)文書の構造を見てオブジェクトとして扱う

c/d/y change (delete & insert)
i/a 中身か全体か
t/"/}"] tagなど

設定(コマンドモード)

:set number (行番号を表示)
:set nonumber (行番号を非表示)
:syntax on (コードを色分け)
:syntax off (色分け終了)
:set tabstop=8 (タブの文字数を規定)
:set ignorecase (検索の時に大文字・小文字の区分けしない)
:set noignorecase (小文字だけに戻す)

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6