「用 gVim 编辑任意窗口的文字[AHK]」的评论 http://inloveinparis.com/gvim-ahk-tip/ 分享免费、小巧、实用、有趣、绿色的软件 Sun, 04 Dec 2016 05:41:09 +0000 hourly 1 https://wordpress.org/?v=6.8.1 评论者:chenwei http://inloveinparis.com/gvim-ahk-tip/comment-page-1/#comment-397929 Sun, 04 Dec 2016 05:41:09 +0000 http://inloveinparis.com/gvim-ahk-tip/#comment-397929 #SingleInstance Force
#WinActivateForce
SetTitleMatchMode, 2 ;设定ahk匹配窗口标题的模式
^i::
;适应Windows 32位和64位系统下gvim的默认安装路径
ProgramFilesX86 := A_ProgramFiles . (A_PtrSize=8 ? ” (x86)” : “”)
gvim := ProgramFilesX86 . “\Vim\vim80\gvim.exe”
tmpfilename := “TempVimEditFile”
tmpfile := “C:\Downloads\” . tmpfilename . “.txt”

;将目标编辑窗口的数据读入剪贴板
WinGetActiveTitle, VimTargetWindow ;获取目标编辑窗口的标题
Clipboard = ;清空剪贴板
Send ^a ;全选
Send ^c ;复制
ClipWait ;等待数据进入剪贴板

;使用Vim读入剪贴板数据,并进行编辑
FileDelete, %tmpfile% ;删除旧的临时文件
FileAppend, %Clipboard%, %tmpfile% ;把剪贴板内容写入临时文件
Run, %gvim% “%tmpfile%” + ;用Vim打开临时文件
;设置UTF的BOMB文件头,应对初始为英文内容的乱码问题
WinWait, %tmpfilename% ahk_class Vim
Send :set bomb{enter}
;直到关闭编辑临时文件的Vim窗口,才会执行后面的代码
WinWaitClose, %tmpfilename% ahk_class Vim

;将Vim编辑后的内容发送至目标编辑窗口
FileRead, Clipboard, %tmpfile% ;将临时文件内容读取到剪贴板
;FileDelete, %tmpfile% ;删除临时文件
WinWait %VimTargetWindow% ;等待目标编辑窗口激活
Send ^v ;粘贴
return

]]>
评论者:chenwei http://inloveinparis.com/gvim-ahk-tip/comment-page-1/#comment-397925 Sun, 04 Dec 2016 00:28:51 +0000 http://inloveinparis.com/gvim-ahk-tip/#comment-397925 剪贴板通用版本会造成乱码:若初始编辑框的内容是英文,所生成的文件是nobomb,这样Vim编辑时加入中文,最后输出到编辑框就会产生乱码

]]>
评论者:Bin http://inloveinparis.com/gvim-ahk-tip/comment-page-1/#comment-173860 Sun, 01 Sep 2013 04:27:39 +0000 http://inloveinparis.com/gvim-ahk-tip/#comment-173860 winwait %active_title%
改成
winactivate %active_title%

]]>
评论者:sfufoet http://inloveinparis.com/gvim-ahk-tip/comment-page-1/#comment-95745 Sun, 06 Nov 2011 14:46:23 +0000 http://inloveinparis.com/gvim-ahk-tip/#comment-95745 回复给 桔子

@桔子, 嗯,是改抽时间换换位置了。

]]>
评论者:桔子 http://inloveinparis.com/gvim-ahk-tip/comment-page-1/#comment-95333 Mon, 31 Oct 2011 06:34:57 +0000 http://inloveinparis.com/gvim-ahk-tip/#comment-95333 Ushare不行了,那些以前的软件换个位置吧

]]>
评论者:sfufoet http://inloveinparis.com/gvim-ahk-tip/comment-page-1/#comment-88662 Tue, 19 Jul 2011 02:38:30 +0000 http://inloveinparis.com/gvim-ahk-tip/#comment-88662 回复给

@百, 你运行 AHK 脚本了吗?具体操作步骤写出来一下,看看能不能帮你。

]]>
评论者:百 http://inloveinparis.com/gvim-ahk-tip/comment-page-1/#comment-88630 Mon, 18 Jul 2011 13:06:11 +0000 http://inloveinparis.com/gvim-ahk-tip/#comment-88630 请问,为什么我按ctrl+i弹出VIM,打开的VIM是空白的?正常的话,应该VIM里有原来要编辑的文字才对吧?

]]>
评论者:AutoHotkey_L:支持unicode的AutoHotkey分支 | 善用佳软 http://inloveinparis.com/gvim-ahk-tip/comment-page-1/#comment-70407 Wed, 15 Sep 2010 09:14:44 +0000 http://inloveinparis.com/gvim-ahk-tip/#comment-70407 […] 我在wordpress撰写或修改博文,一向是用gvim手写源代码。当然,用 AutoHotkey 实现了一键操作。但 AutoHotkey fileappend 创建的文件,fenc=cp936,偶尔会保存出错,显然不如utf-8格式方便。尽管知道AutoHotkey不支持unicode,但是否有奇迹能设定fenc呢?Google 『AutoHotkey fileappend utf-8』,第一条结果就见到 AutoHotkeyU,进入后发现,该分支已经合并到 AutoHotkey_L ,下载后测试『FileAppend, %clipboard%, %tmpfile%, UTF-8』成功,再试了上面的sendinput依然成功,于是,写出来与大家共享。 […]

]]>
评论者:Susie http://inloveinparis.com/gvim-ahk-tip/comment-page-1/#comment-61913 Fri, 21 May 2010 16:26:43 +0000 http://inloveinparis.com/gvim-ahk-tip/#comment-61913 嗯吶~試用下~

]]>
评论者:asj http://inloveinparis.com/gvim-ahk-tip/comment-page-1/#comment-57994 Wed, 17 Mar 2010 06:01:13 +0000 http://inloveinparis.com/gvim-ahk-tip/#comment-57994 稍稍改进了一点,献丑了
WinGetTitle, active_title, A
这句后面增加
;判断文件类型
filetype=%active_title%
IfInString, active_title, SQL 查询分析器
filetype=sql

根据窗口名称改变临时文件后缀名,这样vim修改的时候就可以自动变为相应高亮格式了
后面需要稍作修改
FileDelete, %tmpfile%.*
tmpfile=%tmpfile%.%filetype%

需要增加新的格式就加一句IfInString,修改后面窗口名和文件后缀即可

希望能有点帮助吧

]]>