- 331 名前:名無しさん@Vim%Chalice mailto:sage [03/02/10 04:12]
- 正規表現で制御文字そのものを表すatomって無いんでしょうか?
<Esc>, <Tab>, <CR>, <BS>は既に存在する(\e, \t, \r, \b)んですが、 ^Jなどは表現できないですよねぇ…? 例えば、レジスタaに入ってる文字列から<Ctrl-J>を削除しようとした時に substitute(@a, '^@', '', 'g') のように、関数内で<Ctrl-V><Ctrl-J>して直接char codeを入れちゃうと 実行時にエラーになってしまうので… # ^@の部分が<Ctrl-V><Ctrl-J>です。 # ^@は改行を意味するのでsubstitute()の呼び出しが無効になります。 <Ctrl-V><Ctrl-J>の代わりに\rや[:cntrl:]で置換しようとしてもできませんでした。 文字を直接ascii codeで指定できたりすると良いんですけどね… \0x0a (← ctrl-J)みたいな感じで (\0x61なら'a'になるみたいな)
|

|