!1255:p
Vai fazer isso
!
O recall de histórico
1255
é o número da linha
:p
impresso, mas não é executado
Em seguida, você pode usar a seta para cima para recuperar o comando anterior (não executado) e alterá-lo conforme necessário.
Costumo combinar isso com hg
("History Grep") - meu apelido favorito.
$ alias hg # Maybe use hgr instead if you are a Mercurial CLI user.
alias hg='history | tail -200 | grep -i'
Ele procura texto em uma linha de histórico recente, independentemente do caso e é usado desta maneira:
Quando eu quero procurar por comandos vi recentes para editar um determinado arquivo e depois quero reutilizar um deles para editar o mesmo arquivo, mas com uma extensão de arquivo diferente.
$ hg variables
6153 vi Variables/user-extensions.js
6176 vi Variables/user-extensions.js
6178 vi Variables/user-extensions.js
6190 vi Variables/user-extensions.js
6230 hg variables
$ # Notice the difference in case with V and v is ignored
$ !6190:p
vi Variables/user-extensions.js
$ ["up-arrow"]
$ vi Variables/user-extensions.[now change .js to .html]
Também defino hga
("History Grep All") para pesquisar em toda a minha história:
$ alias hga
alias hga='history | grep -i'
mas não o uso muito porque meu histórico é (intencionalmente) muito grande e recebo muita saída que mais tarde afeta a rolagem de volta pelas páginas do meu terminal.