覚え書き/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]-

脚注

  • [1]nnnは数値
  • [2]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

トップ 差分 一覧 ソース 検索 RSS ログイン