gpt4 book ai didi

keyboard - 有没有比使用箭头键更快的替代方法?

转载 作者:行者123 更新时间:2023-12-02 08:01:28 25 4
gpt4 key购买 nike

我经常用 R 编写代码,我才意识到将手向下移动到箭头键,然后再回到键盘上的字母是多么痛苦。在 Rstudio 中,我必须定期执行此操作,因为工作室会自动完成某些 Synax(如括号和引号),然后我必须按箭头键移出括号(或引号),然后删除任何可能的让 R 为我完成语法的优势。这对我来说是额外的成本,因为我是左撇子。是否有更接近字母键的箭头键的快捷方式?

最佳答案

介绍:
为此,您有两种方法:

  • 使用您自己的代码
  • 使用第三方软件

  • 在这些答案中,我介绍了最有效和最简单的方法,因此对于某些操作系统,编写自己的代码既简单又高效,而在其他操作系统中,它的效率并不高,需要艰苦的工作,但没有成就却浪费时间
    WINDOWS 用户:
    ♣在此方法中,您将使用:
    alt+I 而不是 ↑
    alt+K 代替 ↓
    alt+J 代替 ←
    alt+L 代替 →
    ♣要使用此功能,请按以下步骤操作:
  • 下载安装 autohotkey
  • 右键单击桌面区域,然后转到新建并创建一个新的“记事本”文件
  • 打开空的记事本文件并将下面的代码复制/粘贴到该
  • 重命名您的记事本文件,但使用 *.ahk 格式
  • 单击您的文件以运行您的脚本
  • 现在您可以享受并且再也不用箭头键了...
  •         ; #Warn  ; Enable warnings to assist with detecting common errors.
    SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
    SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.

    ; AHK Command ; key = Effect (Description)

    ; ALT Keypress Implied for all below

    !i::Send {UP} ; i UP (Cursor up line)
    !k::Send {DOWN} ; k DOWN (Cursor down line)

    !j::Send {LEFT} ; j LEFT (Cursor left one character)
    !l::Send {RIGHT} ; l RIGHT (Cursor right one character)

    !h::Send {HOME} ; h ALT + RIGHT (Cursor to beginning of line)
    !;::Send {END} ; ; ALT + LEFT (Cursor to end of line)

    !u::Send ^{HOME} ; h SHIFT + HOME (Cursor to beginning of document)
    !o::Send ^{END} ; o SHIFT + END (Cursor to end of document)

    ; CTRL + ALT Keypress Implied for all below

    !^j::Send ^{LEFT} ; j CTRL + LEFT (Cursor left per word)
    !^l::Send ^{RIGHT} ; l CTRL + RIGHT (Cursor right per word)

    ; SHIFT + ALT Keypress Implied for all below

    !+i::Send +{UP} ; i SHIFT + UP (Highlight per line)
    !+k::Send +{DOWN} ; k SHIFT + DOWN (Highlight per line)

    !+j::Send +{LEFT} ; j SHIFT + LEFT (Highlight per character)
    !+l::Send +{RIGHT} ; l SHIFT + RIGHT (Highlight per character)

    !+h::Send +{HOME} ; h SHIFT + ALT + LEFT (Highlight to beginning of line)
    !+;::Send +{END} ; ; SHIFT + ALT + RIGHT (Hightlight to end of line)

    !+u::Send ^+{HOME} ; u SHIFT + CTRL + HOME (Highlight to beggininng of document)
    !+o::Send ^+{END} ; o SHIFT + CTRL + END (Hightlight to end of document)

    ; SHIFT + CTRL + ALT Keypress Implied for all below

    !+^j::Send +^{LEFT} ; j SHIFT + CTRL + LEFT (Highlight per word)
    !+^l::Send +^{RIGHT} ; l SHIFT + CTRL + RIGHT (Hightlight per word)

    !+^i::Send +!{UP} ; i SHIFT + ALT + UP (Multiply cursor up)
    !+^k::Send +!{DOWN} ; k SHIFT + ALT + DOWN (Multiply cursor down)

    ; CTRL + SHIFT Keypress Implied for all below

    +^i::Send +^{UP}
    +^k::Send +^{DOWN}
    重要注意事项
    要使用您制作的自动热键脚本,每次打开计算机而不是每次都单击您的脚本时,您可以将您的脚本复制到启动文件夹中。
    如何找到启动文件夹?
  • win+R
  • 类型: shell :启动
  • 将您的脚本复制到该文件夹​​中

  • MACOS 用户:
    ♣在此方法中,您将使用:
    option+I 而不是 ↑
    option+K 而不是 ↓
    option+J 而不是 ←
    option+L 而不是 →
    使用 hammerspoon
    hammerspoon 是一个用于多种用途的强大工具(不仅仅是分配键绑定(bind),例如您可以将它用于 windows sanping 或 ...),我认为这是任何 macos 中必备的工具之一
    由于hammerspoon 的文档非常简单,我只是将代码放在这里,您可以从 Getting Started with Hammerspoon 安装和配置hammerspoon。
    hs.hotkey.bind({"alt"}, "I", function()
    hs.eventtap.keyStroke({}, "up")
    end)
    hs.hotkey.bind({"alt"}, "K", function()
    hs.eventtap.keyStroke({}, "down")
    end)
    hs.hotkey.bind({"alt"}, "J", function()
    hs.eventtap.keyStroke({}, "left")
    end)
    hs.hotkey.bind({"alt"}, "L", function()
    hs.eventtap.keyStroke({}, "right")
    end)
    重要注意事项
    如果您认为hammerspoon 速度慢或工作不如您想要的那么灵巧,另一种选择是 Karabiner
    基于 DEBIAN 的 LINUX 用户(不是 ubuntu-请参阅重要说明):
    ♣在此方法中,您将使用:
    CapsLock+I 代替 ↑
    CapsLock+K 代替 ↓
    CapsLock+J 代替 ←
    CapsLock+L 代替 →

    alt_gr 而不是 CapsLock
    ♣和如何?嗯:
  • 打开终端,将您的键盘布局写入一个文件(我将其命名为 modmap),然后打开该文件并按照以下步骤进行编辑:
    xmodmap -pke > modmap
    gedit modmap
  • 修改keyCode 108(alt_Gr/ISO_Level3_Shift)的值,修改后应该是这样的:
    keycode 108 = Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock
  • 修改keyCode 66(CapsLock)的值,修改后应该是这样的:
    keycode  66 = Mode_switch Mode_switch Mode_switch Mode_switch Mode_switch Mode_switch
  • 更改keyCode 31(i)的值,所以修改后应该是这样的:
    keycode  31 = i I Up NoSymbol NoSymbol NoSymbol NoSymbol NoSymbol
  • 改变keyCode 44(j)的值,所以修改后应该是这样的:
    keycode  44 = j J Left NoSymbol NoSymbol NoSymbol NoSymbol NoSymbol
  • 改变keyCode 45(k)的值,所以修改后应该是这样的:
    keycode  45 = k K Down NoSymbol NoSymbol NoSymbol NoSymbol NoSymbol
  • 改变keyCode 46(l)的值,所以修改后应该是这样的:
    keycode  46 = l L Right NoSymbol NoSymbol NoSymbol NoSymbol NoSymbol

  • 重要注意事项
    1- xmodmap 在 Ubuntu 上不再使用/支持(因为它对许多用户来说并不方便,我认为他们从 2013 年开始停止使用 xmodmap)但由于这是一个非常快速编码和使用计算机以及编码的专业问题,我看到许多专业人士使用 Debian 或他们自己的基于 debian 的 linux(不是 Ubuntu),他们总是更喜欢 native 解决方案而不是插件或......
    无论如何,如果您使用的是 Ubuntu,您可以使用 xkb 或 gnome 调整工具,您可以在其中调整 GUI 中的键盘映射
    2-如果您的键盘上有多个语言/输入,则无法轻松使用此解决方案,但您可以像下面这样使用它:
    CapsLock+shift+i 代替 ↑
    CapsLock+shift+k 代替 ↓
    CapsLock+shift+j 代替 ←
    CapsLock+shift+l 代替 →
    例如,如果您还想要 persian_language_input,您可以执行上面的步骤 1、2、3,然后更改其他步骤,如下所示:
    keycode  31 = i I Arabic_heh Up 5 6 7 8
    keycode 44 = j J Arabic_teh Left 5 6 7 8
    keycode 45 = k K Arabic_noon Down 5 6 7 8
    keycode 46 = l L Arabic_meem Right 5 6 7 8
    注意不要在终端中测试上面的键盘快捷键
    3- 由于我们使用的是 xmodmap 工具(因为它与 xkb 不同,它是原生的),您只能更改已经使用 AltGr 的键码的 AltGr 键符。所以我们用 CapsLock 改变它来克服这个问题,因为 Capslock 对手指来说更舒适,发现它是一个非常可接受的解决方案。
    4- 在大多数情况下 alt_Gr 是键盘上的正确 alt 键
    关于 xmodmap 的进一步阅读:
    ArchWiki - xmodmap
    如果有人在 BSD OS(或 BSD-BASED)中了解此答案,我将不胜感激,如果他/她将其添加到我的答案中

    关于keyboard - 有没有比使用箭头键更快的替代方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45509922/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com