Gmail的Quote Selected Text的Lab功能给取消了

公司一直在用谷歌的G Suite作为主要的沟通和协作平台,所以这几年一直把Gmail作为主力的邮件和沟通平台在使用,对于Google给Gmail的很多Lab功能还是很感兴趣的,其中有一个叫做“Quote Selected Text”,当时也没注意这个功能是啥意思,enable了之后在使用过程中突然发现了这个,然后就觉得很好用,具体就是如果你想在你的回复邮件的正文里引用给你邮件的一些内容,你可以选择highlight这些内容之后,点击“Reply”,然后在回复的邮件的窗口里,这些内容自动被引用,非常的方便,一直用这个功能大概几年了,突然前段时间发现这样做的时候没有引用了,觉得非常的不方便,然后去搜索谷歌,才发现谷歌给把几个lab功能包括这个下线了!!!

这真是一个很郁闷的事情,为什么其他的lab功能我不用还在哪里,而这个总用的被拿掉,后来看了谷歌用户论坛的一些讨论才了解,原来是谷歌说功能被拿下有两个意思,一个是不好,就干脆不提供了,一个是好,准备放到Addon里给付费的企业用户使用,反正不管咋样,下线的就是没了,帖子里提了很多什么找谷歌投诉之类的,但貌似都跟之前的谷歌其他方面的投诉一样,基本没什么作用,那个帖子很长,往后翻着翻着,突然发现有个大哥说,其实用脚本也能实现,我就看了一下,原来是用AutoHotKey这个工具加上Gmail的Enable了keyboard shortcut这个功能之后组合实现,哇塞,居然真有能人,赶紧下载尝试了一下,脚本如下:


; gmail "quote" selected text
; hotkey for reply `

SetTitleMatchMode,RegEx ; "substring" will work too

#If WinActive("ahk_exe chrome.exe") ; hotkey only for chrome
`:: ; hotkey used "`"
Sendmode Event
SetKeyDelay, 200
Send ^c ; copy
Send r ; reply
Send {return} ; next line
Send ^+9 ; format -> quote
Send ^+v ; paste as plain text
Send {return} ; next line
Send {Down} ; coursor down
Send {Backspace} ; erase quote in wrong plac
Send {return}
Send {Up}
Send {return} ; next line
Send ^] ; add tab
return
#IfWinActive

但测试之后随即发现这个脚本只能引用选择的文字,回复窗口里其他的内容都没了,我们公司要求必须有签名,然后前面沟通的邮件也应该都在,所以这个不是我能接收的,必须要改啊,看来还要自己动手啊。

找出了AutoHotkey的手册,仔细研究了一下,看了看脚本,貌似理论上可以恢复成原来功能的样子,虽然不能100%吧,但80~90%貌似可以,那就开工吧,虽然已经有一年多没写脚本了,但还应该没啥大问题。。开始写,然后测试,期间各种艰辛,主要是这个脚本工具不熟悉,怎么debug也不知道,反正就这么稀里糊涂的改呗,什么脚本动作过快,浏览器的copy,paste太慢导致变量为空,什么企业版的可以配置keyboard shortcut导致部分快捷键被disable,什么翻页动作不对,什么clipboard内容paste出来的时候编码转换等等,不过万幸的是,居然这个脚本让偶给搞定了,哈哈。。赶紧去回了个帖子,告知有更好的脚本,取之于社区,回报于社区吗!

下面简略的说一下这个脚本的使用方法,具体的步骤等,基本都是抄那个论坛的,我翻译一下而已:

  • 这里下载和安装AutoHotKey,有很多版本,我用的1.1的
  • 在文本编辑器里把下面的脚本贴入,然后保存成文件名:gmail-quotesel.ahk 的文件,文件名随意,你想用什么都行,但后缀不能变
  • 你可以在理解的基础上继续修改这个脚本,当然你要确定你知道怎么改,哈哈
  • 其中一个主要的是修改你自己的快捷键,因为有时候快捷键有冲突
  • 在Windows的环境里双击gmail-quotesel.ahk装入内存,然后就可以进入Chrome打开Gmail使用了
  •  如果你不想每次双击它,就把ahk文件放到你的startup 启动目录里,windows可以自动在启动的时候调用它。

