Bash Ctrl-r使用当前文本
我在bash中经常使用反向搜索。但我总是在一个用户意识到我需要搜索它之前键入我将要使用的命令的开头 有没有办法让Crtl+R使用输入文本,这样我就不必再次键入 编辑: 所谓输入文本,是指在按Enter键之前输入到终端的文本 例如:Bash Ctrl-r使用当前文本,bash,Bash,我在bash中经常使用反向搜索。但我总是在一个用户意识到我需要搜索它之前键入我将要使用的命令的开头 有没有办法让Crtl+R使用输入文本,这样我就不必再次键入 编辑: 所谓输入文本,是指在按Enter键之前输入到终端的文本 例如: ~/some/folder/ cd some/subfolder/ 我正要用cd转到一个子文件夹,在按Enter键之前,我将键入“cd some/subfolder”,这是输入文本。您似乎无法执行此操作。也就是说,CTRL-R直接从键盘读取(至少在Linux上是这样
~/some/folder/ cd some/subfolder/
我正要用cd转到一个子文件夹,在按Enter键之前,我将键入“cd some/subfolder”,这是输入文本。您似乎无法执行此操作。也就是说,CTRL-R直接从键盘读取(至少在Linux上是这样),因此您甚至无法粘贴到缓冲区中 <> P>最好的解决方法是考虑使用Emacs缓冲区来替换BASH的输入。
可以使用CTRL ARYR命令。< /P> 它看起来比实际情况更糟:对于半类型的复杂命令,它非常有用
这是一个复合命令:- CTRL-a:主页
- -r:打开反向增量历史搜索并复制光标位置后的文本
- -y:粘贴文本
- -r:查找匹配的命令
CTRL-y
拉入反向搜索缓冲区,但似乎你不能@克劳迪奥,你是否已经开始在Bash中键入一半的内容而不记得了,然后想使用CTRL-R
,但你必须重新键入你所拥有的内容?我已经经历过很多次了@AdamGent。。谢谢你,我是一个vimmer,所以我不太可能使用emacs外壳模式。我感觉到你的痛苦,很抱歉这是一个蹩脚的回答。尽管出于某种原因我喜欢Emacs,但我更喜欢直接使用终端模拟器,因为使用termcap/curses的东西才行。有人可以编写一个终端模拟器来缓冲输入,但它会破坏其他东西,这正是Emacs外壳模式的问题所在。很酷,谢谢。我最近切换到zsh-CTRL-aryr
在那里不起作用。你知道一个解决方案吗?我没有使用zsh,所以我不能提供第一手的建议。也许这是可行的: