请问 Windows/ Linux 中有无靠谱的类似 MacOS 的光标控制方案? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Makoto
V2EX    问与答

请问 Windows/ Linux 中有无靠谱的类似 MacOS 的光标控制方案?

  •  
  •   Makoto 2023-01-13 15:26:58 +08:00 1158 次点击
    这是一个创建于 1009 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我大概近十年前,因为工作关系拥有了一台 MBP ,前几年,由于系统升级导致用的越来越卡,故换成了 Linux 。

    更换后没有什么问题,可我对 MacOS 中的光标控制方案愈发怀念。

    这个光标控制方案简单来说就是一组快捷键,比如:

    • Ctrl+B 可以控制输入光标向左走一格
    • Ctrl+F 可以控制输入光标向右走一格
    • Ctrl+A 是行首
    • Ctrl+E 是行尾

    我尝试过自己用 AutoHotKey 写脚本(Windows), 用 Github 上找的一个成套的解决方案效果也不是很好(Linux).

    最近两天这事在心里越发的挠痒痒,我甚至都开始下 MacOS 的镜像,在考虑要不要把这台 MBP11,1 安回 Catalina ,但是又担心系统版本太旧,很多应用不兼容;或者卡的不行的问题。

    所以我想问问这组快捷键在 Windows 和 Linux 上有什么成熟靠谱点的方案没?

    stein42
        1
    stein42  
       2023-01-13 15:42:34 +08:00
    linux 用 gnome 桌面,gnome-tweaks 里面设置 emacs 风格按键就可以了。
    所有 gtk 程序应该都支持。
    UncleCat01
        2
    UncleCat01  
       2023-01-13 15:42:43 +08:00 via iPhone
    不太明白,这不是键盘上箭头 home end 键的功能吗
    Makoto
        3
    Makoto  
    OP
       2023-01-13 15:46:53 +08:00
    @UncleCat01 对的,就是这个,问题是双手打字的时候我不用低头看键盘找键位,尤其是我以前傻乎乎的买了个无刻的键盘后。


    @stein42 谢谢你的提示,虽然我用的是 KDE,但是这启发了我,我去看看 KDE 下有没有什么替代方案。
    zanyzephyr
        4
    zanyzephyr  
       2023-01-13 15:52:01 +08:00
    在 op 的 “比如” 上再补两个:
    Ctrl + N : 下一行
    Ctrl + P : 上一行

    两外给 op 一个关键字信息:“Emacs-like 快捷键”。详情参考我之前帖子中 大佬们的回复: t/808266
    zanyzephyr
        5
    zanyzephyr  
       2023-01-13 15:53:21 +08:00
    @zanyzephyr 没看到 #1 已经提到了 emacs 风格
    murmur
        6
    murmur  
       2023-01-13 15:54:01 +08:00
    上下左右 home end 只要按一个键子,但是 emac 风格需要按组合键,所以快捷键是给自己添堵用的?
    tool2d
        7
    tool2d  
       2023-01-13 15:54:08 +08:00
    这种写个 IDE 编辑器插件就可以了,用全局快捷键会污染别的软件。

    我个人不太喜欢用 Ctrl ,特别是上下左右的光标移动,小手指按着费劲,喜欢类似 vi 模式切换。
    tool2d
        8
    tool2d  
       2023-01-13 15:57:40 +08:00
    这是我浏览 V2 的键盘脚本,开开心心用 e 和 d 来滚动屏幕。

    document.addEventListener('keydown', function(event)
    {
    var keyCode = event.keyCode;

    // Ignore keydown event if typing in an input box
    if (event.target.nodeName === 'INPUT'|| event.target.nodeName === 'TEXTAREA'|| event.target.isContentEditable)
    return false;

    if (keyCode == 'd'.charCodeAt(0) - 97 + 65) // d 按键
    document.documentElement.scrollTo({top: document.documentElement.scrollTop+500, behavior: 'smooth'});

    if (keyCode == 'e'.charCodeAt(0) - 97 + 65) // e 按键
    document.documentElement.scrollTo({top: document.documentElement.scrollTop-500, behavior: 'smooth'});

    return true;
    }
    Makoto
        9
    Makoto  
    OP
       2023-01-13 16:05:15 +08:00
    @zanyzephyr 我知道这个,我自己就是用 Emacs 的,我只是不想把这个提出来然后大家又开始争 Vim 和 Emacs 而已...

    @murmur 答案是我现有所有的键盘,想要按 Home 和 End 都是两个键,除了笔记本自带的键盘有方向键,其他想要按方向或者 HomeEnd 都是两个键,相比起来,我提到的这种方式要快捷的多,尤其是我早就熟练使用 Emacs 了后

    @tool2d 所以这方面我挺怀念 MacOS 的,多一个键可以把很多快捷键做的非常兼容...至于小手指,我是用 HHKB 的...所以这方面没有什么问题
    tool2d
        10
    tool2d  
       2023-01-13 16:57:30 +08:00
    @Makoto 羡慕你用的 HHKB ,我键盘的 Caps 是最没用的按键之一。

    想改成触发键都很难。
    ScepterZ
        11
    ScepterZ  
       2023-01-13 17:03:35 +08:00
    win 上我用 ahk 这样用了几年了,感觉没什么问题。
    如果键盘固件比较好的话,其实直接给键盘改键是最舒服的
    Makoto
        12
    Makoto  
    OP
       2023-01-13 17:03:52 +08:00
    @tool2d 其实我除了 Windows, 不管什么键盘都会设置 CapsLock 为 Ctrl...
    Makoto
        13
    Makoto  
    OP
       2023-01-13 17:05:16 +08:00
    @ScepterZ 客制化键盘固件也考虑过,但是手上已经有两把功能正常的键盘,考虑用坏了再换
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2506 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 40ms UTC 05:12 PVG 13:12 LAX 22:12 JFK 01:12
    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