在从历史记录中提取的多行zsh命令中插入换行符
发布时间:2020-12-14 02:19:06 所属栏目:Linux 来源:网络整理
导读:有时我在zsh中使用多行命令: ? echo a multiline command 从历史搜索中拉出命令后编辑命令时,我可以更改各行的内容.但是,我无法弄清楚如何插入另一行: # I want to insert another line after "multiline"...? echo a multiline # but hitting
有时我在zsh中使用多行命令:
? echo > a > multiline > command 从历史搜索中拉出命令后编辑命令时,我可以更改各行的内容.但是,我无法弄清楚如何插入另一行: # I want to insert another line after "multiline"... ? echo > a > multiline # but hitting <return> here just runs the command,even though there's a backslash at the end of the line > command 如何在从历史记录中拉出的多行命令的中间插入换行符? 解决方法
您可以使用self-insert-unmeta绑定Alt Return以插入文字换行而不接受命令:
bindkey '^[^M' self-insert-unmeta 要使用您的示例:在光标位置按下Alt Return(#) % echo a multiline # command 会得到你这个: % echo a multiline # command 这不仅适用于编辑历史记录,也适用于键入命令时.因此,您可以像时尚一样在脚本中准备几个命令,并使用单个Return接受它们. 例如,在此示例中按Alt Return而不是#: % echo command 1# echo command 2# echo command 3 将执行与命令echo命令1相同的操作; echo命令2; echo命令3并产生此输出: command 1 command 2 command 3 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |