【发布时间】:2018-03-11 05:42:00
【问题描述】:
我正在寻找允许在终端中编写多行命令的几个快捷方式。
我知道它存在,我用过很多次,但我记不起它们,我在 google 上也找不到它们......
它的行为:
一旦在一行中间,它会“删除”右边的部分,当我们按下 Enter 按钮时,它不会执行命令,而是转到一个新行(如果我记得很清楚的话,它以 '>' 开头)。
当我们完成后,我们按下第二个快捷键,它会粘贴之前删除的部分,并且回车键的行为会恢复到原来的状态。
(我以为是Ctrl+j / ctrl+f之类的,但不是,我也尝试了很多组合但都没有成功)
希望你记住他们,你会让我开心。谢谢!
编辑以便更好地理解:
在这样的命令上(调用 ros 服务,提供参数):
rosservice call /operatorshift/updateProgramSteps "category: ''
name: ''
steps:
- command: ''
args: ''
othersarg ''"
steps 参数是一个数组,我想提供多个步骤,而不删除和重写下一行。
行为如下:
我将光标移动到第 5 行的末尾(args: '' [HERE]),然后按第一个快捷方式。该命令如下所示:
rosservice call /operatorshift/updateProgramSteps "category: ''
name: ''
steps:
- command: ''
args: ''
然后我按下“回车”,不是为了执行命令,而是添加一个新行('>' 字符出现在我的光标左侧,而不是我的计算机名称)。我可以写我的另一个“步骤”,如果我愿意,可以多次按“输入”,所以我的终端看起来像这样:
rosservice call /operatorshift/updateProgramSteps "category: ''
name: ''
steps:
- command: ''
args: ''
> - command: 'example'
> args: ''
>
然后我完成了这个命令的编辑,所以我按下第二个快捷方式,检索第一个删除的内容,“enter”键获得其默认行为(执行命令)
rosservice call /operatorshift/updateProgramSteps "category: ''
name: ''
steps:
- command: ''
args: ''
> - command: 'example'
> args: ''
othersarg ''"
(不确定“>”在按下第二个快捷键后是否留在屏幕上)
我记得在 Ubuntu 14.04 和 16.04 上使用默认 shell,无需安装特殊包。
【问题讨论】:
-
你用什么外壳?使用
zsh,您可以使用 Alt+Enter 或 ESC+Enter 添加换行符。 -
我使用 bash,因为它是 ubuntu 上的默认 shell,但感谢您的提示!
-
@MatEhickey 你得到答案了吗? ESC+Enter 或 Alt+Enter 有人为您工作吗?
标签: linux terminal command shortcut