Questions tagged «plugin-system»

Vim的插件系统。不适用于有关特定插件的问题(使用适当的plugin- *标签)或可能需要插件的问题。



2
如何重新定义插件键映射?
我安装了一个不提供禁用其定义的键映射的机制的插件。我想<leader>cc为我自己的目的重新定义插件定义的映射()之一,我尝试将以下行放入我的.vimrc: noremap <leader>cc echo "my purpose" 但这不起作用,<leader>cc仍在执行plugin命令。 如何定义映射,使其覆盖插件定义的映射?

5
适用于.vimrc和插件的GitHub
我知道很多人将.vimrc存储在GitHub上,以便更轻松地开始在新计算机上工作,这对我来说完全有意义。但是,包括插件是有问题的,因为我使用的插件已经是git存储库。如何创建一个可同时跟踪其.vimrc和任何可能安装的插件的存储库?

1
为什么不普遍使用Vimball?
我已经看到很多Vim插件似乎没有Vimballs。 Vimball基本上是vim知道如何安装的插件的压缩包。因此,它们比使用起来更为方便,tar -xvf 因为您不必/不必担心tarball的目录结构以不同的方式嵌套,例如,它是从.vim还是在.vim目录结构中嵌套的,或者压缩包中是否有一个与插件同名的父文件夹,等等。 我在Github上看到的插件越来越少,也没有看到。 是否有积极尝试弃用它们? 如果可以,为什么? 这是因为我们现在有Vundle,Pathogen等吗?

1
找出哪个插件负责按键绑定
我正要回答一个问题,但意识到我的答案取决于我已安装的插件提供的按键绑定。更糟糕的是,我不知道哪个插件提供了它。 我知道解决此问题的唯一方法是通过禁用一半并启用另一半来“二进制搜索”已安装的插件。我使用Vundle来管理我的插件,因此每次迭代仅需要我注释掉插件列表的一部分,但这仍然是一个笨拙的过程。 有没有更好的方法来确定哪个插件负责给定的键绑定?有没有办法确定给定的键绑定是否vimrc直接由我的文件提供? 我意识到Vim没有内置的插件概念,所以也许问题更确切地说是“如何确定包含vimscript的文件负责给定的键绑定?”。

2
是什么使Vundle插件兼容,并且其他插件管理器可以互换?
很长一段时间以来,我一直在使用Vundle来管理我的vim插件。最好的办法是,我基本上只是将插件组织在一个隔离的目录结构中,并跟踪针对源URL进行更新的情况,这些URL通常在插件目录中手动并排排列。 我遇到过多个在多个插件管理器下使用相同插件的参考。例如NeoBundle似乎使用相同的插件。但是,似乎还有许多其他插件管理器。在使用相同的源文件的意义上,所有这些工具是否兼容?或者是否必须专门准备插件才能与每个管理器兼容?用另一种方式问,哪些其他插件管理器可以互换,足以处理我当前的Vundle插件,和/或即使他们在其他管理器中做广告,我也可以假定哪些插件格式可以管理Vundle?

5
设置和插件为root(`sudo vim`)时?
当我需要以根用户身份编辑文件并使用sudo vim somefile.conf并且我无法使用任何键绑定,设置和插件时,这真令人沮丧。 当我需要以root身份进行编辑时,是否可以获取所有自定义内容? 我正在为插件使用vim-plug。

6
如何查看插件是否处于活动状态
vim-latexsuite打开适当的文件时,如何确定是否已安装并激活文件类型插件(例如)?另一个受欢迎的编辑器将指示相关的“次要模式”处于活动状态。什么是vim等效项?

2
如何有条件地加载插件
我正在寻找答案,但是还没有找到任何东西,因此,如果我错过了明显的内容,我深表歉意。我认为这将是Google的快速搜索,所以它可能比我想象的要复杂。 我希望能够根据我正在编辑的文件类型有条件地加载插件。例如,当编辑python时,我不希望vim-sexp安装的键绑定,但是在使用clojure时,我确实希望加载该插件。 我目前正在使用neovim和病原体,但是如果有其他插件管理器可以为我完成这项工作,那么我会愿意进行切换。另外,如果确实存在,是否会:set syntax whatever切换插件?因为那将是超级:) 在此先感谢您的帮助/指导!

1
什么是Vim插件?
我了解我们可以扩展Vim的功能,以便添加新功能或修改现有功能并增强我们的编辑体验。 尽管自己长期以来都是Vim用户,但我现在仍处于未知领域:什么是Vim插件?编写插件的先决条件是什么,以便我可以在不久的将来编写自己的插件?


1
在“原始”模式下试用vim / gvim
有时,我想尝试一下在互联网上找到的技巧。在原始模式下,即在不加载我所有的〜/ .vimrc东西的情况下,在vim(如果是gui技巧,是gvim)中尝试此操作通常会很有帮助。 您有有效的技巧吗?

2
是否可以在Vimscript中使用委托或将函数作为参数传递?
我正在尝试创建一个小的插件来学习vimscript,我的目标是创建一些函数来处理选定的文本并将其替换为结果。该脚本包含以下各项: 两个处理文本的函数:它们将字符串作为参数,然后返回该字符串,该字符串应用于替换原始文本。目前,我只有两个人,但不久之后可能还会更多。 获取所选文本的函数:只需拉动最后的选择并返回它。 包装函数:调用处理函数,获取其结果并将该结果替换为旧选择。 现在,我的包装器函数如下所示: function! Wrapper() " Get the string to insert let @x = Type1ProcessString(GetSelectedText()) " remove the old selection normal gvd " insert the new string normal "xp endfunction 我必须创建第二个包装器,将第3行替换为 let @x = Type2ProcessString(GetSelectedText()) 我想给包装器函数一个参数,该参数包含要执行并在第3行中使用通用调用的Process函数。现在,我尝试使用call不同的方法,例如: let @x = call('a:functionToExecute', GetSelectedText()) 但是我并没有真正取得成功,:h call也没有对委托主题真正有所帮助。 总结一下,这是我的问题: 我如何只为所有处理函数提供一个包装函数? 在vimscript中有什么可以充当代理的吗? 如果不存在代表,那么做我想要的事情的“好”方法是什么?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.