Vi memo

【 vi 】
<undo(1つ前の状態に戻る)>
u

<redo(undoの逆)>
ctrl + r

<検索>
「/」入力後、検索文字列を入力。
n を入力で次にヒットした位置に移動。
N で上方向。
検索文字には正規表現使用可。

<特殊検索>
*   現在カーソルがある単語を、下に検索
#   現在カーソルがある単語を、上に検索

<コピーペースト>
コピー:「v」→矢印キーで範囲指定
ペースト:[Shift] + p

ペーストは、ノーマルモードに戻って p でもOK


<ペースト(型崩れ)>
:a!
ペースト
エスケープキー


<1行削除>
dd
3 dd  3行削除


<1行コピー>
yy
3yy 3行コピー

<ペースト>
p

<移動>
^ 行頭
$ 末尾

f + 何かの文字

<{ 移動>
{ の上で % で、対応する } に移動


<ビジュアルモード>
v 文字単位のビジュアルモード
V 行単位
ctrl V 矩形単位

<全選択>
gg V → shift G


<行番号表示>
esc → set number


<置換>
s/state/State/g    カーソル行のみ
%s/state/State/g     ファイル全体、確認表示を市内
%s/state/State/gc    ファイル全体、確認表示

<アンドゥ>
u

<リドゥ>
Ctrl + r


<分割>
sp
vs
Ctrl + w        エリア移動
:e logout.php   別ファイルを開く
:close          エリアを閉じる


<タブ>
:tabnew
:tabe filename
gt  タブ間移動 
vim -p


<直前の操作を繰り返す>
.


<インデントを揃える(設定によっては効かない? あと、vimのみ?)>
=

gg → shift g → =

----(有効となる設定)-----
~/.vimrc 
ファイルに
:filetype indent on
を記述。
ファイルが無ければ作成。
------------------------


<補完機能(たぶん  、vimのみ)>
Ctrl + n


<矩形選択からの入力(多分、vimのみ)>
Ctrl + Shift + v  → SHift + i → (入力) → Esc


<行番号を表示>
:set number

<コードハイライト>
:syntax on

<タブのスペース数を設定>
:set tabstop=4

<大文字小文字を区別しない>
:set ignore


~/.vimrc 
に保存可。

<テキストオブジェクト>