问题
I would like to have the following search in Vim too
(reverse-i-search)`':
Enter a word of your previous command, and you get the full command.
I know the chronological history tool in Vim
q:
However, it is not that useful as the reverse search.
How can you have a similar reverse search in Vim as in terminal?
回答1:
Enter the first letters of your previous command and push <Up> arrow (or Ctrl+p).
:set li<up>
:set lines=75
Don't forget to check history option and set it to big enough value
:set history=1000
回答2:
Type q:
in the normal mode to open commands window. You can search/edit here using regular vim commands. You start in Normal mode. Press Enter
to execute a command.
This approach lets you search across whole command not just beginning of line.
回答3:
Here are the docs for Vim's commandline history, also see this part of the docs on Vim's commandline history that covers the key bindings while in the history. It looks like you can say :foo
and then hit the up arrow to find the last command that started with foo.
回答4:
I was looking for this as well (finally after wondering why it wasn't built-in for some time) and decided I couldn't resist whipping up an implementation, so here you go: https://github.com/goldfeld/ctrlr.vim
It should work just like the shell's--well there are still a couple basic things missing (like pressing ^R again to skip to next match), but all that I use is in this first release, and I plan to add the rest in the coming weeks as I get time.
回答5:
Besides q: in normal mode you can use Ctrl+F in command line mode to open the command history window and use regular search commands like /,?
来源:https://stackoverflow.com/questions/741913/how-do-you-search-through-vims-command-history