我是Mac用户,我决定学习Emacs.我已经读过这样可以减少手部疲劳并提高精度,CTRL并且CAPS LOCK应该更换钥匙.我如何在Leopard中执行此操作?
此外,在终端我必须使用ESC密钥来调用元.有没有办法让alt/option键代替调用meta?
更新:虽然控制键现在更容易被击中,但元键也经常被使用,以至于它在我的MacBook和Apple键盘上的位置也值得关注.事实上,我发现控制键实际上更容易被击中,所以我重新映射了我的控制键以充当元键.有没有人有更好/更标准的解决方案?
交换CTRL和CAPS LOCK
进入系统偏好设置
进入" 键盘和鼠标"首选项面板
在" 键盘"选项卡中,单击" 修改键"...
交换Caps Lock和Control的操作.
使用ALT/OPTION作为META
在菜单栏中,单击" 终端"
单击首选项...
在" 设置"选项卡下,转到" 键盘"选项卡
选中标记为" 使用选项"作为元键的框
而已!你应该在成为Emacs大师的路上走得很好!
⌥+ ←- 向左移动一个单词
⌥+ →- 向右移动一个单词
⌥+ 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
另一个答案非常完整,但另外我提到我只是将大写锁定键设置为第二个控制键而不是交换它们.
此外,您会注意到Mac OS X中的大多数文本输入字段已经接受了emacs键击(^行的开头,^ E行尾,^ P,^ N,^ K,^ Y等)
祝好运
我非常喜欢Kyle Cronin提供的答案,但我想补充一点 - 确保选择合适的键盘才能实现.如果您的笔记本电脑上插有外接键盘,则会有一个额外的下拉框,您需要为两个键盘(或至少为外接键盘)执行此操作.下面的屏幕截图显示了"选择键盘"对话框 - 我选择了"联合Mac键盘",这是MacBook说GoldTouch外接键盘的方式 - 默认是内置键盘.
有一次我想出来 - 这对我很有用!
如果您通过ssh连接或通过本地计算机上没有的计算机使用emacs,页面向上/向下翻页按钮会滚动浏览终端缓冲区 - 根据我的经验,这并不太有帮助.
您可以设置页面向下和向上翻页按钮,以将相应的命令发送到emacs.在emacs中,您可以像这样滚动浏览emacs缓冲区:
Page Up:Ctl-v
Page Down:Esc-v
因此,要让终端将这些命令发送到emacs,请按照上面的说明更改Meta的Alt键.但是,不要将"使用选项设置为元"选项,而是找到"向下翻页"和"向上翻页"选项.
向下翻页
双击"向下翻页"选项进行编辑.将Action更改为"将字符串发送到shell"并输入\ 026作为字符串.保存.
Page Up
双击"向上翻页"按钮进行编辑.将Action更改为"将字符串发送到shell"并输入\ 033v作为字符串.保存.
不确定你是否完全嫁给了终端使用Emacs,但另一种选择是使用Carbon Emacs(我最喜欢的)和Aquamacs(非常像Mac).Carbon Emacs使用meta的命令键,这很好,因为你可以通过按住Control和Command来执行Control-Meta命令,而不是首先按下escape然后按下控制键序列.
此外,如果你是一个认真的Emacs用户,我建议你得到一个适合编程的键盘(这是一个完全可以自行编程的键盘).我使用Kinesis,这是一点钱,但它们非常耐用,非常好.