概要
Vimのポップアップ機能を使って、
j
を押した時にランダムでスライム(っぽいもの)を表示するようにしてみました
コード
.vimrc
function! RandomEncount()
let l:line = line('.')
let l:now = localtime()
let l:random = l:now % l:line
if l:random >= 5
call popup_notification("スライムがあらわれた", #{
\ line: 13,
\ col: 75,
\ })
let l:slime = readfile(expand("~/slime.txt"))
call popup_dialog(l:slime, #{
\ maxheight: 40,
\ minwidth: 40,
\ moved: "WORD",
\ })
endif
endfunction
j
を押した時にポップアップ機能の実行とカーソル移動を行う設定
.vimrc
nnoremap <silent> j j:call RandomEncount()<CR>
使用したpopup関数
popup_notification
3秒間 第一引数をVimに表示させる。
第二引数のオプションで表示行と表示列を設定。
popup_dialog
Vimの中央に枠付きのポップアップウィンドウを表示させる。
第一引数がポップアップの内容。
第二引数のオプションでポップアップのサイズとカーソルを動かした時にポップアップウィンドウを閉じるように設定。