EzHotKey 板


LINE

是这样的,不久之前我看到了这个 http://www.animal-software.com/dolphin-text-editor-menu.php 这个小软体感觉很有趣,可是有些地方使用上不太方便 所以我决定结合一下我学的ruby 想要做出类似功能,但是可以输入ruby script来做文字改变 於是就诞生出这个"ruby Text Edit Menu"了~ 由於我是第一次接触autoHotkey,有些地方可能看起来很丑,请见谅~ //其实是查了很久以後才决定要用autoHotkey做的XD //毕竟用程式语言监测hotkey还蛮难的 程式分成两部分: ahk档 和 rb档 ---------- ahk档 ---------- #SingleInstance, force #Persistent Menu, func, add, line, lineHandler Menu, func, add, lines, linesHandler Gui, line:New Gui, line:Add, Text,, line Gui, line:Add, Edit, vlineCmd -WantReturn Gui, line:Add, Button, Default glineButton, OK Gui, lines:New Gui, lines:Add, Text,, lines Gui, lines:Add, Edit, vlinesCmd -WantReturn Gui, lines:Add, Button, Default glinesButton, OK Name = rubyTextEditMenu return !a:: Menu, func, show return lineHandler: Copy() Gui, line:Show return linesHandler: Copy() Gui, lines:Show return lineButton: Gui, line:Submit GuiControl,, lineCmd, Gui, line:Cancel ReplaceLineBreak() RunWait, %comspec% /c ""ruby" "%A_WorkingDir%\%Name%.rb" "n" "%clipboard%" "%lineCmd%" > "%A_WorkingDir%\%Name%Tmp.txt" 2> "%A_WorkingDir%\%Name%Error.txt"" Paste() return linesButton: Gui, lines:Submit GuiControl,, linesCmd, Gui, lines:Cancel ReplaceLineBreak() RunWait, %comspec% /c ""ruby" "%A_WorkingDir%\%Name%.rb" "y" "%clipboard%" "%linesCmd%" > "%A_WorkingDir%\%Name%Tmp.txt" 2> "%A_WorkingDir%\%Name%Error.txt"" Paste() return Copy() { clipboard = SendInput ^c ClipWait } Paste() { global Name FileRead clipboard, %Name%Tmp.txt ClipWait SendInput ^v } ReplaceLineBreak() { StringReplace clipboard, clipboard, `r`n, \n, All } ---------- rb档 ---------- def strEvalPrint(str, evalString, lineBreak=false) result = eval evalString if result.is_a? Array puts result[0..-2] if lineBreak puts result[-1] else print result[-1] end else print result end end def lineEval(str, evalString) str.gsub!('\\n', "\n") strEvalPrint str, evalString end def linesEval(strs, evalString) strs = strs.split '\\n' strs[0..-2].each do |str| strEvalPrint str, evalString puts "" end strEvalPrint strs[-1], evalString, true end if __FILE__ == $0 str, evalString = ARGV[1].dup, ARGV[2].dup if ARGV[0] == 'n' lineEval str, evalString elsif ARGV[0] == 'y' linesEval str, evalString else puts "Input Error, ARGV[0] == #{ARGV[0]}" end end ---------- 把这个档案放在同个资料夹下应该就可以了~ 使用方法如下: 选取想要的文字,按下alt+a键会跳出选单 选单有两个选项:line,lines line表示将整个选取的文字当成一个字串,用ruby script处理 lines表示ruby script会套用到选取到的每一行上 选下去後,会跳出视窗要输入ruby script script中的"str"即表示选取到的文字 例如: 选取了"test",在script中的"str"就是"test" 例如: 选取了"hello",script输入"str + ' world'",按下确定以後 "hello"就会被改成"hello world" 输入的script不需要加双引号! 然後字串请用单引号,想用双引号请用%Q{} 这个我还不知道该怎麽办,对autoHotkey不太熟 如果选了lines的话,每一行都会套用一次ruby script 例如: 选取了"I'm\nHe is",script输入"str + ' human.'",按下确定 结果会是"I'm human.\nHe is human." 大概就这样子了,希望大家会觉得好用~ 如果觉得alt+a不太顺手的话,上方浅蓝色的部分可以改成想要的hotkey 刚刚想到了一个功能顺手加上去 现在如果script的结果是Array,就会把Array每个元素印一行出来~ 这样就可以用split了 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.226.31.90 mars90226:转录至看板 EZsoft 02/26 13:02
1F:推 eight0:跳脱字元「`」 02/26 17:29
2F:→ mars90226:欸特,你是说双引号前面要加`的意思吗? 我试试看~ 02/26 18:38
※ 编辑: mars90226 来自: 125.226.31.90 (02/26 19:19)
3F:→ mars90226:我尝试的结果是要用「\」去跳脱,我想这是command line 02/26 20:15
4F:→ mars90226:的部分 02/26 20:15
5F:→ eight0:有可能! 这麽说之前run指令喂参数给bat失败说不定也是这个 02/27 01:53
6F:→ eight0:原因 02/27 01:53
※ 编辑: mars90226 来自: 125.228.44.77 (02/27 11:56)







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP