2013-08-28 62 views
2

我一直有问题让Autohotkey脚本与Vim一起工作。Autohotkey和Vim是否兼容?

p.e.

^g:: 
Send, ^c 
MsgBox hi 
return 

,如果我选择一个文本并使用快捷不Vim的工作。 (同样的问题,当我更改快捷方式)。

我错了什么? 其他人在Autohotkey和Vim之间有相同的兼容性问题?

+0

我不知道autohotkey,您想用vim做什么?不能vim内置的映射机制满足你的需求? – Kent

+0

Autohotkey是一种脚本语言。你可以使用它在你的电脑上自动化很多事情。它是全球性的,不仅仅依赖vim。一个简单的例子就是在任何地方复制一个文本,并在另一个软件或网站的autohotkey的帮助下使用它,但是你可以用它做很多事情(在屏幕上移动应用程序pe) – Reman

+0

@Reman,我是如果AHK脚本和Gvim都以管理员身份打开,希望它能够工作。但是,即使这不起作用。 –

回答

7

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

xmap <C-c> y 

如果您使用的是终端(mintty)或gVim的,你用你的鼠标选中文字,命令副本CTRL插入。我有一种感觉,这就是你正在寻找的。

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

膏可以与移嵌来完成,如在第二行指出。如果您希望此行为在特定程序下特定工作,则可以使用以下行代替:

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

是的你是对的; Autohotkey适用于Vim。我必须将我的autohotkey脚本提升为管理员才能让它在具有管理权限的vim窗口中工作。 :) – Reman