在终端的特定命令行中移动的最佳方式是什么?
假设我使用了箭头键或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非常方便和快速,不会与编辑器打交道,而且在运行命令之前就会看到结果(与历史扩展不同)。
发布于 2018-03-23 17:19:06
清楚的是,你不需要一个“在终端命令行上快速移动光标”。你真正想要的是在shell程序中通过命令行导航的快速方法。
例如,Bash是非常常见的外壳。它使用Readline库来实现命令行输入。可以这么说,知道Readline绑定非常方便,因为它不仅用在bash中。例如,gdb也使用Readline来处理输入。
基本
运动
M是元键。对于Max OS X Terminal,您可以在设置/键盘中启用“使用选项作为元键”。对于Linux来说更加复杂。
https://stackoverflow.com/questions/-100007765
复制相似问题