启用 Ctrl(或 Alt)+ 箭头键来模拟“home”和“end”功能

启用 Ctrl(或 Alt)+ 箭头键来模拟“home”和“end”功能

我是一名长期 Mac 用户,现在使用 Ubuntu 机器进行开发,虽然我或多或少习惯了许多键盘快捷键,但有一件事我无法习惯,那就是使用“Home”和“End”键在文本行中移动。在 Mac 上,您可以使用“Command + 向右箭头”转到行尾,使用“Command + 向左箭头”转到行首。

有没有办法在 Linux 中启用这种功能?

我不确定这是否会被视为重新映射、键盘快捷键或什么......

答案1

使用xmodmap一些提示)您可以重新绑定整个窗口系统的键。以下方法可以实现您想要的效果,但会产生副作用 :(

首先在终端窗口中尝试一下:

  1. 让左键Alt成为所谓的Mode_switch

    1. 将该键指定为 Mode_switch 键符号:

      xmodmap -e 'keycode  64 = Mode_switch Meta_L Alt_L Meta_L'
      
    2. (通常:确保 Mode_switch 分配给 mod1-5 修饰键之一,但 Ubuntu 中已经是这种情况)

  2. 修改第三排LeftRight

    xmodmap -e 'keycode 113 = Left NoSymbol Home'
    xmodmap -e 'keycode 114 = Right NoSymbol End'
    

更改会一直保留,直到您注销。如果您希望永久保留,请将以下内容放入文件中~/.Xmodmap

keycode  64 = Mode_switch Meta_L Alt_L Meta_L
keycode 113 = Left NoSymbol Home
keycode 114 = Right NoSymbol End

但请注意,这将覆盖 Alt 键的正常功能(访问菜单、Alt-Tab 等):(

不过,我不是 xmodmap 等方面的专家。也许其他人知道如何解决这个问题。我真的很喜欢 Ubuntu 和 Linux,但整个键盘的东西太复杂了,而且很破旧 :-<

答案2

这专门针对 sublime text,但对于任何想重新映射 alt 和箭头键以使其像在 mac 上一样运行的人来说,可能会像我一样偶然发现这个答案。在 sublime 中,打开“首选项”>“键绑定 - 用户”,然后在方括号中添加以下内容。

{ "keys": ["alt+left"], "command": "move_to", "args": {"to": "bol", "extend": false} },
{ "keys": ["alt+right"], "command": "move_to", "args": {"to": "eol", "extend": false} }

现在,至少您有一个有用的文本编辑器,并且具有正确的 alt + 左箭头和右箭头功能!希望这能有所帮助。

答案3

对于使用 readline 的程序(例如 bash),您可以编辑~/.inputrc以绑定beginning-of-lineend-of-line适当的序列。GUI 小部件工具包有自己的绑定,您必须为它们找到适当的部分,假设这是可能的(GTK+ 2.x)。

相关内容