emacsからvimに乗り換える

少しvimを触ってみる。

escは遠い。

インサートモードでのjjをescに割り当てる。

qiita.com

 

モードとIMEのOn、Off状況を覚えてられない。

im_control.vim - <C-^>でIM切替が行える場合 - fudist

 

あと、jjをescにするとIME Onの時にjjして「っj」とかなって悲しい。

jjをやめてjfにする。

mba-hack.blogspot.jp

ファイルを開く

:e ファイル名

 

終了

:q

 

保存

:w

 

別名で保存

:w ファイル名

 

行頭へ移動

^

 

行末へ移動

$

 

検索

*

カーソルのある場所の単語を検索(便利)

 

/xxxxx

xxxxxを検索

正規表現で検索

/regexp

ただし(とかエスケープしないといけない(面倒)

/(call)+ <-ダメ

/\(call\)+ <-OK

エスケープしないといけない文字が覚えられない。

very magicでなんとかする

/\v(call)+ <-OK

deris.hatenablog.jp

 

置換

:%s/置換前/置換後/g

確認しながらは

:%s/置換前/置換後/gc

正規表現するなら以下

:%s/\v置換前/置換後/gc

 区切りは/じゃなくて;でもいいらしい

:%s;\v(call)+;called;gc

qiita.com

grep、置換する。

:grep 検索文字 対象ファイル

:grep 検索文字 対象ファイル|cw

でQuickfixウィンドウが開くはずなんだけど、

「余分な文字が後ろにあります」

 

と怒られる。

:grep xxx後に:cwでお茶を濁す。

 

置換の時が面倒。

:args /temp/xxx/**/*.*

して

:argdo %s/\vxxx/xxx/g|update

なにがいやって、grepと置換でやること違う。

それと、内容確認してから置換ができない。

 

vim(vimgrep)も考えたけど遅いのが気に入らない。

 ので

The Silver Searcher + Ag.vim +qfreplaceにする。

qfreplace.vimなるものを作ってみた - 永遠に未完成 

 

:Ag パターン ファイル

grep

Quickfixリストが開くから

:qfreplace

で置換用バッファを開いて書き換え。

:w

で保存。

 

と思ったら。widowsではag使えない。

使えなくないけど、シェルがワイルドカードを展開してくれないから同じ使い勝手にならない。macwindowsで使い方変えたくないんだけどなあ。。。

しょうがないからwindowsではgrep(中身はfindstr)して:cw -> :qfreplace -> :wで行くか。

 

vimrc再読み

:source ~/.vimrc

d.hatena.ne.jp

 

バッファを閉じる

:bd

 

バッファの移動

<C-w>h

<C-w>j

<C-w>k

<C-w>l

 

オペレータとモーション

 力尽きた

Vim documentation: motion

Vim のテキスト編集 〜基礎編〜 - Vim のブログ

今更聞けないvimの話

Vimのオペレーターとモーションについて ‹ 技術の犬小屋

 

入力補完

NeoCompleteで

 

Undo、Redo

uとctrl+r