title: "vtano.ahk:GVIM+AHK实现顶层透明笔记本"
date: 2009-10-02
categories:
- "office-work"
- "text-editor"
- "tools"
tags:
- "ahk"
- "gvim"
vtano.ahk:GVIM+AHK实现顶层透明笔记本
有了超强的VIM,超强的Auto Hotkey,需要的只是用户的创造性了。本文介绍利用 AutoHotkey 让 gvim 窗口置于顶层、半透明、设定大小,以便于记录笔记。(参考文章:AutoHotkey入门教程:让重复工作一键完成 ,普通人的编辑利器——VIM)
注意,上面的大窗口只是用来展示脚本在vim中的显示效果。左下角透明窗口才是这里所说的透明笔记本。
vtano.ahk 脚本及详细的注释如下。需要说明的是,脚本的代码颜色高亮也是用 Vim 的:TOhtml 功能导出的。
; 1. 基本信息 ; 名称:vtano.ahk:GVIM+AHK实现顶层透明笔记本 ; 作者:xbeta (善用佳软) ; 版本:v1.0 (2007-10-30) ; 网站:http://blog.sina.com.cn/xbeta ; 由来:经常在阅读文档时,希望有一个小巧的笔记工具,可以透明悬浮在顶层,随时键入文字,而不影响原来的阅读对象。由于我极喜欢GVIM,所以想到了用 Auto Hotkey设置GVIM置顶、透明的办法。当然,GVIM自身有一个VimTweak扩展,可实现类似功能。但VimTweak的透明是背景与文字整体 设定透明度,这样文字看起来不清晰。而AHK可以设定背景色完全透明(如果能设定透明度就更理想了),而文字正常显示,我认为这种效果更好一些。 ; 适用对象:计算机上装有Auto Hotkey 和 GVIM,并且极其偏爱它们 ; 2. 使用方法 ; 将此文件放在加入path变量的目录(如系统目录)下,运行 vtano.ahk 即可 ; 或任意放一位置,然后建立xx.lnk,运行 xx 即可 ; 3. 说明 ; ① 如果你不用AHK,也可以把此文档编译为exe ; ② 中间大段的send,也可以改写到vim脚本中 ; ③ 如果想Gvim的标题栏也透明,只须让标题栏颜色(windows样式)、gvim背景色、ahk设定的窗口透明色三色相同。
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,原文见 此处。担心原网站停止维护,转载如下:
Fullscreen GVIM,03月 4th, 2008
我是在小众软件发现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运行,下面是效果截图.
.
Full Screen GVIM – 修订版,03月 5th, 2008
今天抽空研究了一下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