怎么调教鼠标中键?

2015-01-25 20:34:50 +08:00
 favtube
由于某个契机,favtube君去翻了很久前的一个 AutoHotKey 的代码,如不嫌弃,请拿走,能暖被 :)

背景:
或许你已经知道鼠标中键的一些妙用了,比如,中键点击一个网页链接,会在一个新tab里打开这个网页。另,在大多数浏览器里,中键点击一个tab,会关闭这个tab。

但是它的功效不应该止于此。
你可以用它来复制和粘贴!具体的功能描述是:

如果你选取了一段文本,按中键会复制到剪贴板。
如果在没选取的状态下,按中键会把剪贴板的内容粘贴到光标所在位置。
如果在选取文本的情况下你想实施粘贴,那么可以按住win键的同时按鼠标中键。
或者说你想要剪切?没问题,按住CTRL的同时按中键。

如何安装?(目前测试的windows版本是win7)
1 你需要安装 AutoHotKey, http://www.autohotkey.com/
2 安装完毕后,你应该可以看到右下角的运行程序里有个新的图标,在鼠标菜单里选择 "Edit Script" (编辑脚本?)
3 然后把以下的文本粘贴,并保存

~mbutton::
clip := clipboard
clipboard := ""
send ^c
if (clipboard == "") {
clipboard := clip
send ^v
}
return

#mbutton::
send ^v
return

^mbutton::
clip := clipboard
clipboard := ""
send ^x
return

4 在刚才那个图标的鼠标菜单里选择 "Reload Script" (重载脚本?)

gooooood
请慢慢享受。改脚本不会跟现有的功能冲突。
4977 次点击
所在节点    分享创造
31 条回复
msg7086
2015-01-26 16:03:14 +08:00
中键的正常使用方法是自由滚动页面……
favtube
2015-01-26 20:45:43 +08:00
@msg7086 你使用的频率高么?因为我个人几乎不会去用,不知道其他人怎么样。
还有,我记得windows下是有,但是mac下chrome,firefox,safari目测都是没这个功能。
msg7086
2015-01-26 21:28:00 +08:00
@favtube 很高。我是用Windows的。

另外用来切换当前窗口也会用到中键。
中键一般没有左键或者右键带来的副作用,是避免当前光标逃走的好办法。
favtube
2015-01-27 08:30:24 +08:00
@msg7086 我突然醒悟过来,你是指中键的滚动动作还是点击动作?这帖子讲的是点击动作。
另,我一开始以为你是在讲中键点击之后的自动滚动功能。如果是滚动动作那跟这个复制粘贴的脚本是没有冲突的。理论上,这个脚本跟点击也应该没有太大的冲突的。(当然,副作用肯定还是会有)

还有,切换当前窗口是什么意思?是切换什么窗口?在什么情景下切换?如何使用中键切换?
同时,favtube君不太清楚你说的“避免当前光标逃走”是指什么意思。
msg7086
2015-01-27 10:51:49 +08:00
@favtube 点击。
中键点击就是为了避免副作用的。

比如说你开着一个sublime,然后在其他窗口操作,完了要切换回sublime。
如果你左键点击sublime的主窗口,就会导致激活窗口时光标移动到点击的位置。
如果你右键点击sublime的主窗口,就会导致激活窗口时弹出右键菜单。
中键点击不会产生这些副作用,就如同用Alt-Tab切换窗口一样。
但是Alt-Tab切换窗口还会导致窗口Peak效果,对于有显卡渲染功能的程序会加重显卡负担 (比如切换视频播放器的时候)。所以一般用中键来切换。
julijulilijuliju
2015-01-27 18:20:58 +08:00
亲测,不适用于tor打开的twitter页面
favtube
2015-01-27 19:10:29 +08:00
@msg7086 明白了,那这个脚本还真不适合你,因为你在切换的过程中,会意外的复制或粘贴内容。

不过,favtube君很好奇你说的这个alt+tab切换产生的副作用不至于导致放弃这个令人愉快的快捷键吧…?像平时切换时,favtube君都是用它配合鼠标滚轮来切换窗口,那酸爽~。
题外话,这点mac做的比较好,mac里窗口都是摊着一堆,然后直接点击,好在它也不用中键,因为首次点击会被mute掉。
favtube
2015-01-27 19:11:26 +08:00
@julijulilijuliju 朋友,你说的是哪个功能失败了?如何再现,能否表述清楚些?
julijulilijuliju
2015-01-27 20:07:51 +08:00
@favtube 用tor打开twitter,进入主页,选中文字,中键不能复制
favtube
2015-01-27 20:44:00 +08:00
@julijulilijuliju 只有twitter页面么?还是所有其他页面在tor里面都不能中键复制?另外,鼠标中键是否有自动滚动的功能?可以考虑去设置里面取消掉再试试看。
msg7086
2015-01-27 23:08:02 +08:00
@favtube 打开超过50个窗口以后这货会变得不稳定,所以还是少用为好。特别是两个显示器上的窗口间切换,一般都会选择鼠标移过去点一下…
favtube
2015-01-28 07:56:14 +08:00
@msg7086 50个窗口… 来分享一下你平时都开着什么 XD favtube君看了一下,现在有20个窗口开着,上次重启是4个月前。
julijulilijuliju
2015-01-28 10:20:16 +08:00
@favtube 尝试着写ahk,提示语法错了,没鸟他,结果重启AutoHotkey.exe提示:
---------------------------
AutoHotkey.ahk
---------------------------
Error at line 32.

Line Text: hello开始
Error: This line does not contain a recognized action.

The program will exit.
---------------------------
确定
---------------------------

怎么破?
msg7086
2015-01-28 13:06:04 +08:00
@favtube TM2009的聊天窗口就有不少,多的时候十多个肯定有。
资源管理器,平时要写代码要压片,十几个少不了。
剩下的,压片打轴软件,编辑器,虚拟机,各种命令行窗口,十几个少不了。
最近用ConEmu把命令行都集中起来了,少了不少,但是二三十个窗口肯定不止。
favtube
2015-01-28 14:13:34 +08:00
@julijulilijuliju 能否把源代码贴出来?根据这个错误提示,只能大概知道第32行的hello是一个无效的ahk操作。
favtube
2015-01-28 14:20:41 +08:00
@msg7086 唉确实是无解。纠正一下favtube君的错误,本人开的窗口确实也不止20多个,因为每个app也有N个窗口。如果atl+tab会卡的明显的话,同时不是增强硬件能够破的话,那基本就是破不了了。说实话不能用快速切换的快捷键的话,挺遗憾的,favtube君已经习惯了有时码程序时,terminal,IDE,Texteditor之间来回切换可以脱离鼠标。
julijulilijuliju
2015-01-28 14:22:00 +08:00
;hello开始
#n::run notepad
代码如上,手贱加了个注释(一个空格和一个“;”,然后就是”hello开始“),是按你介绍的"Edit Script"去编辑的,现在AHK是用不了了,求助啊
favtube
2015-01-28 14:29:19 +08:00
@julijulilijuliju 我试了你这个代码,没有错误。你可能得贴多些上下文出来。还有,可以考虑把一些你怀疑有问题的代码剪切出来放在其他文件里,然后保存再加载,看看是否还有错误。如果没错误,再把剪切出来的东西一点点加回去。
lavande
2015-01-28 15:05:53 +08:00
linux下,选中文字是复制,中键是粘贴,这个比较方便
favtube
2015-01-28 15:16:33 +08:00
@lavande true~ 不过这种模式只适用于终端。这个方法只是折中的调教鼠标中键。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/165355

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX