繁体   English   中英

执行` <Plug> `通过终端/命令行将Vim映射为启动参数

[英]Execute `<Plug>` map for Vim through terminal/command-line, as startup arguments

我每天都在使用vimwiki ,这是Vim的插件。 我想知道是否可以通过终端/命令行参数触发其<Plug>映射“ <Plug>VimwikiMakeDiaryNote ”? 我发现特定的命令定义如下:

command! -count=1 VimwikiMakeDiaryNote
  \ call vimwiki#diary#make_note(v:count1)

<Plug>映射定义为:

if !hasmapto('<Plug>VimwikiMakeDiaryNote')
 exe 'nmap <silent><unique> '.g:vimwiki_map_prefix.'<Leader>w <Plug>VimwikiMakeDiaryNote'
endif
nnoremap <unique><script> <Plug>VimwikiMakeDiaryNote :VimwikiMakeDiaryNote<CR>

是否可以通过将某些内容作为Vim的参数传递来通过终端/命令行来触发命令/映射VimwikiMakeDiaryNote

非常感谢!

祝一切顺利,

-临丰

由于<Plug> -mapping只是调用同义命令,因此直接调用该命令是最简单的。 您可以使用-c {command}+{command}选项执行任意的Ex命令:

$ vim +VimwikiMakeDiaryNote

在Windows和Linux操作系统上采用

在Windows上:使用AutoHotKey

Win + 将启动Gvim,或遍历Gvim的所有现有实例。

#i::
IfWinExist ahk_class Vim
    groupactivate, VIM, r
else
    run C:\Vim\vim80\gvim.exe, +VimwikiMakeDiaryNote, max
return
+#i:: run C:\Vim\vim80\gvim.exe +VimwikiMakeDiaryNote, , max

在Linux上

~/.bashrc添加了以下条目

alias v='vim +VimwikiMakeDiaryNote'

也许,最简单的方法是测试环境变量,例如:

if !empty($VIM_WIKI)
  " Your mappings...
endif

如果VIM_WIKI环境变量不为空,则将应用映射:

VIM_WIKI=1 vim file

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM