【问题标题】:Autohotkey and Vim are they compatible?Autohotkey 和 Vim 兼容吗?
【发布时间】:2013-08-28 18:38:57
【问题描述】:

我总是无法让 Autohotkey 脚本与 Vim 一起使用。

p.e.

^g:: 
Send, ^c
MsgBox hi
return

如果我选择文本并使用快捷方式,则在 Vim 中不起作用。 (更改快捷方式时同样的问题)。

我做错了什么? 其他人也有同样的 Autohotkey 和 Vim 的兼容性问题?

【问题讨论】:

  • 我不知道autohotkey,你想用vim做什么? vim 内置映射机制不能满足你的需求吗?
  • Autohotkey 是一种脚本语言。你可以使用它在你的电脑中自动化很多事情。它是全局的,不仅依赖于 vim。一个简单的例子是将文本复制到任何地方并在另一个软件或网站中的自动热键的帮助下使用它,但你可以用它做更多的事情(在屏幕上移动应用程序)
  • @Reman,我希望如果 AHK 脚本和 Gvim 都以管理员身份打开,它会起作用。但是,即使这样也行不通。

标签: vim scripting autohotkey


【解决方案1】:

你用的是什么vim?一个在终端或 gVim 中?简短的回答是 autohotkey 与 vim 一起工作。根据我的阅读方式,您想使用 Ctrl-c 复制文本。在你的 vim 上试试,那不是你用来复制的命令。如果您在 vim 的可视模式下选择了文本,那么 y 是您要查找的键,如果您想重新映射到 Ctrl-c,那么执行此操作的命令正在您的主目录中的 .vimrc 文件中粘贴以下行:

xmap <C-c> y

如果您使用的是终端 (mintty) 或 gVim,并且您使用鼠标选择了文本,则要复制的命令是 ctrl-insert。我感觉这就是你要找的东西。

^c::Send {Ctrl down}{Insert}{Ctrl Up}
^v::Send {Shift down}{Insert}{Shift Up}

可以使用 shift-insert 完成粘贴,如第二行所述。如果您希望此行为专门在某个程序下工作,您可以改用以下行:

#IfWinActive ahk_class mintty
    ^+v::Send {Shift down}{Insert}{Shift Up}
    ^+c::Send {Ctrl down}{Insert}{Ctrl Up}
#IfWinActive

【讨论】:

  • 是的,你是对的; Autohotkey 适用于 Vim。我必须将我的自动热键脚本提升到管理员权限,才能让它在具有管理员权限的 vim 窗口中工作。 :)
猜你喜欢
  • 2015-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-26
  • 2014-08-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多