勉強中の関連記事まとめ
自分用の勉強記事をまとめた目次 ~擬似知識体系~
ターミナルだけで完結したいときに便利だから覚えとこう。
基本的にノーマルモード状態からのコマンド入力となる。
#起動
vim
vimを起動
vim ファイル名
ファイルを作成してvimを起動(パス/ファイル名)
#モード選択
esc
各種モードを離脱してノーマルモードに戻る
i
入力モード
:
コマンドモード
v
ビジュアルモード(選択モード)
#ヘルプ
:h operator
ヘルプ
``
#保存・終了・ファイル開く
:w
上書き保存
:w ファイル名
名前をつけて新規保存
:q
終了
:q!
強制終了
:wq
or :x
or ZZ
保存して終了
:xa
変更があるタブを保存して全てのタブを閉じる
:e ファイル名
ファイルを開く
#アンドゥ・リドゥ
u
アンドゥ
ctrl + r
リドゥ
.
直前の操作を繰り返す
#カーソル移動
h
←
j
↓
k
↑
l
→
覚え方は、デフォルトポジションのチョキが上下、そのサイドキーが左右。
gg
ファイルの最初へ
G
ファイルの最後へ
H
表示画面の最上行へ
M
表示画面の中央行へ
L
表示画面の最下行へ
ctrl + b
前ページへ
ctrl + f
次ページへ
w
次の単語へ(熟語単位)
b
前の単語へ(熟語単位)
e
次の単語へ(単語単位)
ge
前の単語へ(単語単位)
^
行頭へ
$
行末へ
:3
3行目へ(行数指定)
%
カーソル位置のカッコと対になるカッコへ
f?
現在の行で?と一致する最初の文字へ
f? + ;
現在の行で?と一致する次の文字へ
m + アルファベット
カーソル位置の行をマーク
` + アルファベット
マークした行へ
#範囲選択
v
一文字選択(ビジュアルモード)
V
行選択
ctrl + v
矩形選択
ggVG
全選択
#編集
i
インサート入力(カーソルの左側から)
a
アフター入力(カーソルの右側から)
c
選択範囲を削除して入力モードに移行
I
行の最初の非空白文字から入力
A
行末から入力
o
下に行を追加してから入力
O
上に行を追加してから入力
J
カーソル位置の行と下の行を連結
短径選択 + I + 挿入文字列 + esc
一括で同じ編集を加える(ちょっと複雑)
>>
右にインデント
<<
左にインデント
=
カーソル位置の行のインデントを自動整列
~
カーソル位置の文字の小文字・大文字を切替え
U
選択範囲の文字の小文字・大文字を切替え
#テキストオブジェクト編集
c,d,y
操作選択(置換・削除・コピー)
i,a
範囲選択(内容・全体)
w,s,t,",),]
オブジェクト選択(単語・文・htmlタグ・クォーテーション・カッコ)
例)cit
タグの内容のみを置換
例)cat
タグ全体を置換
例)ci"
" "の内容のみを置換
例)diw
一単語の内容のみ削除
例)dw
カーソル位置より右側の単語範囲を削除
例)daw
カーソル位置の単語を削除
例)viw
一単語選択
#削除
x
一文字削除
dd
一行削除
3dd
3行削除(行数指定)
短径選択 + x
一括削除
D
or d$
カーソル位置から行末まで削除
S
カーソル位置の一行を削除して入力モードに移行
#コピペ
yy
コピー
3yy
3行コピー行数指定)
p
ペースト(削除やコピーした際のクリップボードから)
#検索
/???
キーワード検索
/??? + n
次の該当ワードへ
/??? + N
前の該当ワードへ
*
カーソル位置の単語と同じ単語へ(順)
#
カーソル位置の単語と同じ単語へ(逆)
ctrl + n
入力中の文字列をファイル内を参照して予測変換
#置換
:s/文字列1/文字列2/
カーソルに近い最初の文字列1を文字列2に置換
:s/文字列1/文字列2/g
行内の該当する全文字列を置換
:%/文字列1/文字列2/g
ファイル全体の全文字列を置換
:%s/文字列1/文字列2/gc
実行前に確認を求められる
#画面分割
:sp
水平分割
:vs
垂直分割
ctrl + w
画面選択
:close
画面を閉じる
#コマンドによる一時的な拡張機能
:set tabstop=3
Tabスペースの文字数を指定
:syntax on
テキストに色をつける
:syntax off
つけない
:set ignorecase
// キーワード検索で小文字・大文字を含める
:set noignorecase
// 含めない
#vim設定ファイルによる拡張機能
$ vim ~/.vimrc
syntax on // テキストに色を付ける
syntax off // テキストに色を付けない
set number // 行番号を表示
set title // ファイル名を表示
set ignorecase // キーワード検索で小文字・大文字を含める
set noignorecase // 含めない