在终端命令行上移动光标的最快方式? [英] Fastest way(s) to move the cursor on a terminal command line?

查看:0
本文介绍了在终端命令行上移动光标的最快方式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在终端中给定的超长命令行上移动的最佳方式是什么?

假设我使用箭头键或Ctrl-R来获取此长命令行:

./cmd --option1 --option2 --option3 --option4 --option5 --option6 --option7 --option8 --option9 --option10 --option11 --option12 --option13 --option14 --option15 --option16 --option17 --option18 --option19 --option20 --option21 --option22 --option23 --option24 --option25 --option26 --option27 --option28 --option29 --option30 --option31 --option32 --option33 --option34 --option35 --option36 --option37 --option38 --option39 --option40 --option41 --option42 --option43 --option44 --option45 --option46 --option47 --option48 --option49 --option50 

现在我需要将光标移动(从行首或行尾开始)到--option25以修改那里的某些内容。

去那里最快的方法是什么?我通常所做的是按Ctrl键-A键开始,然后重复Alt键-F键逐字向前移动(或Ctrl键-E键进入末尾,然后按Alt键-B键后退)。但在一条很长的线上,这需要太多的时间。必须有方法可以搜索并直接跳到我需要修改的部分,例如option25

推荐答案

由于尚未关闭,这里有其他几个选项。

  • 使用+x,然后Ctrl+e$FCEDIT$EDITORemacs(按该顺序尝试)指定的编辑器中打开当前行。
  • 如果您之前运行了该命令,请按Ctrl+r进行反向历史搜索,然后键入option25(在本例中)。将显示该行。单击选项卡从此时开始编辑。
  • 使用带s///修饰符的历史扩展。例如,!-2:s/--option25/--newoption/将重新运行倒数第二个命令,但替换选项25。要修改最后的./cmd命令,请使用!string语法:!./cmd:s/--option25/--newoption/
    可以在替换中使用任何分隔符。
  • 如果编辑前一行,可以使用快速替换:^--option25^--newoption
  • 字符搜索。这是Pax提到的,可以在常规emacs模式下使用Ctrl+]进行正向搜索,使用Ctrl+Alt]进行后向搜索。

我推荐第二个选项。Ctrl+r非常方便快捷,不会与编辑器胡乱操作,而且您可以在命令运行之前看到结果(与历史记录展开不同)。

这篇关于在终端命令行上移动光标的最快方式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