-
Notifications
You must be signed in to change notification settings - Fork 0
Vim Commands
Yutaro Ishiwata edited this page Sep 12, 2021
·
32 revisions
.vimrcを再読込
:source ~/.vimrc
ファイルを開く
:e ファイルまでのパス
直前の操作を繰り返す(ドットコマンド)
.
モーション | 説明 |
---|---|
i | 挿入モード(カーソルの前から) |
a | 挿入モード(カーソルの後から) |
A | 挿入モード(行末から) |
: | コマンドライン |
v | ビジュアル |
V | 行単位 |
C-v | 短形単位 |
/ | 検索 |
o | 新しい行を追加し挿入モードへ |
R | 上書きモード |
※ S
= shift, C
= control
モーション | 説明 |
---|---|
dd | カーソルがある1列削除 |
yy | 1列コピー |
p | ペースト |
u | 操作を1つ戻す |
C-u | 操作を1つ前に戻す |
J | カーソルがある行に1つ下の行を連結する |
ls | バッファリスト |
!ls | シェルでls |
call mkdir(“hoge”) | ディレクトリの作成 |
モーション | 説明 |
---|---|
= | 選択範囲をインデントを整形する |
:retab | vimrcで定めたtab幅に変換 |
e! | ファイルリロード |
bro ol + q + {番号} | 過去に開いた履歴からファイルを開く(番号を指定して開く) |
モーション | 説明 |
---|---|
gg | ページの一番上に行く |
G | ページの一番下に行く |
w | 単語単位で右 |
b | 単語単位で左 |
H | 表示されている画面の一番上の行に移動 |
M | 表示されている画面の真ん中に行く |
L | 表示されている画面の一番下に行く |
C-f | 1ページ分下にスクロール |
C-b | 1ページ分上にスクロール |
0 | 行の先頭へ(インデント無視して先頭へ) |
^ | 行の先頭へ(キーマッピングS-h) |
$ | 行の末尾へ(キーマッピングS-l) |
+ | 下の行の先頭へ |
- | 上の行の先頭へ |
S-> | インデントを深く(複数行可) |
S-< | インデントを浅く(複数行可) |
モーション | 説明 |
---|---|
/hoge | [/]のあとの文字列を検索する(Control-f的なあれ) |
n | [/]で検索した文字列の次の検索候補に飛ぶ |
N | [/]で検索した文字列の前の検索候補に飛ぶ |
* | カーソルがある位置の単語を下方向に検索 |
# | カーソルがある位置の単語を上方向に検索 |
モーション | 説明 |
---|---|
:vim {pattern} {file} | 指定したファイルの中身を検索する。 |
:vim {pattern} % | 開いているファイルの中身を検索する。(カレントバッファ) |
:vim {pattern} * | カレントディレクトリにあるファイルすべてを検索する。 |
:vim {pattern} */ | cw |
モーション | 説明 |
---|---|
:s/hoge/fuga | カーソルがある行の一箇所をhogeからfugaに置換 |
:s/hoge/fuga/g | カーソルがある行の全てをhogeからfugaに置換 |
:%s/hoge/fuga/g | ファイル全てのをhogeからfugaに置換 |
:%s/hoge/fuga/gc | ファイル全てから毎回確認してhogeからfugaに置換 |
:%s;hoge;fuga | スラッシュを含む文字列の場合カンマで置換 |
モーション | 説明 |
---|---|
C-p | 補完(前方検索) |
C-n | 補完(後方検索) |
モーション | 説明 |
---|---|
:ascii | カーソル上の文字のASCIIコードを表示 |
モーション | 説明 |
---|---|
:new ファイルパス | 上下分割して、新しいファイルの編集開始 |
:vne ファイルパス | 左右分割して、新しいファイルの編集開始 |
ZZ | 上書き保存し、viを終了 |
:w | 内容を保存 |
:w ファイルパス | 名前をつけて保存 |
:q! | 保存せずに終了 |
モーション | 説明 |
---|---|
水平分割 | :sp |
垂直分割 | :vs |
左に移動 | H |
下に移動 | J |
上に移動 | K |
右に移動 | L |
回転 | r |
C-方向キー(h,j,k,l) | アクティブウィンドウを移動 |
モーション | 説明 |
---|---|
:tabnew | 新しいタブ作成 |
:tabe filename | filenameをタブで開く |
:tabclose | タブを閉じる |
gt | 次のタブへ |
gT | 前のタブへ(キーマッピングtg) |
{N}gt | タブ番号を前置するとそこへ移動 |
モーション | 説明 |
---|---|
c | VisualModeで選択した範囲を消してInsertModeで終わる |
ci | 括弧の中身だけを消す(例:[ci"] "この中だけが消えます") |
ciw | カーソルの下にある1単語を消してInsertModeに入る(英語・カタカナ・ひらがな・漢字で分けられる) |
cit | htmlのタグに囲まれている中を消します |
dw | カーソルから右にある単語を消す(NormalModeで終わる) |
daw | カーソルの下にある単語を消す |
D | カーソルから右にある文を全て消す |
S | カーソルのある1行を全て消してInsertModeにはいる |
モーション | 機能 | 説明 |
---|---|---|
C-Insert | コピー | ビジュアルモードで選択したテキストをコピー。コピーしたテキストはクリップボードに入る。 |
C-Delete | カット | ビジュアルモードで選択したテキストをカット。カットしたテキストはクリップボードに入る。 |
S-Delete | カット | ビジュアルモードで選択したテキストをカット。カットしたテキストはクリップボードに入る。 |
S-Insert | ペースト | クリップボードのテキストをペースト。 |
ターミナル起動
:term
:term bash //bashを指定して起動
ターミナル終了
:exit
モーション | 説明 |
---|---|
C-w N | 端末ノーマルモード(terminalの内容をテキストとして扱える。コピー可) |
i | 端末ジョブモード(端末ノーマルモードから抜ける。aでも可) |
C-w "" | ペースト(端末ジョブモードで動作する) |
全選択
G V gg
後方削除
db x
前方削除
b dw
単語全体削除(.コマンドで連続削除可)
daw
カッコの中身を削除
db
指定文字まで移動
f{char}
指定行まで移動
{行番号}G
対応したカッコ
%
複数行コメント
C v
S i
# or // etc ...
esc
簡単な計算
C-r =
置換モードで文字上書き
f{char}
R{上書き文字}〈esc〉
入れたプラグインを確認
:Unite dein
インストール
:call dein#install()
ファイル名で検索
:Ag -g ファイル名
一致したファイル名のみ
:Ag -l ファイル名
一致していないファイル名のみ
:Ag -L ファイル名
正規表現を無視
:Ag -Q 検索ワード
拡張子を指定して検索
Ag hoge -G \.pug$
ファイルツリー表示プラグイン
モーション | 説明 |
---|---|
o(enter) | ファイルを開く |
r | 再読み込み |
go | ファイルを開き、カーソルはツリーに保持する |
t | タブで開く |
T | タブで開き、移動はしない |
i | 水平分割して開く |
gi | 水平分割して開き、移動はしない |
s | 垂直分割して開く |
gs | 垂直分割して開き、移動はしない |
q | NERDTreeを閉じる |
I (大文字のアイ) | 隠しファイルを表示する |
f | フィルタをONにする |
F | ファイルを表示する |
B | ブックマークを表示する |
m | ファイルのコピー、追加、削除、リネーム |
統合ユーザーインターフェイス
モーション | 説明 |
---|---|
space + b | buffer の一覧 |
space + f | カレントディレクトリのファイルとディレクトリ一覧 |
space + r | + f |
q | Unite停止 |
Git操作用プラグイン
モーション | 説明 |
---|---|
Gstatus | 新しい窓を作ってgit statusを表示 |
Gwrite | 現在開いているソースをgit add |
Gread | 現在開いているソースの直前のコミット時のソースを表示 |
Gblame | 現在のソースのgit blameを表示 |
あいまい検索プラグイン
モーション | 説明 |
---|---|
C-p | 起動 |
Enter | ファイルを開く |
C-t | 新しい画面で開く |
上書きするには 'fenc' を空にしてください' みたいなエラーが出たら.
write error, conversion failed (make 'fenc' empty to override)
下記を実行してfencの中を空にする
:set fenc=
:set expandtab
設定時にtabを入力する
C-v <Tab>
gvimの表示言語を変更 コントロールパネル->システムの詳細設定->環境変数 ここに新規で、変数名:"LANG" 変数値:"en_US/CP932" を追加する。
Vim初心者に捧ぐ実践的入門
よく使う Vim のコマンドまとめ
VimmerなGit使いはfugitive.vimを今すぐ入れたほうがいい
Vimで高速で移動~プラグインなしでの移動まとめ~
覚えておきたい Vim コマンド 備忘録