问题标签 [autocmd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1037 浏览

vim - Vim autocmd 将用户定义的命令应用于多个特定(按文件类型)标签页?

我同时打开多个标签页的 Vim 会话。我的一些标签页是 .txt 文件,有些不是。

我在我的 .vimrc 中创建了一个名为 Tran 的命令,它引用了 syntax.vim,其中为我的 .txt 文件定义了一些特定的语法突出显示。

我的问题/疑问:

1) 当我打开我的 Vim 会话时,我希望通过 Tran 命令突出显示我的所有 .txt 文件。我试过(在我的 .vimrc 中):

……失败了。

2)暂时,当我切换到 .txt 标签页时,我立即键入以下命令:

它有效。但是,如果我转到另一个标签页,然后再回到我的 .txt 标签页(在同一会话期间),所有突出显示都消失了。

我想这两个问题可以用一种简单的方式解决。但是哪一个?

提前致谢。

0 投票
2 回答
124 浏览

vim - 如何在vim autocmd中编写从文件名中排除字符串的模式

我想为具有相同后缀的文件定义不同的映射。

例如,为所有 ruby​​ 文件定义一个通用映射,只为 rspec 文件定义一个不同的映射:

上述解决方案在我的机器上不起作用,因为第二个au“覆盖”了第一个。

这种写法可以au吗?

更新:如果我只打开一个缓冲区,只需将最具体的(规范)一个放在通用的一个(rb)下面就可以了。一旦我打开一个规范文件,常规 ruby​​ 文件的 *.rb 映射就会丢失。

0 投票
4 回答
592 浏览

vim - 如何整理我的 vimrc 文件?

我的 Vim 配置文件越来越大(15KB+)。我尽量不通过在启动时采购更多(更大)文件来降低我的 vim 启动速度。出于同样的目的,我只使用必要的插件,并尽量减少插件的数量。

所以,在我的 .vimrc 文件的某个地方,我有这些行:

现在我看到前 7 行,所有行都有autocmd FileType python共同点。所以我的想法是,如果我们设法用更少的东西替换所有这些词,那么 Vim 会更快地启动。但我不知道该怎么做。

我们可以将它们分组吗?如何?还要别的吗?

0 投票
1 回答
1884 浏览

vim - Vim:用于删除颜色方案背景的 Autocmd 无法运行

在使用终端窗口时,我试图覆盖所有颜色方案的背景——主要是因为我发现透明的终端窗口非常令人兴奋。我所有最大的研究努力都指向定义一个自动命令,该命令将在每次更改颜色方案时运行。目前该命令如下所示:

rmbackground.vim 是我自己制作的一个文件,它基本上列出了一堆 hilightcommands,如下所示:

现在奇怪的是,如果我手动获取 rmbackground.vim 文件,一切正常,但自动命令不会按预期运行。如果我将单个 hilight 命令指定为 autocmd 而不是获取整个 rmbackground 文件,它也不起作用。

我对整个问题感到非常困惑。下面是我的完整 vimrc 和 rmbackground.vim,以防有我不知道的冲突。(由于我刚刚开始构建我的配置,该文件目前很糟糕,但我希望你能原谅我;-))

.vimrc

rmbackground.vim

0 投票
1 回答
2893 浏览

vim - 如何在 .vimrc 中设置两个 autocmd BufWritePre

在 VIM 中保存/写入时,我想修剪尾随空格并确保文件的行尾是 UNIX 而不是 DOS。

这两个命令都可以单独工作,但我不知道如何让它们在 VIM 中写入/保存文件时同时运行。

我已经尝试了以下所有方法,但 VIM 仍然抛出错误:

或者

这些都不会产生预期的结果而不会被 VI 抛出错误。有什么帮助吗?

0 投票
4 回答
593 浏览

vim - 将 NERDComenter 切换到基于文件类型的替代值

我想在 vim 中配置 NERDCommenter 以对某些文件类型使用替代注释样式。这样做的正确方法是什么。我不知道如何从autocmd. 我想做的是这样的:

以上无法正常工作,但我发现我可以使用以下命令获取函数名称:

返回:

有没有办法使用map命令来执行map的值?

0 投票
1 回答
5091 浏览

python - 使用 vim 打开新的 python 文件时自动标头

可能重复:
如何在使用 vim 创建新文件时自动添加一些骨架代码

我在 SO 上搜索并搜索了一种在创建新 python 文件时创建自动标题的方法。我希望用 snipMate 找到一些东西,但找不到任何东西。我使用提供此功能的bash-suportperl-support并喜欢它。如果它可以帮助我也是python模式的用户

  1. 有没有办法用 snipMate 生成自动标题?
  2. 如果没有,我在哪里可以找到示例?

我想要这样的东西:

非常感谢阅读

0 投票
2 回答
1676 浏览

vim - autocmd 函数总是执行两次

我整理了以下一堆令人敬畏的东西:

唯一的问题是:每次 vim 在asciidoc文件中失去焦点时,它会保存两次。

当我:autocmd asciidocFileType输入命令行时,它显示:

:autocmd asciidocFocusLost和相同AsciidocRefresh()

为什么会出现这种重复?

0 投票
4 回答
1081 浏览

vim - 防止 Vim 预览窗口移动主窗口

autocmd预览窗口打开/关闭时是否有for ?

我想在打开预览窗口时向上滚动主窗口 n 行,然后在关闭时向下滚动 n 行,以抵消本机发生的“移动文本”效果。

我是否能够通过相关autocmd(以及它是什么)来做到这一点,还是有更好的方法让我实现这一目标?

0 投票
1 回答
130 浏览

vim - 改进自动命令以在 BufLeave 和 FocusLost 上缩进和返回行

我正在寻找一个自动命令来让 Vim 做一个gg=Gon BufLeaveFocusLost这样它就会缩进我没有使用的缓冲区。我不喜欢在打开或保存文件时这样做,因为我认为我会对较大的文件感到不耐烦。但我认为我不喜欢我尝试过的自动命令:

所以我想知道是否有人有任何建议来避免以下问题:

  • 最大的问题是我失去了我在哪条线上。
  • 此外,我似乎不得不等待缩进完成才能开始编辑另一个缓冲区。(我想几乎任何解决方案至少会使 Vim 在其他缓冲区中变慢。)

我不一定需要整个自动命令代码本身,但更多的是一个自动命令的想法,它可以在不引起更大问题的情况下完成缩进。希望答案不会超出我的想象,因为我仍在阅读Learn Vimscript the Hard Way。我一直想参与 stackoverflow,这似乎是一个相当有趣且不太可能重复的问题。