如何让 vim 可以在命令行执行命令并且附加参数

时间:2023-01-09 14:27:58

常见的一个实现例子是  vim +PluginInstall   可以通过在 Terminal 里面直接运行 vim 的 command

我找到的可以实现这种方法的是

command! Search call MySearch()

一般情况下,可以直接在 vim 中通过 :Search 运行,但如果在 Terminal 中可以直接执行  vim +Search  就能进入 vim 并运行 MySearch() 方法。

 

但如何给这个函数添加 参数呢?

function! MySearch(grep_term)
" your logic
endfunction
command! -nargs=1 Search call MySearch(<q-args>)

这样就行了,那么还有一个问题,如何在 Terminal 中 给 Search 附带参数呢?

可以用 空格给 Search 添加参数

vim +Search\ your_args

注意,这里的反斜杠一定要加上,否则将会打开 your_args 这个文件

另外,这里分享一个类似 ack.vim 插件的->教程链接,只用了近二十行代码就实现了 ack.vim 类似的功能,如果能结合本文给出的方法,生活一定更加精彩吧。

 

vim +Ack\ lsof\ ~/wiki

 

by yantze.