gpt4 book ai didi

fish - 使用fish的内置编辑器编辑某些脚本时如何插入新行?

转载 作者:行者123 更新时间:2023-12-03 23:37:15 27 4
gpt4 key购买 nike

在 fish shell 中输入多行脚本时,例如我已经输入了这些脚本

$ for file in *.txt
echo $file
end

我的插入符号在 end 这个词之后.现在我想在它之前插入一行,使它像:
$ for file in *.txt
echo $file
echo "hello" // I want to insert this line
end

但是我发现如果我将插入符号向上移动并在 echo $file 之后,然后按 enter (或 cmd/option/ctrl+enter ),它只是运行整个脚本而不插入新行。我必须将它们复制到另一个编辑器并在编辑后复制回来。

有什么办法吗?

更新:

我刚刚上传了一个录屏 https://asciinema.org/a/i7pOWhpdXUu0RLVOAMjVJTXbn .在录音中,我将插入符号移到 echo 之后并按下 option + enter ,但它执行脚本而不是插入新行

最佳答案

fish 绑定(bind) escape + newline 以无条件地插入换行符。在 Mac 上,您通常会按 option + return。但是 Mac 终端模拟器默认不发送转义换行符。使用 iTerm2,您可以在 Preferences->Profiles->Keys 下请求该选项作为转义:

option to send escape

现在绑定(bind)将处于事件状态,并且 option-return 将无条件插入换行符。

(如果您愿意,可以为这种情况添加一个键映射。)

您可以使用 fish_key_reader 确认终端从模拟器接收到的内容。它安装在 fish 旁边。

关于fish - 使用fish的内置编辑器编辑某些脚本时如何插入新行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49606501/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com