📜

カーソル行のVim9 scriptを実行する

に公開

まずはLegacy Vim scriptから

私はg:にマッピングしています

nnoremap g: <Cmd>.source<CR>

sourceがレンジを受け付けてくれるので カーソル行を示す.を指定すればOKです

Vim9 scriptを実行する

g9にマッピングする場合、以下の通りです

nnoremap g9 <Cmd>vim9cmd :.source<CR>

単純に<Cmd>.vim9cmd source<CR>のようにvim9cmdにレンジを渡そうとすると以下のエラーになってしまいます

E481: No range allowed.

そこで:.でsourceにレンジを渡しています

ビジュアルモードの選択範囲を実行する

ビジュアルモードでは以下のようにマッピングします
レンジに'<,'>を渡すだけなので簡単!

xnoremap g: :source<CR>
xnoremap g9 :vim9cmd source<CR>

あ、:'<,'>vim9cmd sourceはエラーになりません(なんで?)

まとめ

これでちょっとvenry!ฅ⊏'ꣲ'|ฅ

nnoremap g: <Cmd>.source<CR>
nnoremap g9 <Cmd>vim9cmd :.source<CR>
xnoremap g: :source<CR>
xnoremap g9 :vim9cmd source<CR>
GitHubで編集を提案

Discussion