我现在的部分工作是在 Microsoft Office 文档中构建一些动态功能。我发现这样做的唯一方法是通过 VBA - 因此,Office 文档中内置的 VBA 编辑器。
VBA 编辑器很糟糕。它缺少现代开发环境需要支持的一百万种不同的功能。但最糟糕的是,我是一个铁杆 Vim 爱好者,VBA 编辑器几乎不比记事本好。
那么:有什么方法可以有效地使用 Vim 进行 VBA 编程?当我想尝试时,没有将我的代码从不同的窗口复制粘贴到 VBA 编辑器中?
最佳答案
我从未使用过 VBA 编辑器,但这是我使用 MS Visual Studio 完成的操作。 (MSVS 的编辑器确实有一些不错的功能,但我仍然更喜欢 vim 进行大多数编辑。)
我在 MSVS 中打开或创建源文件。然后我获取文件的完整路径(通过右键单击选项卡并选择“复制完整路径”),并在不同窗口中的 vim 中打开相同的文件。
我使用 alt-tab 在 vim 和 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/