重做输入OSX bash


9

在OSX上的bash中,我可以ctrl-_撤消最近输入的内容。有相应的重做命令吗?


2
我在readline(3)手册页中进行了快速浏览,但对重做命令/快捷方式一无所获。readline(3)是负责bash中的快捷方式和历史功能的库。如果您有兴趣,可以在这里查看手册unixhelp.ed.ac.uk/CGI/man-cgi?readline+3。此手册页中列出了所有默认的快捷方式。
2013年

@BrunoCoimbra:看起来可能什么都没有,但是感谢您的参考。
amindfv

Answers:


4

ctrl-y是Readline的“ yank”命令,用于检索终止缓冲区。 ctrl-u从点到行的开头都终止(类似于OSX / bash ctrl-_,它清除了整个行)。在bash中启用了类似Emacs的Readline绑定,在其他许多地方(浏览器搜索栏等)也启用了子集。

  • ctrl-u 从行首到插入点终止
  • ctrl-k 从插入点杀到行尾
  • ctrl-w 杀死前一个单词(并以杀死缓冲区为前缀)
  • ctrl-y 删除kill缓冲区的内容

1
我得到了不同的行为(在OS X的Terminal和XTerm的FTerma中的Emacs中)– ctrl-_撤消上一个操作是什么,并且还ctrl-y检索所有终止的文本,而不仅仅是使用ctrl-u。不过,我之前从未听说ctrl-y过-谢谢!
amindfv

编辑了我的回答,说的是“ Readline”而不是“ Emacs”,尽管共享了许多键绑定,但也扩大了kill缓冲区的定义。在默认情况下,kill-whole-line与您的功能相同的Readline命令ctrl-_未绑定的-我一直想知道是否有一条kill-whole-line命令。我使用ctrl-a-k-line-of-line kill-line)来杀死整条线。
idoimaging

7
对我来说,这ctrl-_并不会杀死整条线-这是一个撤消命令
-amindfv

4
而且它也没有回答问题。
suzanshakya
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.