标签: vim-plugin

如何封装用Lua/Python/Ruby编写的Vim插件代码?

在Vimscript中,脚本范围s:可用于避免插件之间的名称冲突.我正在Lua中编写一个Vim插件,我注意到Vim在一个通用范围内运行它的所有Lua代码.这意味着我的插件的Lua函数对于使用Lua的任何其他插件都是可见的,并且看起来像是等待发生的名称冲突.

虽然我的例子涉及Lua,但在使用Python或Ruby开发Vim插件时,这个问题也适用.我可以使用插件名称为我的所有Lua函数添加前缀,但是在使用这些语言时是否有更可靠/标准的方法来封装Vim插件代码?

vim lua encapsulation vim-plugin

6
推荐指数
1
解决办法
608
查看次数

DBext(Vim) - 必须选择有效的数据库类型

在Windows上安装gvim并尝试运行(Microsoft)sql server查询.当我尝试发出特定于dbext的命令时出错.请参阅下面的详细信息.

Vimrc包含此连接字符串

:let g:dbext_default_profile_mySQLServer  = 'type=SQLSRV:integratedlogin=1:host=XXXXX:dbname=XXXXX'
Run Code Online (Sandbox Code Playgroud)

SQL语句

Select * from XXXXX
Run Code Online (Sandbox Code Playgroud)

命令:

<leader>se (in my case ,se)
Run Code Online (Sandbox Code Playgroud)

错误:"必须选择有效的数据库类型"

有人可以帮我解决gvim + dbext设置中的这个问题.

请注意我的插件安装正确,我看到列出dbext命令的插件菜单.

vim vim-plugin dbext

6
推荐指数
1
解决办法
1209
查看次数

向 NERD 评论者添加新文件类型

我正在使用NERD Commenter。我想向其中添加新的文件类型。在最新版本中,文件类型定义从第 69 行开始。我想为 .pde (Arduino) 添加分隔符。由于 .pde 文件遵循与 C++ 相同的样式,因此我只是复制 C++ 行(第 115 行)并更改扩展名。它看起来像这样:

....    
....    
\ 'pde': { 'left': '//', 'leftAlt': '/*', 'rightAlt': '*/' },
....    
....
Run Code Online (Sandbox Code Playgroud)

这似乎是对的。但是,当我打开 .pde 文件时,我无法让它工作。它不使用“//”,而是使用“#”。我错过了什么吗?

谢谢!

更新:看来我正在写它。查看他们添加对 gsp 的评论支持时的提交。他们只是在做和我一样的事情。嗯……

vim vim-plugin

5
推荐指数
1
解决办法
1201
查看次数

不同的 Vim 插件可以有不同的 localleader 吗?

我开始使用一个与我现有地图冲突的插件,但我不想重新映射所有地图,我只想添加一个前缀。我以为我可以用 LocalLeader 做到这一点。

Vimdoc 说:

<LocalLeader>就像<Leader>,除了它使用“maplocalleader”而不是“mapleader”。 <LocalLeader>用于缓冲区本地的映射。

似乎设置 localleader 的唯一方法是设置一个全局变量(文档没有提到这一点,但b:maplocalleader没有用):

let maplocalleader = '\\'
Run Code Online (Sandbox Code Playgroud)

而且我不知道我如何干净地取消设置该变量(在设置插件后清除它的 autocmd!?)

有没有办法做到这一点?还是 LocalLeader 只提供一个全局前缀和一个特定于文件类型的前缀?

vim plugins vim-plugin

5
推荐指数
1
解决办法
405
查看次数

映射已在使用:“&lt;LocalLeader&gt;sb”,模式“n”

我最近安装了一些插件,所以我可以使用 Vim 作为我的开发 IDE。看起来有些插件不能很好地相互配合。

目前,我的插件目录中有以下 vim 插件:

  • code_complete.vim
  • cscope_maps.vim
  • doxygen-support.vim
  • 源美化
  • 标签列表.vim
  • vcscommand.vim
  • vcsgit.vim
  • vcssvk.vim
  • crefvim.vim
  • c.vim
  • minibufexpl.vim
  • symfony.vim
  • vcsbzr.vim
  • vcscvs.vim
  • vcshg.vim
  • vcsvn.vim

我的 ~/.vimrc 文件有以下内容:

autocmd BufRead *.vala,*.vapi set efm=%f:%l.%c-%[%^:]%#:\ %t%[%^:]%#:\ %m
au BufRead,BufNewFile *.vala,*.vapi setfiletype vala

