[solved] Emacs 把两个功能绑定到一个组合键上

Vim、Emacs配置和使用
回复
Chanux
帖子: 45
注册时间: 2011-03-23 19:40
送出感谢: 10 次
接收感谢: 0

[solved] Emacs 把两个功能绑定到一个组合键上

#1

帖子 Chanux » 2013-03-23 14:13

我想实现在一行的中间(两边都有字)换行,也就是执行 C-e 然后 RET
当年学了一个多月Emacs中断,如今刚回到Emacs的怀抱,不熟;
用Vim时映射了

代码: 全选

imap <A-o> <esc>o
我用类似的方法

代码: 全选

(global-set-key (kbd "M-o") 'move-end-of-line & 'RET)
不能实现,求教。
:em06
上次由 Chanux 在 2013-03-25 10:14,总共编辑 1 次。
gy619
帖子: 237
注册时间: 2011-10-11 10:16
送出感谢: 2 次
接收感谢: 3 次

Re: Emacs 怎么把两个功能绑定到一个组合键上?

#2

帖子 gy619 » 2013-03-23 15:50

1. 写个函数. 该函数绑定快捷键.
2. 或者
(global-set-key (kbd "M-o") '(lambda ()..............
这些用户感谢了作者 gy619 于这个帖子:
Chanux (2013-03-23 16:47)
评价: 3.7%
Chanux
帖子: 45
注册时间: 2011-03-23 19:40
送出感谢: 10 次
接收感谢: 0

Re: Emacs 怎么把两个功能绑定到一个组合键上?

#3

帖子 Chanux » 2013-03-23 16:48

感谢楼上,测试成功:

代码: 全选

;; 在行中换行
(defun inline-to-next-line()""
  (interactive)
  (move-end-of-line nil)
  (newline))
(global-set-key (kbd "M-o") 'inline-to-next-line)
;; 在行中新建上一行
(defun inline-to-previous-line()""
  (interactive)
  (move-beginning-of-line nil)
  (newline nil)
  (previous-line))
(global-set-key (kbd "M-O") 'inline-to-previous-line)
回复

回到 “Vim和Emacs”