在ksh中,当你处于vi模式时,可以使用ESC + v调用vi编辑器。
然后,启动vi,您可以使用它来编辑您正在使用的命令。
问题在于,无论你如何退出编辑器(:q!,...),似乎总是会执行命令。有没有诀窍不发生?
到目前为止,我唯一的解决方案是删除整个命令,然后退出:q!
答案 0 :(得分:0)
当您的命令是oneliner时,您可以I
在第一个位置插入#
。
如果有更多行,则不想对所有行进行注释。
在第一行上方输入return
(使用O
),其余内容将被忽略。不要使用退出,而不是退出你的shell
编辑:
正如@Henk在评论中指出的那样,return
的技巧将失败并带有真正的ksh shell。我在set -o vi
中对bash
进行了测试,其中的情况有所不同。
答案 1 :(得分:0)
只需输入ggdGZZ
会更快,但这里有两个选项:
在顶部插入: '
,在结尾插入单引号'
:
: '
more
than
one
line
'
如有必要,用双引号交换单引号。
插入:
后跟未设置的变量引用,触发语法错误:
: ${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
$