Answers:
您可以使用已经轻松键入的内容搜索bash的历史记录。
假设您刚刚打字curl -I http://superuser.com
,却忘记先输入Ctrl+ r:
$ curl -I http://superuser.com
如果要对历史记录进行i-search,请首先转到行首(Ctrl+ a),输入i-search(Ctrl+ r),然后键入Ctrl+ y。这应该使用您已经键入的整个文本的内容进行搜索:
(reverse-i-search)`curl -I http://superuser.com': curl -I http://superuser.com/faq
另外,您可以使用Ctrl+ w而不是Ctrl+ y来仅使用您刚键入的文本的第一个单词进行搜索:
(reverse-i-search)`curl': curl -I http://superuser.com/faq
如果要一次完成所有操作,则可以将单个键绑定到键盘宏。如果要使用,说,F12运行:
$ bind '"\e[24~":"\C-a\C-r\C-y"'
这将持续到会议。
只需在您的宏中定义~/.inputrc
:
"\e[24~":"\C-a\C-r\C-y"
请注意,此处我们省略了单引号。
您可能会发现此答案很有用。
"\C-xr": "\C-a\C-r\C-y"
,它的效果非常好!感谢您的回答。
control+a control+r control+y
东西!谢谢,这个答案一直在这里!:)
Ctrl-R
通过添加到您的.bashrc
(或.inputrc
您愿意的话)中来避免一秒钟:
bind '"\er":"\C-a\C-r\C-y\C-r"' # alt-r = ctr-a ctr-r ctr-y ctr-r
这会将ALT-R映射到CTR-A CTR-R CTR-Y CTR-R
\C-xr
(CTR-X CTR-R)C-a
不仅要移动,而且要记住(复制)移动的内容。
c-r
键入后c-y
不会在其中粘贴任何内容。如果我自己键入内容c-y
只是粘贴文本,那么我就无法