7
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

setコマンドでエスケープすべき文字

Last updated at Posted at 2013-03-24

この記事はVim Advent Calendar 2012 : ATND 114日目の記事になります。
setコマンドでエスケープすべき文字がどれなのかわからなかったので調べてみました。

エスケープすべき文字

  1. スペース

    vim
    set commentstring=\ %s
    set commentstring?
    " set commentstring= %s
    
  2. ダブルクォート

    vim
    set commentstring=\"%s
    set commentstring?
    " set commentstring="%s
    
  3. バーティカルバー

    vim
    set commentstring=\|%s
    set commentstring?
    " set commentstring=|%s
    
  4. 改行

    エスケープしなければエラーになっちゃいますけど、エスケープしても結果は<00>になってしまいます。

    vim
    set commentstring=\<0a>%s
    set commentstring?
    " set commentstring=<00>%s
    
  5. 水平タブ

    vim
    set 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。

https://twitter.com/rbtnn/status/316206645917126657

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?