Abra o último arquivo no dir com vim

1

Eu escrevo um diário e nomeio os arquivos em um formato YYYY-MM-DD.markdown. Quando quero alterar algo para a última entrada, gostaria de abri-lo com um atalho, em vez de escrever a data completa (a conclusão do bash não ajuda em nada).

Como posso abrir o último arquivo (em ordem alfabética) no vim?

    
por Martin Ueding 19.05.2011 / 13:21

2 respostas

2

Se é realmente o último arquivo:

vim $(find . -type f  -maxdepth 1 | sort | tail -n 1)

Ou para ser mais específico sobre os arquivos de remarcação:

vim $(find . -name "*.markdown" -maxdepth 1 | sort | tail -n 1)

Você pode criar um alias para isso no seu perfil bash.

alias newest='vim $(find . -name "*.markdown" -maxdepth 1 | sort | tail -n 1)'

Editado porque xargs e vim causam sérios problemas depois de sair dele. Tem que descobrir por que isso é. Eu também tinha backticks antes, mas usar $() em vez de backticks é o novo caminho a seguir.

    
por 19.05.2011 / 13:27
1
vim "$(ls -1 *.markdown | tail -n 1)"

Funciona com espaços em nomes de arquivos e não precisa de find (que é recorrente por padrão, o que pode não ser o que você deseja) nem sort (a saída de ls é alfabética por padrão).

    
por 21.05.2012 / 16:34

Tags