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

标签 vba vim vim-plugin

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

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

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

最佳答案

我从未使用过 VBA 编辑器,但这是我使用 MS Visual Studio 完成的操作。 (MSVS 的编辑器确实有一些不错的功能,但我仍然更喜欢 vim 进行大多数编辑。)

我在 MSVS 中打开或创建源文件。然后我获取文件的完整路径(通过右键单击选项卡并选择“复制完整路径”),并在不同窗口中的 vim 中打开相同的文件。

我使用 alt-tab 在 vi​​m 和 MSVS 之间来回弹跳。当我在 vim 中进行更改时,我使用 :w写入更改,然后 alt-tab 返回到 MSVS。 MSVS 编辑器注意到磁盘上的文件已更改并提供读取更新版本。

或者,如果我在 MSVS 中更改文件,我会写入文件(文件 > 保存 ...),然后 alt-tab 到 vim 并使用 :e!将更新后的文件读入 vim 缓冲区。

无需复制粘贴代码,因为两个编辑器都在同一个磁盘文件上操作。我只需要非常小心,不要在不将文件写入磁盘的情况下在 vim 和 MSVS 中进行更改。

这很丑陋,并不适合所有人,但对我有用。也许它对你有用。

我用的是 Cygwin,所以它实际上有点复杂; Cygwin 程序(包括 vim)无法识别 Windows 样式的路径。我可以做这个:

vi $(cygpath 'WINDOWS_PATH')

哪里WINDOWS_PATH从我从 MSVS 获得的完整路径粘贴。单引号是必要的,以防止 shell 解释 \人物。如果您使用的是 Windows native vim,则不需要此步骤。

关于vba - 我可以用 Vim 进行 VBA 编程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13675192/

相关文章:

VBA - 删除 ActiveSheet.UsedRange.Rows.Count 中的空行

vim - 如何在 Vimscript 中调用自增自减普通模式命令?

vim - 重复后在同一拆分中加载外部命令

vim - 添加额外的 Markdown 片段到 Vim 片段以在编辑 Markdown 文件时使用

vim - 退出vim后保持编辑文件的 View

vim - 如何将 `RustRun`重定向到Vim中的拆分缓冲区

excel - 下标超出范围

vba - 迭代模块中定义的方法

ms-access - VBA 中 "with"子句的烦人问题

vim - 如何在 gVim 中将注释设为斜体?