Conclusão automática de palavras do buffer do terminal

7

Em editores como vim e emacs , é possível usar teclas de atalho como C-p (vim) ou M-/ (emacs) para executar o preenchimento automático na palavra atual usando outras palavras no mesmo buffer. / p>

É possível obter a mesma funcionalidade em um shell? Se eu ver alguma palavra na saída de um comando anterior e eu gostaria de completá-la rapidamente ao digitar outro comando.

Só para ficar claro, um exemplo:

$ ls
Desktop/  Mail/  music/  osx@  something_with_a_pretty_long_name

$ someth

A partir daqui, gostaria de poder acertar uma tecla de atalho e concluir automaticamente o que estou escrevendo para something_with_a_pretty_long_name .

EDITAR: Atire. Usando um nome de arquivo foi um mau exemplo para o que eu estou depois. Considere o seguinte segundo exemplo:

$ cat /var/log/something.log
[19:30] Service started
[19:35] Something else happened

$ happ

Onde eu poderia concluir automaticamente 'happ' para 'aconteceu' simplesmente porque ele apareceu no meu buffer de terminal. Espero que isso esclareça o que eu estou procurando.

    
por noffle 29.06.2012 / 00:03

4 respostas

2

link

O iterm2 tem exatamente o que você precisa. Coisa ruim é para o mac.

Mas como é terminal, você pode ssh para linux / unix e ainda funciona.

    
por 08.07.2012 / 15:14
0

Esta provavelmente não é a resposta esperada, mas pode atender algumas de suas necessidades.

Você pode usar o TAB para completar automaticamente o comando que está no $ PATH (ou comandos internos), então se o nome do arquivo for um arquivo executável e estiver no $ PATH, ele será preenchido automaticamente.

Se você quiser autocompletar no nome do arquivo que não é executável, você pode digitar " . " -dot, espaço (ou o que quer que seja no lugar do ponto), então a parte do nome do arquivo e TAB. Dessa forma, você enganará o shell para acreditar que está executando um comando e fornecendo o nome do arquivo como argumento para o comando. Pressionando o TAB irá preencher automaticamente o nome do arquivo, mas você terá que remover o ponto + espaço na frente, talvez.

Outra possibilidade é usar o recurso de conclusão BASH . Isso pode preencher automaticamente mais do que apenas nomes de arquivos.

    
por 29.06.2012 / 00:21
0

Você pode fazer isso com extrakto que usa o tmux para capturar a saída e permite que você selecione fuzzy com fzf:

    
por 17.11.2017 / 21:27