怎么调教鼠标中键? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
favtube
V2EX    分享创造

怎么调教鼠标中键?

  •  
  •   favtube 2015-01-25 20:34:50 +08:00 5661 次点击
    这是一个创建于 3935 天前的主题,其中的信息可能已经有所发展或是发生改变。
    由于某个契机,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
    请慢慢享受。改脚本不会跟现有的功能冲突。
    31 条回复    2015-01-30 06:51:23 +08:00
    msg7086
        1
    msg7086  
       2015-01-26 16:03:14 +08:00
    中键的正常使用方法是自由滚动页面……
    favtube
        2
    favtube  
    OP
       2015-01-26 20:45:43 +08:00
    @msg7086 你使用的频率高么?因为我个人几乎不会去用,不知道其他人怎么样。
    还有,我记得windows下是有,但是mac下chrome,firefox,safari目测都是没这个功能。
    msg7086
        3
    msg7086  
       2015-01-26 21:28:00 +08:00
    @favtube 很高。我是用Windows的。

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

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

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

    不过,favtube君很好奇你说的这个alt+tab切换产生的副作用不至于导致放弃这个令人愉快的快捷键吧…?像平时切换时,favtube君都是用它配合鼠标滚轮来切换窗口,那酸爽~。
    题外话,这点mac做的比较好,mac里窗口都是摊着一堆,然后直接点击,好在它也不用中键,因为首次点击会被mute掉。
    favtube
        8
    favtube  
    OP
       2015-01-27 19:11:26 +08:00
    @julijulilijuliju 朋友,你说的是哪个功能失败了?如何再现,能否表述清楚些?
    julijulilijuliju
        9
    julijulilijuliju  
       2015-01-27 20:07:51 +08:00
    @favtube 用tor打开twitter,进入主页,选中文字,中键不能复制
    favtube
        10
    favtube  
    OP
       2015-01-27 20:44:00 +08:00
    @julijulilijuliju 只有twitter页面么?还是所有其他页面在tor里面都不能中键复制?另外,鼠标中键是否有自动滚动的功能?可以考虑去设置里面取消掉再试试看。
    msg7086
        11
    msg7086  
       2015-01-27 23:08:02 +08:00 via iPhone
    @favtube 打开超过50个窗口以后这货会变得不稳定,所以还是少用为好。特别是两个显示器上的窗口间切换,一般都会选择鼠标移过去点一下…
    favtube
        12
    favtube  
    OP
       2015-01-28 07:56:14 +08:00
    @msg7086 50个窗口… 来分享一下你平时都开着什么 XD favtube君看了一下,现在有20个窗口开着,上次重启是4个月前。
    julijulilijuliju
        13
    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
        14
    msg7086  
       2015-01-28 13:06:04 +08:00
    @favtube TM2009的聊天窗口就有不少,多的时候十多个肯定有。
    资源管理器,平时要写代码要压片,十几个少不了。
    剩下的,压片打轴软件,编辑器,虚拟机,各种命令行窗口,十几个少不了。
    最近用ConEmu把命令行都集中起来了,少了不少,但是二三十个窗口肯定不止。
    favtube
        15
    favtube  
    OP
       2015-01-28 14:13:34 +08:00
    @julijulilijuliju 能否把源代码贴出来?根据这个错误提示,只能大概知道第32行的hello是一个无效的ahk操作。
    favtube
        16
    favtube  
    OP
       2015-01-28 14:20:41 +08:00
    @msg7086 唉确实是无解。纠正一下favtube君的错误,本人开的窗口确实也不止20多个,因为每个app也有N个窗口。如果atl+tab会卡的明显的话,同时不是增强硬件能够破的话,那基本就是破不了了。说实话不能用快速切换的快捷键的话,挺遗憾的,favtube君已经习惯了有时码程序时,terminal,IDE,Texteditor之间来回切换可以脱离鼠标。
    julijulilijuliju
        17
    julijulilijuliju  
       2015-01-28 14:22:00 +08:00
    ;hello开始
    #n::run notepad
    代码如上,手贱加了个注释(一个空格和一个“;”,然后就是”hello开始“),是按你介绍的"Edit Script"去编辑的,现在AHK是用不了了,求助啊
    favtube
        18
    favtube  
    OP
       2015-01-28 14:29:19 +08:00
    @julijulilijuliju 我试了你这个代码,没有错误。你可能得贴多些上下文出来。还有,可以考虑把一些你怀疑有问题的代码剪切出来放在其他文件里,然后保存再加载,看看是否还有错误。如果没错误,再把剪切出来的东西一点点加回去。
    lavande
        19
    lavande  
       2015-01-28 15:05:53 +08:00
    linux下,选中文字是复制,中键是粘贴,这个比较方便
    favtube
        20
    favtube  
    OP
       2015-01-28 15:16:33 +08:00
    @lavande true~ 不过这种模式只适用于终端。这个方法只是折中的调教鼠标中键。
    julijulilijuliju
        21
    julijulilijuliju  
       2015-01-28 15:33:37 +08:00
    现在AHK都打不开,上面的代码是之前保存的,全部代码也就运行AutoHotkey.exe主程序,然后托盘处右击并"Edit Script",也就AHK自带的代码和;hello开始
    #n::run notepad
    如果你觉得有必要,我再把AHK自带的代码贴出来。
    现在AHK都打不开,更别说保存再加载。

    @lavande 选中即复制,还怎么替换?
    lavande
        22
    lavande  
       2015-01-28 16:23:14 +08:00
    @julijulilijuliju 这个我也比较困惑,好在选中自动复制和ctrl+v的复制是储存在不同地方的,选中自动复制的通过中键粘贴,^c的通过^v粘贴,互不干扰,使用是就自己看拿个方便了……
    julijulilijuliju
        23
    julijulilijuliju  
       2015-01-28 16:33:14 +08:00
    @lavande 都分别存储在哪呢?
    favtube
        24
    favtube  
    OP
       2015-01-28 16:42:55 +08:00
    @lavande
    @julijulilijuliju
    终端模式下好像是没替换的操作的。
    lavande
        25
    lavande  
       2015-01-28 16:52:05 +08:00
    @julijulilijuliju
    这边有些信息,不过我觉得两个剪贴板同步了也未必好……
    http://askubuntu.com/questions/167570/how-does-middle-click-paste-work
    julijulilijuliju
        26
    julijulilijuliju  
       2015-01-28 16:55:14 +08:00
    @favtube 你有一条回复未查看(哈哈,看一下我给你的回复啊)
    favtube
        27
    favtube  
    OP
       2015-01-28 17:01:03 +08:00   1
    @julijulilijuliju
    现在ahk一打开就出那个错误么?你可以在My Document下面找到AutoHotkey.ahk 这个就是默认的脚本
    KentY
        28
    KentY  
       2015-01-28 19:56:30 +08:00
    俺中键使用频率可能比右键高
    favtube
        29
    favtube  
    OP
       2015-01-29 06:51:48 +08:00
    @KentY 你的使用的场景是什么?也是窗口切换么?
    KentY
        30
    KentY  
       2015-01-29 16:33:41 +08:00 via Android
    @favtube 粘贴左键选中的文字
    favtube
        31
    favtube  
    OP
       2015-01-30 06:51:23 +08:00
    @KentY I see. Me 2 :p
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     949 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 22:11 PVG 06:11 LAX 14:11 JFK 17:11
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86