首页 新闻 会员 周边

Linux命令行中如何撤销上次输入的内容

0
悬赏园豆:30 [已解决问题] 解决于 2017-01-22 16:22

比如在命令行中粘贴时,多按了一次快捷键,造成粘贴了重复内容,有没有什么快捷键可以撤销上次粘贴的内容?

dudu的主页 dudu | 高人七级 | 园豆:31007
提问于:2017-01-21 14:40
< >
分享
最佳答案
0

默认的行编辑习惯是 emacs,但剪贴板是属于 gui 的东西,应该没有吧。。。

不过可以把默认的快捷键改成 vim,这样也许就可以了吧。。没试。

不过一般是不会出现粘贴两次的呢。。

还有另外一个麻烦点的办法。 ctrl + a,然后输入#注释掉,然后 enter,然后再 fc。

 

收获园豆:20
女孩不哭 | 菜鸟二级 |园豆:469 | 2017-01-21 20:54

是ssh登录到linux的命令行,不用考虑剪贴板,就是把上次输入的内容撤销

dudu | 园豆:31007 (高人七级) | 2017-01-21 21:01

@dudu: 是通过什么粘贴的?粘贴的内容从哪里来的?

女孩不哭 | 园豆:469 (菜鸟二级) | 2017-01-21 21:02

@女孩不哭: 在mac终端上command + V

dudu | 园豆:31007 (高人七级) | 2017-01-21 21:07

@dudu: 。。。。。。。无知了,没用过 MAC。。。

不过仍可以考虑下我后面提到的办法。

女孩不哭 | 园豆:469 (菜鸟二级) | 2017-01-21 21:10

@女孩不哭: 我遇到的操作场景之一是输入 scp 文件名  ,然后后面的路径是粘贴过来的,你说的 ctl + a 方法好像解决不了。

dudu | 园豆:31007 (高人七级) | 2017-01-21 21:19

“默认的行编辑习惯是 emacs”是正解,用emacs的undo快捷键 Ctrl+_ 就可以了,不足之处是只能一个单词一个单词地进行undo。

dudu | 园豆:31007 (高人七级) | 2017-01-22 16:22
其他回答(3)
0

功能上来说的话,是可以的。

毕竟命令行、文本编辑器都是作为IO的媒介。

命令行是用来干嘛的?用来和用户进行交互的,交互内容涉及安全问题,所以我认为不太会提供这个功能;对于文本编辑器而言,本身就是用来存储的,能否支持撤销,都不太会涉及到安全问题。 解决:shell的二次开发,将原来的命令行功能封装起来,在这个模块上封装一层记录用户输入的功能模块。 那么你所谓说的撤销重复上次修改(粘贴操作)就很简单了。 如果你的需求是vim编辑器里的撤销,在命令模式下 u ,是撤销操作。

收获园豆:10
孝感天地工作室 | 园豆:212 (菜鸟二级) | 2017-01-21 17:01
0

你用的什么ssh客户端


墨镜带佬星 | 园豆:2294 (老鸟四级) | 2017-01-22 02:58

mac上用mac自带的terminal,windows上用git bash

支持(0) 反对(0) dudu | 园豆:31007 (高人七级) | 2017-01-22 13:36

@dudu: crtl + d 或者crtl + c可不可以?


支持(0) 反对(0) 墨镜带佬星 | 园豆:2294 (老鸟四级) | 2017-01-22 15:49

@codegay: 不可以

支持(0) 反对(0) dudu | 园豆:31007 (高人七级) | 2017-01-22 16:13
0

CTRL+u

吃素龙王 | 园豆:196 (初学一级) | 2022-03-08 11:16

ctrl u 会把全部内容清掉的。ctrl c 吧,取消掉重来😂

支持(0) 反对(0) 女孩不哭 | 园豆:469 (菜鸟二级) | 2022-03-09 02:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册