在命令模式下,如果我键入":cd / Home" cd命令可以触发事件,我可以获取命令的目标目录(/ Home)的路径。
像这样的东西: autocmd cd *:echo" blabla"答案 0 :(得分:3)
不幸的是没有。您可以在:help autocmd-events
找到整个活动列表。我看到以下选项:
:cd
命令,您可以创建一个覆盖:Cd
命令,在委派给原始:cd
后触发您的附加功能。为避免必须键入大写:Cd
,您可以使用cmdalias.vim - Create aliases for Vim commands。我更喜欢这种方法。:cmap <CR>
并使用getcmdline()
拦截所有交互输入的命令,但这需要自己解析并且全局挂钩不能很好地解决其他插件/配置。:cd
可以观察到getcwd()
的效果,如果您有一点延迟,您可以加入其他常规事件,例如CursorHold,CursorMoved
。