有了超强的VIM,超强的Auto Hotkey,需要的只是用户的创造性了。本文介绍利用 AutoHotkey 让 gvim 窗口置于顶层、半透明、设定大小,以便于记录笔记。(参考文章:AutoHotkey入门教程:让重复工作一键完成 ,普通人的编辑利器——VIM)
注意,上面的大窗口只是用来展示脚本在vim中的显示效果。左下角透明窗口才是这里所说的透明笔记本。

vtano.ahk 脚本及详细的注释如下。需要说明的是,脚本的代码颜色高亮也是用 Vim 的:TOhtml 功能导出的。
SetTitleMatchMode, 2 ;设定ahk匹配窗口标题的模式
run d:\Program Files\gvim\vim71\gvim.exe ;启动gvim
winactivate, No Name ; 激活此窗口
sleep, 500 ; 延时,确保
send :hi clear Normal{enter} ;取消gvim的颜色
send :hi clear{enter} ;取消gvim的颜色
send :hi Normal guifg=red guibg=green{enter} ;设定为绿底红字
send :e c:\WINDOWS\Temp\vtano.text{enter} ;打开笔记文件,后缀为text是防止txt有其他语法加亮
sleep, 500
winmove, vtano.text,,50,50,300,150 ;设置窗口:大小、位置
winset AlwaysOnTop, ON, vtano.text ;设置窗口:置顶
WinSet, TransColor, 00FF00, vtano.text ;设置窗口:将绿色部分设为透明
网友利用 AutoHotkey 制作了 全屏 gvim,原文见 此处。担心原网站停止维护,转载如下:
我是在小众软件发现Q10这个软件的,用了过后很喜欢,但总觉得作为一个文本编辑器来说,Q10的功能弱了点,比如它似乎没有文本高亮,这样,如果我需要一个”专心致志代码编辑器”,它就无能为力了.
近日拜读了善用佳软的”GVIM+AHK实现顶层透明笔记本“一文,受此启发,加上我也是一个vim爱好者,心想何不用AHK+GVIM打造一个”专心致志编辑器”呢:-)
下面是我的实现, 供大家参考.
1. 设定GVIM,去掉menubar和toolbar
既然我们要打造的是一个”专心致志编辑器”,那么多余的东西一概不要,回复vim的本色.
编辑$VIMHOME\_vimrc文件,加入以下两行
set guioptions-=m “Remove menubar”
set guioptions-=T “Remove toolbar”
set guioptions-=r “Remove v_scroll bar”
2. 新建一个AHK脚本,例如gvimfull.ahk,输入以下内容后保存(PS,这个脚本是根据善用佳软的”GVIM+AHK实现顶层透明笔记本“的脚本改写的.)
SetTitleMatchMode, 2 ;设定ahk匹配窗口标题的模式
run c:\Program Files\vim\vim71\gvim.exe ;启动gvim
winactivate, No Name ; 激活此窗口
sleep, 500 ; 延时,确保
send :e d:\Notebook\txt\temp.txt{enter} ;打开一个临时的笔记文件
sleep, 500
winmove, temp.txt,,-1,-6,1408,1062 ;设置窗口:大小、位置, 这些数值需要根据使用者的屏幕分辨率调整,这是1400X1050分辨率屏幕的一个参考值
WinSet, Style, -0xC00000, temp.txt ;WS_CAPTION, 去掉title bar
WinSet, Style, 0×10000000, temp.txt ;WS_VISIBLE, 全屏模式
3. 双击gvimfull.ahk运行,下面是效果截图.
.
今天抽空研究了一下AHK的帮助文档, 真是个好东东, 让我重新找回了在unix上工作的感觉.
花了点时间对昨天做的全屏GVIM的脚本做了一些改进,方便那些不懂AHK脚本的用户使用
- 用配置文件来设定GVIM路径,屏幕分辩率等
- 将以前用修改_vimrc来去除menubar, toobar的方式放到AHK脚本里来实现,这样你就不需要再修改vim的设定了
- 提供了一个编译后的exe文件.即使没有装AHK,也能实现全屏GVIM工作
点击这里下载源代码和配置文件 (为了表示对Q10和GVIM的尊重,我命名为G10^_^),解压缩后,修改 G10.conf配置文件
各个字段的含义如下(注意,请不要加入后面的中文注释)
GvimHome=C:\Program Files\vim\vim71\gvim.exe gvim的路径
X=-1 屏幕位置偏移量X
Y=-6 屏幕位置偏移量Y
ScreenWidth=1408 屏幕分辨率width
ScreenHeight=1062 屏幕分辨率height
AlwaysOnTop=0 1表示工作在Always On Top的模式(如果你要用金山词霸这样的软件,就设定为0,否则设定为1
修改完成后,点击Q10.exe或者Q10.ahk就可以执行啦
初稿:2007年10月;更新:2009-10-11
[...] 近日拜读了善用佳软的”GVIM+AHK实现顶层透明笔记本“一文,受此启发,加上我也是一个 vim 爱好者,心想何不用 AHK+GVIM [...]
原来也是vim同道,幸会。你写的ahk快餐店系列相当不错,有空做个合集吧。其实很多小工具软件,用ahk完全可以替代了。
说到我那个脚本,其实是供用户体验用的,所以让ahk向vim不断发出命令。从实用来看,完全可以再来一个.vim文件,然后让vim :so就可以了。或者,考虑让vim的窗口变化过程隐蔽实现,等vim窗口一出现时,就是最终要的样子,这样更舒服一些。
回复
用vim的握个手
回复
[...] 近日拜读了善用佳软的”GVIM+AHK实现顶层透明笔记本“一文,受此启发,加上我也是一个vim爱好者,心想何不用AHK+GVIM打造一个”专心致志编辑器”呢:-) 下面是我的实现, 供大家参考. [...]
问一个问题,Linux下,想要实现这样的效果应该如何实现呢?
我很喜欢vim,并且几乎不用windows。。。
不知道这样的效果在linux下怎么实现。。。
谢谢拉
回复
不觉得这样重叠着,前后窗口的字都看不清么?
回复
发条狐狸: 2009-10-12 21:56
重新设定一下颜色就好了.
回复
担心原网站停止维护
--> 貌似那个博客的确停止维护了的样子..
回复
我把vtano.ahk复制到我的电脑,运行,结果不断的弹出gvim窗口。
回复
把注释去掉就不会一直弹窗口了。
回复
[...] P.S.1 上次小众发了一个 Vim 键盘图中文版,这里有一个英文分解版的,方便 Vim 新手。善用佳软也有 AHK + gVim 教程 vtano.ahk:GVIM + AHK 实现顶层透明笔记本 [...]
迷上 vim + ahk
回复