Você está quase pronto:
$ locate updatedb | head -1 | xargs vim
às vezes (sob certos terminais) você precisa redefinir o terminal após a edição.
$ reset
Eu uso o comando locate
com muita frequência.
Então, se eu executar o seguinte comando.
locate updatedb | head -1
Em seguida, ele me fornece o O/p
/usr/updatedb.conf
Gostaria de saber se existe algum comando desse tipo que me permita abrir esse arquivo diretamente?
Eu estou esperando por algo assim.
locate updatedb | head -1 | vim
Como um editor interativo, o Vim precisa tanto de stdin quanto de stdout, então usá-lo dentro de um pipe é problemático e faz o Vim alertar sobre isso. Para apenas um único arquivo, a substituição do processo resolve isso facilmente:
vim "$(locate updatedb | head -1)"
Você também pode usar backticks, e isso funciona dentro do próprio Vim:
:edit 'locate updatedb | head -1'
Eu sei que esta é uma solução ruim, mas eu usei isso para criar alias em .bashrc:
locate updatedb > /tmp/vimForTempDontTouch && vim /tmp/vimForTempDontTouch
Desvantagens: feio
Vantagem: Sem efeitos colaterais com terminal