emacsm-xshell和bash键盘绑定的重写
如果我理解正确,在emacsm-xshell和bash键盘绑定的重写,bash,emacs,Bash,Emacs,如果我理解正确,在M-xshell下运行bash时,Emacs会覆盖一些bash键盘绑定,并且会使一些bash命令和功能无法像“native bash”中那样工作(例如,请参见线程) 我在bash中经常使用的命令之一是(默认情况下绑定到Ctrl-l) 有没有一种简单的方法可以让Emacs在shell模式下重现相同的行为,这样我就可以在Emacs中清除bash屏幕 我知道我总是可以使用M-x术语来获得一个真正的终端,但我想为M-x shell 编辑:当我键入C-l C-l时,Emacs将当前行移动
M-xshell
下运行bash时,Emacs会覆盖一些bash键盘绑定,并且会使一些bash命令和功能无法像“native bash”中那样工作(例如,请参见线程)
我在bash中经常使用的命令之一是(默认情况下绑定到Ctrl-l
)
有没有一种简单的方法可以让Emacs在shell模式下重现相同的行为
,这样我就可以在Emacs中清除bash屏幕
我知道我总是可以使用M-x术语
来获得一个真正的终端,但我想为M-x shell
编辑:当我键入C-l C-l
时,Emacs将当前行移动到窗口顶部,但只要我在bash中输入新命令,窗口就会再次滚动到原始位置
谢谢只要键入M->转到缓冲区的底部(如果需要),然后C-l C-l将当前行移动到窗口的顶部。看起来你已经清除了屏幕,但是所有被删除的内容仍然显示在窗口顶部上方
编辑:
要防止Emacs像您描述的那样滚动窗口,请将其放入.Emacs
文件中:
(remove-hook 'comint-output-filter-functions
'comint-postoutput-scroll-to-bottom)
我发现这种行为也很烦人。只要键入M->转到缓冲区的底部(如果需要),然后C-l C-l将当前行移动到窗口的顶部。看起来你已经清除了屏幕,但是所有被删除的内容仍然显示在窗口顶部上方
编辑:
要防止Emacs像您描述的那样滚动窗口,请将其放入.Emacs
文件中:
(remove-hook 'comint-output-filter-functions
'comint-postoutput-scroll-to-bottom)
我发现这种行为也很烦人。您可以在shell模式下重新绑定C-l,使其以您想要的方式运行:
(define-key shell-mode-map (kbd "C-l")
(lambda ()
(interactive)
(previous-line)
(end-of-line)
(let ((start (point))
(end (goto-char (point-min))))
(delete-region start end)
(kill-line)
(end-of-buffer))))
您可以在shell模式下重新绑定C-l,使其以您想要的方式运行:
(define-key shell-mode-map (kbd "C-l")
(lambda ()
(interactive)
(previous-line)
(end-of-line)
(let ((start (point))
(end (goto-char (point-min))))
(delete-region start end)
(kill-line)
(end-of-buffer))))
这不管用。我之前试过(我会在帖子中澄清)
C-l C-l
将当前行移动到窗口顶部,但我在bash中输入命令后,窗口将再次移动到原始位置。顺便问一下,您是否介意描述上面的代码?这不起作用。我之前试过(我会在帖子中澄清)C-l C-l
将当前行移动到窗口顶部,但我在bash中输入命令后,窗口将再次移动到原始位置。顺便问一下,您是否介意描述上面的代码的作用?