在终端的特定命令行中移动的最佳方式是什么?
假设我使用了箭头键或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
?
发布于 2018-03-23 16:04:23
由于这还没有结束,这里还有几个选项。
$FCEDIT
或$EDITOR
或emacs
(按该顺序审讯)。option25
(在本个案中)。将显示这一行。点击Tab开始编辑。s///
改性剂。例如:!-2:s/--option25/--newoption/
将重新运行第二次至最后一次命令,但替换选项25。修改最后一个./cmd
命令,使用!string
语法:!./cmd:s/--option25/--newoption/
可以使用任何分隔符来代替/在替换中。^--option25^--newoption
我建议第二种选择。Ctrl+r非常方便和快速,不会与编辑器打交道,而且在运行命令之前就会看到结果(与历史扩展不同)。
https://stackoverflow.com/questions/-100007765
复制相似问题