set nocp ts=4 sw=4 noet ai cin bs=2 cb=unnamed
set number ruler wrap autoread showcmd showmode fdm=marker nobackup
syntax on
filetype plugin on

set incsearch
set tags=./tags;/
map <C-\> :tab split<CR>:exec("tag ".expand("<cword>"))<CR>
map <A-]> :vsp <CR>:exec("tag ".expand("<cword>"))<CR>
Run Code Online (Sandbox Code Playgroud)

当我尝试打开 C 或 C++ 文件时,我收到以下警告消息: …

vim vim-plugin

5
推荐指数
1
解决办法
1044
查看次数

我可以用 Vim 进行 VBA 编程吗?

我现在的部分工作是在 Microsoft Office 文档中构建一些动态功能。我发现这样做的唯一方法是通过 VBA - 因此,Office 文档中内置的 VBA 编辑器。

VBA 编辑器很糟糕。它缺少现代开发环境需要支持的一百万种不同的功能。但最糟糕的是,我是一个铁杆 Vim 爱好者,VBA 编辑器几乎不比记事本好。

那么:有什么方法可以有效地使用 Vim 进行 VBA 编程?当我想尝试时,没有将我的代码从不同的窗口复制粘贴到 VBA 编辑器中?

vim vba vim-plugin

5
推荐指数
1
解决办法
3762
查看次数

在Vim中,如何设置在加载插件后运行的自动命令?

我使用的一个Vim插件有一个错误,导致它设置了:syntax spell notoplevel。如果我:syntax spell toplevel在打开文件后运行命令,则可以轻松缓解该错误。但是,我很懒,我想将修复程序放入init.vim / .vimrc文件中,以便它可以自动运行。

我如何确保在有故障的插件代码后执行我的修复,以使我的设置不会被插件覆盖?

vim vim-plugin vim-syntax-highlighting

5
推荐指数
2
解决办法
72
查看次数

使用 Vimwiki 将图像嵌入到需要在系统之间传输的 wiki

我正在为一个团体软件开发项目构建一个内部项目维基。该项目 wiki 目前由 VimWiki 提供支持,我每周都会将 HTML 文件发送给项目主管和每个开发团队。这既保证了我们的知识产权的安全性和内部性,又保持了组织性和最新性。我想将图表图像放入 wiki 本身,以便可以轻松地一起访问所有图表和文档。然而,我在使图像在系统之间传输时遇到了麻烦。vimwiki 是否提供了一种嵌入图像文件的方法,以便它们可以在系统之间传输?理想情况下,该解决方案可以将 Vimwiki 的输出目录作为包含 HTML 文件和图像文件的单个实体进行传输。

我尝试阅读 vimwiki 参考文档中有关图像的文档。我没有运气使用 local: 或 file: 变体。wiki 参考文献指出 local 应根据 HTML 文件的输出目录将图像链接转换为本地化位置,但当我使用它时它会破坏我的图像。

我的文件中目前有

{{file:/images/picture.png}}

我希望系统能够在计算机之间传输文件,但它注册到绝对链接,并且也不将图像目录包含在 vimwikiAll2HTML 命令的输出目录中。

vim image vim-plugin

5
推荐指数
1
解决办法
3572
查看次数

处理 vimrc 时检测到错误:- 如何在 vim 中获取 pugins

今天我正在制作自定义 vimrc,但它给了我这个错误。它不允许我使用任何插件。有人可以帮助告诉我做错了什么吗?这些行是它显示的错误:

E117: Unknown function: plug#begin
line   10:
E492: Not an editor command: Plug 'rbgrouleff/bclose.vim'
line   11:
E492: Not an editor command: Plug 'dbakker/vim-projectroot'
line   12:
E492: Not an editor command: Plug 'scrooloose/nerdtree'
line   13:
E492: Not an editor command: Plug 'junegunn/fzf'
line   14:
E492: Not an editor command: Plug 'junegunn/fzf.vim'
line   15:
E492: Not an editor command: Plug 'majutsushi/tagbar'
line   18:
E492: Not an editor command: Plug 'vim-airline/vim-airline'
line   19:
E492: Not an editor command: Plug 'vim-airline/vim-airline-themes'
line   20: …
Run Code Online (Sandbox Code Playgroud)

vim vim-plugin

5
推荐指数
1
解决办法
7077
查看次数

Pyright,报告 neovim 中缺少导入错误

我收到此错误,这没有意义,因为库已安装,并且选择了正确的 python 解释器路径。我不知道问题出在哪里。

在此输入图像描述

vim-plugin neovim coc.nvim

5
推荐指数
1
解决办法
5965
查看次数