覚え書き/vim
正規表現
- 複数行マッチ
\_
- メールヘッダの一行化
s/[\r\n]*\_^[\s\t]\+/ /g
コマンド
- コマンドヒストリー
q:
- 連続実行 「 | 」
:%s/a/b/ | :%s/b/c/
タブ→スペース変換
:set expandtab :%retab
スペース→タブ変換
:set noexpandtab :%retab!
ctags
- tags ファイルの生成
!ctags *.c *.cpp *.h
- 定義への移動
Ctrl + [
- 戻る
Ctrl + t
perldo
http://www.ac.cyberhome.ne.jp/~yakahaira/vimdoc/if_perl.html
- 行挿入
:perl for(my $i=0;$i<=0xFF;++$i){$curbuf->Append($i,sprintf("%02X",$i));}
- 各行への適用
:perld $_ =~ s/aaa/bbb/g;
%とかの範囲指定なしの模様
文字コード
- 文字コードを指定して開き直す
:e ++enc=EUC-JP % :e ++enc=Shift_JIS % :e ++enc=UTF-8 %
インクリメント/デクリメント
- インクリメント
- Ctrl+a
- デクリメント
- Ctrl+x // jvim3.0 on windows では動かない?
数値の扱い
- 10進数
- nnn[1]
- 16進数
- 0xnnn/0Xnnn
- 8進数
- 0nnn
マルチウィンドウ
- 分割
- Ctrl+w,s
- 縦分割
- Ctrl+w,v
- 新規
- Ctrl+w,n
- 等幅
- Ctrl+w,=
- 幅増
- Ctrl+w,[n[2]]+
- 幅減
- Ctrl+w,[n]-
脚注
移動
- カーソル位置を画面真ん中へ
zz
インデント
- 巨大な html 等を読んでインデントが重いとき
:se indentexpr=
http://www.ac.cyberhome.ne.jp/~yakahaira/vimdoc/indent.html
HTML編集
閉じタグ自動挿入
Ctrl + -
http://nanasi.jp/articles/vim/closetag_vim.html
トラブルシューティング
Windows で "E16: 無効な範囲です" というエラーが発生する
ディレクトリ名などにカギ括弧 '[', ']' が使われている場合に発生することがある。
どうも、正規表現の文字クラスか何かとしてパースしようとしている様に見受けられる。
例
C:\tmp\[Z-000001]\test.rb
Z-0 という範囲が ASCII コードで大きい値から小さい値への範囲という「無効な範囲」として認識されてしまっている模様。vim 7.1, 7.3 で発生。KaoriYaビルド、本家どちらでも発生している。
お便利ページ
http://www.glasscom.com/tone/linux/Reference/Vi/ViReference.htm
http://www.kawaz.jp/pukiwiki/index.php?vim
http://archiva.jp/web/tool/vim_basic.html
http://ogawa.s18.xrea.com/fswiki/wiki.cgi?page=Vim%A4%CE%A5%E1%A5%E2
メモ書き
LastModified:2011/03/24 15:41.21