使用emacs的terminal的好处是就像打开Linux terminal窗口一样,因此就不必跳出emacs,然后在Linux Terminal和emacs之间来回切换。
切换buffer
不过使用时从emacs terminal buffer出来需要使用C-c 快捷键,很多人不知道,知道的也不适应。可以修改成C-x。
在.spacemacs文件中的user-config里面添加一段即可。
(add-hook 'term-mode-hook
(lambda ()
;; C-x is the prefix command, rather than C-c
(term-set-escape-char ?\C-x)
(define-key term-raw-map "\M-y" 'yank-pop)
(define-key term-raw-map "\M-w" 'kill-ring-save)))
M-x
另外还有一个问题,不能使用M-x了。这个好解决,在spacemacs中,可以用M-m 空格 来代替M-x.虽然不方便,但是还是可以解决问题。
在terminal中ssh到服务器后使用emacs
听起来有点绕,但是很常见。用terminal登录服务器后,在服务器上编程的话,用服务器上的emacs很常见。
dired
这里会遇到一个问题,就是C-x C-f不会被传递过去,而会被spacemacs当作客户端的操作响应。如果远程使用的话,应该这样:
M-x dired 然后输入路径。
退出
C-x C-c也不能用,需要用M-x save-buffers-kill-terminal