我非常习惯使用类似 emacs 的ctrl+a表示“主页”, cmd+a表示“全选”。类似地,ctrl+e表示“结束”,ctrl+d表示“删除”,ctrl+c执行我在终端中期望的操作,可能还有一些我手头没有的必备功能。
当然,Ubuntu 有点不同。ctrl键在功能上与 键最为匹配cmd,尽管在物理键盘布局中cmd键将绑定到super。
因此我的第一步是简单地交换cmd和ctrl编辑 xkb,因为这可以恢复我所缺少的 70% 的功能。
这主要留下了开始/结束/删除和相关的 Mac“控制”功能,但我不知道有什么好办法来拆分功能或移动一些非常晦涩的键来ctrl实现这一点。我试图找到一个总体上一致的策略,但黑客是其中的一步。
Ubuntu 14.04。
答案1
为了修复你的终端行为:
实现您要做的事情的一个直接方法是编辑您的主配置文件。对于 bash 终端,您要编辑您的readline
配置,即您的.inputrc
。
- 打开终端
man readline
这会告诉您大部分自定义选项。如果您滚动到底部,它会显示如何配置 emacs 模式。更多信息请参见下文。gedit .inputrc
这是您要编辑的内容。它在您登录时加载,并将自定义您的 readline(bash 用于输入的内容)行为。
我如何解决类似的问题。
我必须做类似的事情,因为我在 Bash 中使用 Vi 模式:
set -o vi
- 我也使用 Colemak。
- 随后,我使用了高度定制的版本
Vim
。
我的.vimrc
配置不会影响vi
模式bash
(以及ZSH
与此相关的)。
所以我必须创建一个自定义的,这需要做很多工作:
http://bazaar.launchpad.net/~akiva/colemak.vim/trunk/view/head:/.inputrc
你可以使用我的代码作为模板来工作。我在那里有所有的函数。我没有使用的函数被注释掉了。你可以将你的角色映射到两个东西上:
########
# Copy #
########
# Copy to
"c": vi-yank-to
# fake copy line
"C": "0c$$"
- vi-yank-to 是一个内置函数
"0c$$"
是一个自定义字符串(请注意它周围的引号),基本上模拟我0, c, $, $
按该顺序按下。
如果您有任何疑问,请告诉我。
答案2
这将使您的键盘像 Mac 一样工作。
将左 Ctrl 重新映射到 AltGr
sudo vi /usr/share/X11/xkb/symbols/ctrl
更改部分
// 将 Ctrl 映射到左 Alt 键,将 Alt 映射到左 Win 键,// 并将 Super 映射到左 Ctrl 键。
当它说“用替换键”时
替换键 { [ ISO_Level3_Shift ] };
打开“调整附加布局选项”->“Ctrl”,标记“将 Ctrl 映射到左侧 Alt 键,将 Alt 映射到左侧 Win 键,将 Super 映射到左侧 Ctrl 键”。
在我的 shell 配置 .zshrc 中,重新映射到 intr,检查之前是否有 cent 符号。将其添加到文件中:
stty 指令 0xA2
在 gnome-terminal 上将复制和粘贴快捷键重新映射到“Ctrl C”“Ctrl V”
并移动你的钥匙以使其有意义