You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在fish Shell内置编辑器中编辑多行脚本时插入新行?

在 fish Shell 中编辑多行脚本的正确姿势

我懂这种 frustration!在 fish shell 里直接在命令行编辑多行脚本时,确实容易碰到按回车就直接执行的问题,给你几个实用的解决办法:

方法1:用快捷键触发多行编辑模式

当你已经输入了单行的循环命令(比如 for file in *.txt echo $file end),不用手动移动光标,直接按下对应系统的快捷键:

  • Windows/Linux:Alt+Enter
  • Mac:Option+Enter

fish 会自动把当前命令展开成带缩进的多行编辑界面,这时你可以自由移动光标到 echo $file 行的末尾,按回车就能插入新行,输入 echo "hello" 后,确认脚本结构正确再按回车就能执行了。

方法2:提前开启多行编辑

如果一开始就打算写多行脚本,不用把所有命令挤在一行:

  1. 先输入 for file in *.txt
  2. 按下 Alt+Enter/Option+Enter,fish 会自动换行并帮你缩进
  3. 依次输入 echo $fileecho "hello"
  4. 最后输入 end,按回车执行

这种方式从一开始就避免了单行命令的困扰,编辑起来更直观。

方法3:调用内置编辑器编辑复杂脚本

如果要写的多行脚本比较复杂,直接用 edit 命令:

edit

fish 会打开内置的文本编辑器(默认是 nano,你可以通过 set -g editor vim 改成 vim 等其他编辑器),在里面完整编写你的多行脚本:

for file in *.txt
    echo $file
    echo "hello"
end

保存退出编辑器后,fish 会自动执行你写的脚本,这种方式最适合复杂场景。

小提示

如果不小心误触回车执行了命令,别担心,按 Up 箭头调出刚才的命令,再用方法1转成多行模式修改即可~

内容的提问来源于stack exchange,提问作者Freewind

火山引擎 最新活动