読者です 読者をやめる 読者になる 読者になる

プログラミングの魔物

エラー、バグ、仕様変更と戦うブログ

vimコマンド覚書

チートシートに載ってない奴。自分用

[オペレータ][数値][モーション]
例:)d2w・・・削除を2単語分行う。2dwでも同じ

移動

コマンド 機能
e 単語の終端へ移動
gg 文頭へ
G 文末へ
[数値]G 指定行へ
H 画面の最上行へ
M 画面の中央行へ
L 画面の最下行へ

挿入

コマンド 機能
a カーソルの後ろに挿入
A 行末に挿入
I 行頭から入力
c[モーション] モーションで指定された部分を削除して挿入
o 下の行へ挿入
O 上の行へ挿入
Ctrl+vjI 複数行の行頭に文字列挿入(コメントアウトなど)
Ctrl+vj$A 複数行の末尾に文字列挿入

ファイル

コマンド 機能
:e ファイル名 ファイルを開く
:e# 一つ前の編集ファイルに戻る
:w 保存
:w >> ファイル名 最後に書き加える
:r ファイル名 カーソルの次の行にファイルを読み込み挿入
:r カーソルの次の行に現在のファイルを読み込み挿入
:n 複数ファイルの編集時、次のファイルを編集対象とする
:args 編集ファイルの一覧
:qa vim終了
:x 保存して閉じる

編集

コマンド 機能
S 現在行を他の文字列で置換
yw 単語のコピー
ggVG 全選択
Ctrl+a カーソル位置の数字をインクリメント
Ctrl+x デクリメント
> インデント
< インデント解除
= 自動インデント

入力補完

コマンド 機能
Ctrl+p 入力補完(前方検索)
Ctrl+n 入力補完(後方検索)
Ctrl+y または Ctrl+x 決定

履歴

コマンド 機能
q: コマンド履歴。↑↓で選択Enterで実行
q/ or q? 検索履歴

その他

コマンド 機能
Ctrl+c Escと同じ
Ctrl+v,[Enter] コマンド上で改行入力
コマンド中にCtrl+D→Tab 補完
:!外部コマンド 例:):!ls・・・ディレクトリ一覧
Ctrl+G 行の詳細表示

コンパイル

コマンド 機能
\r quickrun(C++等実行)
Ctrl+F9 Lua実行
Opt+F9 Luaシンタックスチェック