Mac OS X Leopard按键绑定上的Emacs
我是Mac用户,因此决定学习Emacs。我读过,为减少手部压力并提高准确性,应将" CTRL"和" CAPS LOCK"键互换。如何在Leopard中做到这一点?
同样,在终端中,我必须使用" ESC"键来调用meta。有什么方法可以获取alt / option键来调用meta吗?
更新:虽然现在比较容易按下控制键,但是也经常使用了meta键,因此在我的MacBook和Apple Keyboard上的位置也值得关注。实际上,我发现控制键实际上更容易命中,因此我重新映射了控制键以用作元键。有没有人有更好/更标准的解决方案?
解决方案
交换CTRL和CAPS锁定
- 进入系统偏好设置
- 进入"键盘和鼠标"首选项窗格
- 在键盘选项卡中,单击修改键...。
- 交换Caps Lock和Control的操作。
使用ALT / OPTION作为META
- 在菜单栏中,单击"终端"。
- 单击首选项...
- 在"设置"标签下,转到"键盘"标签
- 选中标有"使用选项作为元键"的框
而已!成为Emacs大师的路上,我们应该一切顺利!
另一个答案非常完整,但我还要提到我只是设置了大写锁定
键而不是交换它们到第二个控制键。
另外,我们会注意到Mac OS X中的大部分文本输入字段
已经接受emacs击键(^ A行首,^ E行尾,^ P,^ N,^ K,^ Y等)
祝你好运
(不是符合人体工程学的键盘,但我真的很喜欢按键的行程和感觉,并且可以互换Control键,Caps Lock)。
http://matias.ca/osxkeyboard/index.php
如果我们通过ssh连接或者不在本地计算机上的计算机上使用emacs,则按我的经验,向上翻页/向下翻页按钮可滚动浏览终端缓冲区,但并不太有用。
我们可以设置向下翻页和向上翻页按钮,以将适当的命令发送到emacs。在emacs中,我们可以像这样滚动emacs缓冲区:
- 上一页:Ctl-v
- 向下翻页:Esc-v
因此,要使终端将这些命令发送到emacs,请按照上述说明更改Meta的Alt键。但是,不是将"使用选项用作元"选项,而是找到"向下翻页"和"向上翻页"选项。
向下翻页
双击"向下翻页"选项进行编辑。将"操作"更改为"将字符串发送到外壳",然后输入\ 026作为字符串。保存。
向上翻页
双击"向上翻页"按钮进行编辑。将"操作"更改为"将字符串发送到外壳",然后输入\ 033v作为字符串。保存。
不知道我们是否完全同意在终端上使用Emacs,但是另一种选择是使用Carbon Emacs(我最喜欢的)和Aquamacs(非常类似于Mac)。 Carbon Emacs将命令键用于meta,这很好,因为我们只需按住Control和Command即可执行Control-Meta命令,而不是先按Escape键再按Control键序列。
另外,如果我们是Emacs的认真用户,我强烈建议我们使用适合编程的键盘(即可以完全重新编程的键盘)。我使用Kinesis,这有点花钱,但它们非常耐用且非常好。
作为参考,以下是用于移动文本的键绑定:
?
+向左移动一个词 `?`+
向右移动一个词?
+delete
返回删除一个单词Shift
+?
+delete
向前删除一个单词?
+上移一段 `?`+
下移一段?
+移到当前行的开始 `?`+
移动到当前行的末尾
Shift +以上任何一项将选择扩展适当的数量
单击然后拖动选择文本
双击然后拖动选择的文本,将其包装到单词的末尾
单击三次,然后拖动选择的文本,将其包装到段落末尾
Shift +用鼠标添加文本至选择区域(连续)?+用鼠标选择文本添加到选择中(非连续)
?+拖动选择矩形区域(不连续)
?+
?+拖动将矩形区域添加到选区 拖动选择移动文字
?`+拖动选择复制文本
Ctrl + A移至当前段落的开头
Ctrl + B向左移动一个字符
Ctrl + D转发删除
Ctrl + E移至当前段落的末尾
Ctrl + F向右移动一个字符
Ctrl + H删除
Ctrl + K删除当前段落的其余部分
Ctrl + N下移一行
Ctrl + O在光标后插入新行
Ctrl + P上移一行
Ctrl + T转置(交换)两个周围的字符
Ctrl + V移至结尾,然后左移一个字符
Ctrl + Y粘贴以前用Ctrl K删除的文本
就我个人而言,我具有设置大写锁定,使其在系统首选项上的行为类似于命令,然后在我的emacs init.el文件上具有:
(setq mac-command-modifier'ctrl)
这使我可以在大多数osx应用程序中将大写锁定用作命令,并在emacs中用作控制。对我来说效果很好。
我真的很喜欢Kyle Cronin提供的答案,但是我想补充一件事,确保我们选择合适的键盘才能正常工作。如果笔记本计算机已插入外部键盘,则还有一个下拉框,我们将需要对两个键盘(或者至少对外部键盘)执行此操作。下面的屏幕快照显示了我已选择" Joint Mac Keyboard"的"选择键盘"对话框,这是MacBook所说的GoldTouch外接键盘默认为内置键盘的方式。
一旦我弄清楚了,这对我非常有用!