EZsoft 板


LINE

※ [本文转录自 EzHotKey 看板 #1FIRocUF ] 作者: mars90226 (火星人) 看板: EzHotKey 标题: [AHK-] [分享] ruby Text Edit Menu 时间: Sun Feb 26 13:01:24 2012 是这样的,不久之前我看到了这个 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 lineEval(str, evalString) str.gsub!('\\n', "\n") print eval evalString end def linesEval(strs, evalString) strs = strs.split '\\n' strs.each do |str| print eval evalString puts "" unless str == strs.last end 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 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.226.31.90



※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: mars90226 (125.226.31.90), 时间: 02/26/2012 13:02:45







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灯, 水草

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

TOP