按单词键盘组合移动

按单词键盘组合移动

我想改变编辑文本时的默认行为。

默认情况下,要移动一个单词,可以按CTRL+ 。这对于在以下情况下快速选择文本部分很有用:普通的* 文本环境。

在哪里可以修改它以使用不同的修饰键(例如)?我在>或>中ALT找不到它。Keyboard LayoutOptionsKeyboardShorcuts

*即不是 Vim/其他编辑器

答案1

  1. 您可以使用 xbindkeys 覆盖键盘上的某些键。您可以使用 bindkeys 捕获它们,然后使用 xmacro 发出新的按键

参见以下内容如何

  1. 它也可能是 Compiz 设置。检查您是否已经安装了 Compiz

  2. 在命令行中输入以下内容,这应该可以完成这项工作

bindkey '^[[5D' emacs-backward-word
bindkey '^[[5C' emacs-forward-word

答案2

这取决于你指的是哪个程序。不幸的是,这是不是全局快捷方式,但每个应用程序都会自行决定如何实现。这就是为什么它不存在于全局系统快捷方式中。

您可以做的是捕获“Alt-Right”组合键(以及另一个回复中提到的 xbindkeys 的解决方法),并让它发出“Ctrl-Right”。这将实现使用 Alt-Right 跳转到下一个单词。但有一个缺点:您将无法通过执行相同操作摆脱“Ctrl-Right”组合键。

好的,那么 xbindkeys 的配置到底是什么样的呢?它并没有看上去那么简单。我尝试在下面这样做,但结果几乎不可能。

首先,安装 xmacro 和 xbindkeys,并为 xbindkeys 创建 rc 文件。

sudo apt-get install xmacro xbindkeys xbindkeys-config
xkbindkeys -d > $HOME/.xbindkeysrc

接下来,在 .xbindkeysrc 文件中输入以下两行:

"{ echo KeyStrRelease Alt_L ; echo KeyStrRelease Alt_R ; echo KeyStrRelease  Right ; echo KeyStrPress Control_L ; echo KeyStrPress Right ; echo KeyStrRelease Right; echo KeyStrRelease Control_L ; } | xmacroplay -d 0 :0.0  } | xmacroplay -d 0 :0.0"
   Alt + Right
"{ echo KeyStrRelease Alt_L ; echo KeyStrRelease Alt_R ; echo KeyStrRelease Left ; echo KeyStrPress Control_L ; echo KeyStrPress Left ; echo KeyStrRelease Left ; echo KeyStrRelease Control_L ; } | xmacroplay -d 0 :0.0  } | xmacroplay -d 0 :0.0"
   Alt + Left

这样做的目的是:当您第一次按下 Alt-Right 时,xbindkeys 将运行命令;但要小心!alt 和 right 键仍处于按下状态。我们必须先“松开”它们。上面的方法有效,但并不完美,请注意。最重要的是,要跳过两个单词,您必须按下组合键,松开,然后再次按下;使用 ctrl-right,您可以按下组合键,然后根据需要重复按下右箭头多次。

相关内容