aix ksh:如何退出vi命令行编辑器wirthout实际执行命令?

时间:2016-12-29 10:03:18

标签: ksh

在ksh中,当你处于vi模式时,可以使用ESC + v调用vi编辑器。

然后,启动vi,您可以使用它来编辑您正在使用的命令。

问题在于,无论你如何退出编辑器(:q!,...),似乎总是会执行命令。有没有诀窍不发生?

到目前为止,我唯一的解决方案是删除整个命令,然后退出:q!

2 个答案:

答案 0 :(得分:0)

当您的命令是oneliner时,您可以I在第一个位置插入#。 如果有更多行,则不想对所有行进行注释。 在第一行上方输入return(使用O),其余内容将被忽略。不要使用退出,而不是退出你的shell 编辑:
正如@Henk在评论中指出的那样,return的技巧将失败并带有真正的ksh shell。我在set -o vi中对bash进行了测试,其中的情况有所不同。

答案 1 :(得分:0)

只需输入ggdGZZ会更快,但这里有两个选项:

选项1,引用

在顶部插入: ',在结尾插入单引号'

: '
more 
than 
one 
line
'

如有必要,用双引号交换单引号。

选项2,强制语法错误

插入:后跟未设置的变量引用,触发语法错误:

: ${nil:?}
more 
than 
one 
line

"/tmp/ast38.kia" [converted] 5L, 33C written
: ${nil:?}
more 
than 
one 
line
/bin/ksh: hist: line 1: nil: parameter not set
$