ãã®è¨äºã¯ Vim é§ ä¼ã® 9 æ¬ç®ã®è¨äºã§ãã
9 æ¬ç®ã¨ãããã¨ã§ãVim9 script ã«ã¤ãã¦æ¸ãã¾ãã
Vim ã§ã¯ Vim script ã使ã£ã¦ã¨ãã£ã¿ã®æåãæ¡å¼µã§ãã¾ãããVim 9.0 ã§ã¯æ°ãã« Vim9 script ã追å ããã¾ãããæ¬è¨äºã§ã¯ãã®ãããã¨ãã¦ãVim9 script ã®å®è¡æ¹æ³ã«ã¤ãã¦ç°¡åã«ç´¹ä»ãã¾ãã
Vim9 script ã«ã¤ãã¦
徿¥ã® Vim script ã«ã¯ããããåé¡ãããã¾ãããç¹ã«å®è¡ãããã³ã«ãã¼ã¹ãè¡ãé¢ä¿ä¸ãåä½ãé常ã«é ããã¾ãäºææ§ã®è¦³ç¹ãããããã¥ããææ³ããã£ãããã¾ãã
Vim9 script 㯠Vim script ã¨ã®äºææ§ãæ¨ã¦ãå¦çé度ã®åä¸ã¨ããããããããææ³ãæä¾ããç®çã§å°å ¥ããã¾ããã ã¨è¨ã£ã¦ãããã¼ã¹ã¨ãªãææ³ã大ããå¤ãããã¨ã¯ãããããã¤ãã®ã¨ã£ã¤ãã¥ããææ³ã®è¦ç´ããè¡ããã¦ãã¾ãã
ãã®ä»ã®ç¹å¾´ã¨ãã¦ãåã®å°å ¥ã«ããåãã§ãã¯ã®æ©è½ãããã¾ãã éçºä¸ã®æ©è½ã§ãããå°æ¥çã«ããã¾ãè¤éãªãã§ãã¯ãã§ããããã«ãªããã¨ã¯ãªãã®ã§ã¯ãªããã¨å人çã«ã¯äºæ³ãã¦ãã¾ãã
Vim9 script ã®å®è¡æ¹æ³
Vim9 script ã¨ãã¦å®è¡ãããã³ã¼ããæ¸ãæ¹æ³ã¯å¤§ãã 4 種é¡ããã¾ãã
ãã¡ã¤ã«
ãã¡ã¤ã«ã®å
é ã« :vim9script
Ex ã³ãã³ããç½®ãã¨ããã®ãã¡ã¤ã«ã¯ Vim9 script ã¨ãã¦å®è¡ããã¾ãã
vim9script var name = 'Vim9 script' echo $'Hello, {name}'
颿°
Vim script ã§ã¯ :function
Ex ã³ãã³ãã§é¢æ°ãä½ãã¾ãã
Vim9 script ã§ã¯ã代ããã« :def
ã使ãã¾ãããã㯠Vim script ä¸ã«ãæ··å¨ãã¦æ¸ããã¨ãã§ãã颿°ã®ä¸èº«ã ãã Vim9 script ã«ãªãã¾ãã
" ãã㯠Vim script let g:hello = 'Hello' def! Greeting(name: string) # ãã㯠Vim9 script echo $'{g:hello}, {name}' enddef " ãã㯠Vim script call Greeting('Vim9 script')
Vim9 script ã§å®ç¾©ãã颿°ãé常㮠Vim script ããå¼ã³åºããã¨ãã§ãã¾ãã
:vim9cmd
Ex ã³ãã³ã
:vim9cmd
Ex ã³ãã³ãã使ãã¨ããã®å ´ã§ã ã Vim9 script ãå®è¡ã§ãã¾ãã
vim9cmd var name = 'Vim9 script' vim9cmd echo $'Hello, {name}'
:command
㨠:autocmd
:command
Ex ã³ãã³ã㨠:autocmd
Ex ã³ãã³ãã§ã¯ãå®è¡ãããã³ãã³ãã®é¨åã«ãããã¯è¨æ³ã«ãã Vim9 script ã®è¨è¿°ãã§ãã¾ãã
command! -nargs=1 Hello { var name = <q-args> echo $'Hello, {name}' } Hello Vim9 script
" ãµã³ãã«ãªã®ã§ augroup ã¯çç¥ autocmd! User hello-vim9 { echo 'Hello, Vim9 script' } doautocmd User hello-vim9
ãã®å ´åã®ãããã¯ã¯ }
ã§å§ã¾ãè¡ãçµäºè¡ã¨ãããããå
¥ãåã«ãããªã©ãã¦å¥ã® }
ãè¡é ã«æ¥ã¦ãã¾ãã¨æå¾
éãã«åä½ããªããã¨ã«æ³¨æãå¿
è¦ã§ãã
autocmd
ã¯ãVim9 script å
ã§å®è¡ããã¨ãã®å
容ã Vim9 script ã¨ãã¦è§£éããã¾ãã
def! MyAutocmd() autocmd! User hello-vim9 g:str = 'Vim9 script' enddef call MyAutocmd() doautocmd User hello-vim9 echo $'Hello, {g:str}'
ã¾ã¨ã
Vim9 script ãå®è¡ããæ¹æ³ã«ã¤ãã¦ç´¹ä»ãã¾ããã
- ãã¡ã¤ã«å ¨ä½ã Vim9 script ã¨ãã¦å®è¡ããæ¹æ³
- Vim9 script ã®é¢æ°ãå®ç¾©ããæ¹æ³
- 䏿çã« Vim9 script ãå®è¡ããæ¹æ³
- ãã®ä»ã®ç¹æ®ãªç®æ
ã¨è¨ã£ã¦ããVim9 script ã®æ¸ãæ¹ãããããªãã¨ä¸èº«ãæ¸ããªããã¨æãã¾ãã
Vim9 script èªä½ã®æ¸ãæ¹ã«ã¤ãã¦ã¯ããã(æ°ãåããã)æ¸ããã¨æãã¾ãã