在vimscript中,是否存在由内部命令触发的任何事件?

在vimscript中,是否存在由内部命令触发的任何事件?,vim,Vim,比如说,, 在命令模式下,如果我键入“:cd/Home” 一个事件可以由cd命令触发,我可以获得该命令的目标目录(/Home)的路径 比如: autocmd cd*:echo“blabla”不幸的是,没有。您可以在:help autocmd events中找到整个事件列表。我看到以下选项: 如果只是:cd命令,您可以创建一个覆盖:cd命令,该命令在委托给原始:cd后触发附加功能。要避免键入大写的:Cd,可以使用。我更喜欢这种方法 虽然Ex命令没有钩子,但您可以通过钩住:cmap并使用getcm

比如说,, 在命令模式下,如果我键入“:cd/Home” 一个事件可以由cd命令触发,我可以获得该命令的目标目录(/Home)的路径

比如:
autocmd cd*:echo“blabla”

不幸的是,没有。您可以在
:help autocmd events
中找到整个事件列表。我看到以下选项:

  • 如果只是
    :cd
    命令,您可以创建一个覆盖
    :cd
    命令,该命令在委托给原始
    :cd
    后触发附加功能。要避免键入大写的
    :Cd
    ,可以使用。我更喜欢这种方法
  • 虽然Ex命令没有钩子,但您可以通过钩住
    :cmap
    并使用
    getcmdline()
    ,拦截所有交互输入的命令,但这需要您自己进行解析,全局钩子无法与其他插件/配置配合使用
  • 由于使用
    getcwd()
    可以观察到
    :cd
    的效果,如果您生活在一个小延迟中,您可以挂接到其他常规事件,例如
    CursorHold、CursorMoved

  • 不幸的是,没有。您可以在
    :help autocmd events
    中找到整个事件列表。我看到以下选项:

    • 如果只是
      :cd
      命令,您可以创建一个覆盖
      :cd
      命令,该命令在委托给原始
      :cd
      后触发附加功能。要避免键入大写的
      :Cd
      ,可以使用。我更喜欢这种方法
    • 虽然Ex命令没有钩子,但您可以通过钩住
      :cmap
      并使用
      getcmdline()
      ,拦截所有交互输入的命令,但这需要您自己进行解析,全局钩子无法与其他插件/配置配合使用
    • 由于使用
      getcwd()
      可以观察到
      :cd
      的效果,如果您生活在一个小延迟中,您可以挂接到其他常规事件,例如
      CursorHold、CursorMoved

    • 不幸的是,没有。您可以在
      :help autocmd events
      中找到整个事件列表。我看到以下选项:

      • 如果只是
        :cd
        命令,您可以创建一个覆盖
        :cd
        命令,该命令在委托给原始
        :cd
        后触发附加功能。要避免键入大写的
        :Cd
        ,可以使用。我更喜欢这种方法
      • 虽然Ex命令没有钩子,但您可以通过钩住
        :cmap
        并使用
        getcmdline()
        ,拦截所有交互输入的命令,但这需要您自己进行解析,全局钩子无法与其他插件/配置配合使用
      • 由于使用
        getcwd()
        可以观察到
        :cd
        的效果,如果您生活在一个小延迟中,您可以挂接到其他常规事件,例如
        CursorHold、CursorMoved

      • 不幸的是,没有。您可以在
        :help autocmd events
        中找到整个事件列表。我看到以下选项:

        • 如果只是
          :cd
          命令,您可以创建一个覆盖
          :cd
          命令,该命令在委托给原始
          :cd
          后触发附加功能。要避免键入大写的
          :Cd
          ,可以使用。我更喜欢这种方法
        • 虽然Ex命令没有钩子,但您可以通过钩住
          :cmap
          并使用
          getcmdline()
          ,拦截所有交互输入的命令,但这需要您自己进行解析,全局钩子无法与其他插件/配置配合使用
        • 由于使用
          getcwd()
          可以观察到
          :cd
          的效果,如果您生活在一个小延迟中,您可以挂接到其他常规事件,例如
          CursorHold、CursorMoved