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

如何在OSX终端及通用终端中实现多行输入(类Chrome Shift+Enter效果)

嘿,这两个问题其实在OSX终端里都有很直接的解决办法,我来给你详细说下:

在OSX终端输入多行内容的几种方法
  • 用反斜杠\续行:在当前行的末尾输入\,然后按回车,终端就会进入续行模式(显示>提示符),你可以继续输入下一行内容。比如:

    echo "我是第一行内容 \
    我是第二行内容 \
    我是第三行内容"
    

    执行后会输出合并后的完整内容,这种方式适合写较长的命令或脚本片段。

  • 用引号包裹内容:如果用单引号或双引号把要输入的内容括起来,直接按回车就能换行,直到你输入闭合的引号为止。比如:

    echo "这是第一行
    这是第二行
    这是第三行"
    

    每按一次回车就会自动换行,终端会一直显示续行提示符,直到你输入对应的结束引号再回车,才会执行命令。

  • cat命令输入多行文本到文件:如果只是想输入多行内容并保存到文件,可以执行cat > 文件名.txt,然后直接按回车输入每一行内容,输入完成后按Ctrl+D结束输入,所有内容就会被保存到指定文件里。

实现类似Chrome Shift+Enter的多行输入效果

在OSX终端里,默认情况下按下Option+Enter(也就是Alt+Enter)就能实现和Chrome里Shift+Enter一样的效果——换行但不立即执行命令

比如你正在输入一段较长的命令,写到一半想换行继续编辑,按下Option+Enter就会直接跳到下一行,终端显示续行提示符,你可以继续输入内容,等全部编辑完成后再按回车执行整个命令。

如果你的终端是zsh(OSX现在默认的shell),这个快捷键一般是默认开启的。如果没生效,可以打开终端的「偏好设置」→「键盘」选项,查看「换行但不发送」对应的快捷键,确认是不是Option+Enter,也可以根据自己的习惯修改这个快捷键。

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

火山引擎 最新活动