Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Vim を使い始めようと思ったからチートシートを作ってみた

$
0
0

Vim チートシート

起動

コマンド動作
vim {path/file}vim を実行(指定ファイルを開く)

終了

キー入力動作
:q[uit]終了
:q!終了(編集破棄)

ファイル操作

キー入力動作
:e[dit] {path/file}ファイルを開く(相対ファイルパスを入力。[TAB]で補完入力)
:e[dit] {path}ファイルエクスプローラを指定パスでオープン([TAB]で補完入力)
:e.ファイルエクスプローラをカレントディレクトリでオープン
:E[xplore]アクティブなバッファのディレクトリでファイルエクスプローラをオープン
:S[explore]:E の水平分割版
:Vexplore:E の垂直分割版
:findファイルを検索して開く
検索先は path に予め設定しておく
src配下なら :set path+=src/**
:sav[eas] {path/file}ファイル名を付けて保存
:w[rite]ファイルの上書き保存

モード切替

ノーマルモード

キー入力動作
[ESC]
[CTRL] + ]
ノーマルモード

インサートモード開始

キー入力動作
iカーソル位置から
aカーソル位置の後ろから
I行頭から
A行末から
oカーソル行の下に新規行
Oカーソル行の上に新規行
Cカーソル位置から行末を削除
sカーソル位置を1文字削除
Sカーソル行で新規行

置換モード開始

キー入力動作
R
[INS]
置換モード

ビジュアルモード開始

※ トグルでノーマルモードと切り替わる

キー入力動作
v文字指向
V行指向
[CTRL] + vブロック指向

ビジュアルモード中

キー入力動作
gv直前の選択範囲を再選択
o選択範囲の始点と終点をトグルで移動

カーソル移動

キー入力動作
h
j
k
l
w
b
単語の先頭(区切り文字まで)
W
B
単語の先頭(区切り文字を除く)
e単語の末尾(区切り文字まで)
E単語の末尾(区切り文字を除く)
ggファイルの先頭行
Gファイルの末尾行
H画面の先頭行
M画面の中央行
L画面の末尾行
0行頭
^行頭(非空白文字)
$行末
gm行の中央
g_行末(非空白文字)
%対の括弧
:{number}number行
''ジャンプ前の位置
'.直前に変更があった位置
'^直前に挿入があった位置
m{a-zA-Z}現在位置をマーク
'{a-zA-Z}マークした位置

ノーマルモード中の編集

キー入力動作
x1文字カット
dd1行カット
.直前の変更を繰り返す
yy1行コピー
pペースト(カーソル位置の後)
Pペースト(カーソル位置の前)
uアンドゥ
[CTRL] + rリドゥ

インサートモード中の編集

キー入力動作
[CTRL] + h直前の1文字削除
[CTRL] + w直前の1単語削除
[CTRL] + u行頭まで削除
[CTRL] + r{number}ペースト

検索

行内1文字検索

キー入力動作
f{char}前方検索
t{char}前方検索(1文字前)
F{char}後方検索
T{char}後方検索(1文字後)
;次を検索
,前を検索

ファイル内文字列検索

キー入力動作
/{pattern}ファイル内で前方検索
?{pattern}ファイル内で後方検索
*カーソル位置の単語を前方検索
#カーソル位置の単語を後方検索
n次を検索
N前を検索

置換

文字列置換

キー入力動作
:[%]s/{pattern}/{string}置換(%なし=前方, %あり=全て)

1文字(上書き)

キー入力動作
r{char}1文字上書き(置換モード)
gr{char}1文字上書き(仮想置換モード)

インデント

準備
:set shiftwidth=4 softtabstop=4 expandtab

キー入力動作
>インデントを下げる
<インデントを上げる
=自動インデント

ウインドウ

キー入力動作
[CTRL] + w, s水平分割
[CTRL] + w, v垂直分割
[CTRL] + w, cアクティブウインドウを閉じる
[CTRL] + w, oアクティブウインドウだけ残す
[CTRL] + w, Tアクティブウインドウを新規タブに移動
gt次のタブに切替
gT前のタブに切替

参考


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>