この記事はVim Advent Calendar 2012 : ATND 114日目の記事になります。
setコマンドでエスケープすべき文字がどれなのかわからなかったので調べてみました。
エスケープすべき文字
-
スペース
vimset commentstring=\ %s set commentstring? " set commentstring= %s
-
ダブルクォート
vimset commentstring=\"%s set commentstring? " set commentstring="%s
-
バーティカルバー
vimset commentstring=\|%s set commentstring? " set commentstring=|%s
-
改行
エスケープしなければエラーになっちゃいますけど、エスケープしても結果は<00>になってしまいます。
vimset commentstring=\<0a>%s set commentstring? " set commentstring=<00>%s
-
水平タブ
vimset commentstring=\<09>%s set commentstring? " set commentstring=<09>%s
基本的、setコマンドでエスケープすべき文字はこの5つだけでした。
同期(0x16)が面白い!
- 同期
同期(0x16)がすごく例外的で、同期(0x16)が1文字だけだとなかったことになっちゃうですね。
同期(0x16)は\
ではエスケープできなくて、同期は同期でエスケープするんですね
。
上手く使えばなにか役立ちそうですね。(棒)
vim
set commentstring=<16>%s
set commentstring?
" set commentstring=%s
set commentstring=\<16>%s
set commentstring?
" set commentstring=%s
set commentstring=%<16>s
set commentstring?
" set commentstring=%s
set commentstring=%<16><16>s
set commentstring?
" set commentstring=%<16>s
終わり
以上、「setコマンドでエスケープすべき文字」でした。
ここ最近、折紙でVimGirlを折っていてとりあえず第1作が出来ました v( ・ω・)m。