最终代码是:


SetTitleMatchMode,RegEx

#If (WinActive("Inbox -") && WinActive("ahk_exe chrome.exe"))
;;;F11::
^q::

;==Get copied text into var
clipboard =  ; Empty the clipboard
Send  ^c ; copy
Clipwait
varSelectedText :=  ClipboardAll ;save copied content
clipboard =  ; Empty the clipboard

;==Get to reply windows
Send  r ; reply all
sleep 500

;==Get all text in reply windows
Send  ^a ; select all
Send  ^c ; copy
Clipwait
ClipSaved  := ClipboardAll ;save original email content

;==Paste copied text and quote it
clipboard =  ; Empty the clipboard
Clipboard :=  varSelectedText
Clipwait
Send  ^a ; select all
Send  ^v ; paste as plain text
Send  ^a ; select all
Send  ^+i ; format -> Italics
Send  ^+9 ; format -> quote

;==Jump to end of email
Send  {end} ; unselect
Send  {return} ; next line
Send  ^+\     ; clean format

;==paste reply windows text
clipboard := ClipSaved
Send  ^v  ; paste

sleep 500
clipboard =  ; Empty the clipboard
varSelectedText :=
ClipSaved :=

Send  {PgUp} ; go back to beginning of email content
Send  {PgUp}
Send  {PgUp}
Send  {PgUp}
Send  {PgUp}
Send  {PgUp}
Send  {PgUp}
Send  {PgUp}
Send  {PgUp}
Send  {PgUp}
Send  {PgUp}
Send  {PgUp}
Send  {PgUp}
Send  {PgUp}
Send  {PgUp}
Send  {PgUp}
Send  {PgUp}
Send  {PgUp}
Send  {PgUp}

Send  {return} ; next line
Send  {return} ; next line

Send  {PgUp}
Send Dear

return
#if

脚本里的注释我觉得已经很清楚了,如果还不清楚,欢迎回帖来讨论。
If you have any questions or any thing need to clarify, please leave your comments here.

相关文章

Yahoo的翻译和Google的翻译的对比
views 102
随手找了篇新闻,想让这两个工具比较一下。。大家可以看看结果。。个人感觉还是Yahoo的稍微人性化一些,优化的也好点,呵呵。。原文: 来自Theage ...
浅谈PJBlog2的插件开发
views 106
看着比较熟悉的ASP代码,觉得是可以好好开发一些自己喜爱的插件,所以昨天就开始动手写,打开文档粗略的看了一下,大致了解了结构和内容,然后就开始写自己想要的东西,也许很久不动手了,手有些生,但还行,两个小时就搞定了一个,又晚上花了1个半小时搞定另外一个,这里说一下开发中的一些感受。 插件的总体结...
Google的新服务Picasa和Hello
views 108
很喜欢Google这个公司的风格,Search Engine可能是公司为众人所知的亮点,公司自从上市之后,一系列的产品的发布都觉得非常对我的胃口,不按常理出牌,不仅是技术实践的先驱,而且是某些经营理念的先驱,经营手法非常大气,1G的Gmail让众多公共Email的服务商全体吐血,呵呵。这里我就先介绍...
Google中国的闲聊
views 118
Google事件大家已经讨论了很多,每一方都从自己的侧面就所了解的信息进行过滤和总结,然后找到有利于自己的方面来进行宣传,而真正了解的比较全面的人反而大多数保持沉默,主要是觉得水比较混,也比较深,涉及到国家民族的高度,乱说话是很危险的,哈哈。。其实冲突的缘由一定来自利益,而利益的升华则是意识形态,所...

Leave a Reply