como usar o fzf no Mac Terminal com o bash

7

Eu encontrei um utilitário chamado fzf link que é um localizador confuso para o seu shell.

Duas perguntas:

1) Depois de executar fzf e executar um arquivo, pressiono Enter e, em seguida, o arquivo que encontrei é enviado no Terminal. Em vez de Enter , que chave devo pressionar para copiar esse caminho de arquivo para o meu pastebin?

2) Idealmente, gostaria de poder fazer algo assim: %código% onde eu digite parte do nome de um arquivo e, em seguida, pressione uma tecla de atalho para iniciar uma pesquisa fzf para esse padrão. Existe uma maneira de fazer isso?

    
por mark 26.09.2014 / 23:09

2 respostas

7

Sugiro que você leia a página README . Você precisa de um nível básico de compreensão de scripts de shell para utilizar plenamente o fzf.

fzf é um filtro Unix como grep ou sed, e tudo o que faz é imprimir os itens selecionados. O que fazer com a saída depende completamente de você.

1) After I run fzf and run a file, I press Enter and then the file I found is output in Terminal. Instead of Enter, what key should I press to copy that file path to my pastebin?

Você pode usar o comando pbcopy para armazenar o resultado na área de transferência da seguinte forma:

fzf | pbcopy

A maneira mais convencional de usar o fzf é usá-lo com a substituição de comandos:

cat $(fzf)

Ou para usar a vinculação de chave CTRL-T que cola os nomes dos arquivos selecionados na linha de comando:

cat <CTRL-T>

2) Ideally, I'd like to be able to do something like this: cat where I type part of the name of a file and then press a hotkey to start an fzf search for that pattern. Is there a way to do this?

O fzf é enviado com o preenchimento fuzzy para o bash. Veja aqui para mais detalhes. Para invocar o preenchimento automático, anexe dois asteriscos ao padrão e pressione a tecla tab da seguinte forma:

cat pat**<Tab>

Se você não usa bash, o mais próximo que você pode fazer é usar a tecla CTRL-T mencionada acima.

Veja: link

    
por 27.09.2014 / 08:10
1

Eu tentei instalar o fzf via homebrew e meus atalhos CTRL-T e pat ** também não funcionaram. Descobri que fzf adicionou alguns comandos ao meu .bashrc, mas meu .bashrc não é chamado.

[ -f ~/.fzf.bash ] && source ~/.fzf.bash

Colocar essa mesma instrução de origem de .bashrc em .bash_aliases fez o truque para mim.

    
por 01.06.2015 / 23:15