Closed1
lexima.vimで{.pragma.}の閉じ括弧を補完する
VSCode NeoVimからneovimに移行中、lexima.vimという閉じ括弧補完の定番らしいプラグインを知ったので、VSCodeではできなかった{.pragma.}
のような斜に構えたやや複雑な閉じ括弧の補完をしてみる。
init.lua
-- カーソルが{}内にいるときドットを押すと補完
vim.fn['lexima#add_rule'] {
char = '.',
at = [[{\%#}]],
input_after = '.',
filetype = {"nim", "nims", "nimble"}
}
-- カーソルの後ろにドットがあるときドットを押すとカーソルを右にずらす
vim.fn['lexima#add_rule'] {
char = '.',
at = [[{\%#.}]],
leave = 1,
filetype = {"nim", "nims", "nimble"}
}
-- カーソルが{..}内にいるときBackSpaceで後ろのドットも消去
vim.fn['lexima#add_rule'] {
char = '<BS>',
at = [[{.\%#.}]],
delete = 1,
filetype = {"nim", "nims", "nimble"}
}
引数at
に渡す文字列だけ[[]]
で囲んでいるのは、シングルクォートだとカーソルを表す\%#
が不当なメタ文字扱いされてlspに怒られるため。
このスクラップは2024/03/18にクローズされました