Vim Advent Calendar 2013 167æ¥ç®: ä»»æã®æ£è¦è¡¨ç¾ãã¿ã¼ã³ã«ããããã textobj ãæ¸ãã
[追è¨]
ææããã¦åãã¦æ°ã¥ãããã§ãã textobj ã operator ã«ãªã£ã¦ããã®ã§ä¿®æ£ãã¾ããâ¦ã
ç´ ã§ééãã¦æ¥ããããã
ãã®è¨äºã¯ Vim Advent Calendar 2013 167æ¥ç®ã®è¨äºã«ãªãã¾ãã
Vim Advent Calendar æ¸ããã人åéä¸ã§ãã
èå³ã®ããæ¹ã¯æ°è»½ã«ãåå ãã ããã
ãã¦ãä»åã¯ä»»æã®æ£è¦è¡¨ç¾ãã¿ã¼ã³ã«ããããã textobj ãã©ã°ã¤ã³ãã¤ããã¾ããã
ãã¨ãã¨ãä»»æã®æ£è¦è¡¨ç¾ãã¿ã¼ã³ã«ããããã textobjã㯠vim-textobj-user ã®æ©è½ã¨ãã¦åãã£ã¦ãããã§ããããããã©ãããã¦
[ä½¿ãæ¹]
textobj#from_regexp#mapexpr({pattern}) ãä»»æã®ãã¼ã«å²ãå½ã¦ã¦ä½¿ç¨ãã¾ãã
" " è¨å®ä¾ " " è±æ°å㨠_ ã«ãããããç¯å² omap <expr> i<C-w> textobj#from_regexp#mapexpr('\w\+') xmap <expr> i<C-w> textobj#from_regexp#mapexpr('\w\+') " URL ã«ãããããç¯å² omap <expr> iul textobj#from_regexp#mapexpr('https\?:\/\/\S\+') xmap <expr> iul textobj#from_regexp#mapexpr('https\?:\/\/\S\+') " # 㨠# ã® # ãé¤ããéã«ãããããç¯å² omap <expr> i<A-s> textobj#from_regexp#mapexpr('#\zs.\{-}\ze#') xmap <expr> i<A-s> textobj#from_regexp#mapexpr('#\zs.\{-}\ze#')
çµæ§æ±ç¨æ§ãé«ãããªæ°ãããã
ã¨ãããã¾ã§æ¸ãã¦è²ã
ã¨æ¹è¯ããããªã£ã¦ããâ¦ã