我安装了drawit插件。
为了将其与我需要的字符一起使用,我必须在启动插件后调用一个函数。
:DIstart
:call SetDrawIt('|','-','+','\','/','+','*')
我需要从 init.lua 或 .vimrc (或任何我认为不可能的东西)调用第二个函数,以便能够使用具有良好字符的插件。
这两行是 Ex 命令,
vimrc
中的每一行都应该是 Ex 命令,因此,从理论上讲,您只需将这两行放入您的 vimrc
中即可。
但是您的
vimrc
是在之前任何插件获取的,因此此时没有 :DIstart
命令或 SetDrawIt()
函数,您将得到的只是错误。
现在,该插件被设计为通过
:DIstart
Ex 命令或 \di
映射“按需”启动。因为它的映射会覆盖许多标准命令,所以在 Vim 启动期间启动它并没有真正的意义 除非 你只使用 Vim 来绘制 ASCII 图表。此外,那个东西是一个非常古老且特殊的插件,不遵循既定的做法,这使得设置比应有的更加困难。
通常,它应该让您通过全局变量定义您的选择,例如:
let g:drawit_symbols = ['|','-','+','\','/','+','*']
或类似的东西,但它使用一个函数来代替,如果我正确地读取这个文件,则
SetDrawIt()
函数是在自动加载脚本中定义的,但不是作为正确的自动加载函数:
fun! SetDrawIt(...
而不是:
fun! DrawIt#SetDrawIt(...
这意味着在调用此脚本中正确的自动加载函数之前,它不应该在全局范围内可用,这是非常糟糕的设计。
如果您放弃了(而且您应该)在启动时激活插件的想法,那么以下代码片段应该允许您按
<key>
来激活它并一次性设置它:
" in ~/.vimrc
function! StartDrawIt()
DIstart
call SetDrawIt('|','-','+','\','/','+','*')
endfunction
nnoremap <key> <Cmd>call StartDrawIt()<CR>
如果您真的想在启动时激活它,那么将这两行添加到
after/plugin/DrawIt.vim
应该可以:
DIstart
call SetDrawIt('|','-','+','\','/','+','*')
也许这个插件适合绘制 ASCII 图表,但它似乎根本不是一个很好的公民。