问题标签 [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.
vim - 防止缓冲区在 autocmd 中卸载
我正在写一个BufUnload
autocmd
,并且我想有条件地阻止缓冲区从 autocmd 中实际卸载或关闭。有没有办法做到这一点?
例如,我想使用缓冲区的内容作为 mercurial 的提交消息,使用 autocmd 执行以下操作:
因此,如果提交失败(hg
命令返回非零错误代码),我想保持缓冲区打开并保持不变。
vim - Vim 映射在命令模式下有效,但在 autocmd 中使用时无效
我有这个 autocmd 在我的.vimrc
:
当我打开一个 markdown 文件,进入插入模式并按<CR>
时,我收到以下错误:
但是如果我进入插入模式并输入<C-o>:call AutoUMDList()<CR>
它就可以了!
此外,如果我在命令模式下键入以下内容,它也可以工作:
请问这里是怎么回事?!我不明白为什么我的自动命令不起作用......
vim - 在 vim 上启动 (:normal) 命令以 .java 文件开头
我想在我的.vimrc
文件中添加行,以便它会在文件/* ... */
自动启动时折叠类似的评论*.java
。
到目前为止,我已经想出了这个,但它不想工作(尽管该命令在 vim 中工作)
vim - 脚本变量随 autocmd 消失?
我试过这个.vimrc
(它使用vundle
):
和'ervandew/supertab'
还在 python 文件中的“BundleList”中列出。它不起作用。我不知道为什么。也许我的 autocmd 命令是错误的?
我怀疑任务会消失。当我这样做时Bundle 'ervandew/supertab'
,我可以在 vim 中看到变量。例如:let SuperTabMappingForward
显示SuperTabMappingForward <tab>
. 但是使用 autocmd,我得到E121: Undefined variable: SuperTabMappingForward
. 我放的时候也一样Bundle 'ervandew/supertab'
一样~/.vim/ftplugin/python.vim
我的vim知识有限!
vim - Vimscript:当光标在行之间移动时触发
当光标在行之间移动时,我需要使用 autocmd 触发器。
现在我正在使用:
有了它,MyFunc 在每次光标移动时执行,但我只需要在光标向上或向下移动时触发(不是左右移动)
编辑:
用最后记录的行检查光标线对我有用。
vim - 为特殊窗口禁用 autocmd
如何禁用自动命令以进入/离开窗口,例如“:help”、“:NERDTree”或“:TlistOpen”?
现在我在调用这些命令之前和之后修改了“eventignore”(除了“:help”,我还不知道该怎么做),但是在用“CTRL”四处移动时我不知道怎么做-w”,因此,每次我进入和离开这些窗口时都会触发我的 autocmd。
我想这些窗口的一个共同点是它们是只读的或者对我可以执行的操作有限制。如果我能得到这些信息,我可能会在我的 autocmd 周围放置一个 if 语句。
vim - 缓冲区加载/文件打开时的vim自动命令?
我正在尝试在 vim 中打开文件(缓冲区?)时执行自动命令,该文件将通过执行<Leader>ig
. 我正在使用 vundle 插件nathanaelkane/vim-indent-guides
我目前正在尝试autocmd BufWinEnter <Leader> ig
,但这似乎不起作用。我也试过了<Leader>ig
。
我需要改变什么才能使这项工作?
vim - Vimscript autocmd 功能失败
上面的代码构成了我的 .vimrc 文件的结尾。此功能可以正常工作,但经过一些更新(YouCompleteMe 或 UltiSnips,不确定),这些工作的唯一时间是我第一次在目录中打开 vim,然后从那里打开文件。我认为这与 autocmd 有关,但老实说,我什至不知道从哪里开始。我尝试将 autocmd 事件更改为 BufRead,但不幸的是,这没有任何区别。任何帮助表示赞赏,谢谢!
编辑:如果您认为有更好的地方我可以发布这个问题或者您需要更多详细信息,请告诉我!我很乐意提供帮助。
vim - How to have an autocmd not interfer with saved sessions?
I have autocmd BufEnter * silent! lcd %:p:h
in my .vimrc so that the current buffer's pwd is always set correctly. Unfortunately mksession
does not save sessions properly because of this.
Is there either a better way to save sessions, or a way to make these two features play together well? Disabling the autocmd temporarily with :noautocmd mksession session1
doesn't seem to work.
vim - 在vim中,如何自动最大化帮助窗口
当我通过运行 eg 显示 vim 帮助文件时:h au
,帮助显示在水平拆分窗口中:
目前我总是运行Ctrl+w _
,但我希望帮助缓冲区自动在最大化窗口中打开。
我试图创建一个自动命令来解决这个问题:
这只偶尔起作用。
编辑:
我做了一些进一步的调试。第一次
打开某个帮助页面,例如当我的.:h au
.vimrc
通过关闭帮助文件窗口然后再次:q
重新打开同一个帮助文件会导致帮助文件以拆分形式显示,如上面的屏幕截图所示。
通过关闭帮助文件缓冲区窗口:bd
然后重新打开它,会导致它根据需要最大化显示。
如何重写我的 augroup 以便它也最大化已经打开的帮助缓冲区?