Linux - Open nth Arquivo LIsted

2

Eu sou Ubuntu, eu faço ls e obtenho uma lista de arquivos. Como eu iria abrir o enésimo arquivo na lista em VIM em referência à sua posição do comando ls , e não seu nome? Eu quero fazer isso porque um diretório tem muitos arquivos com nomes longos e similares.

    
por appleLover 15.01.2014 / 16:51

3 respostas

2

$ vim .

inicia uma nova instância de vim mostrando uma listagem do diretório atual. Mova o cursor para o que você deseja editar e clique em <Enter> .

    
por 15.01.2014 / 22:59
1

Primeiro de tudo, não analise a saída de ls . Isso pode levar a todos os tipos de problemas, sendo a mais comum a quebra de nomes de arquivos que contenham espaços ou novas linhas. Uma maneira mais segura seria usar find :

$ vim "$(find . -maxdepth 1 -type f  | awk 'NR==12')"

Se você realmente quer usar ls e sabe que seus nomes de arquivos são seguros, você poderia fazer (certifique-se de usar aspas como eu fiz, caso contrário, isso quebra em nomes de arquivos com espaços):

$ vim "$(ls -1 | awk 'NR==12')"

Isso abrirá o 12º arquivo, altere o número de acordo com suas necessidades.

    
por 15.01.2014 / 17:10
0

Primeiro inicie uma instância do Vim com todos os arquivos no diretório na lista de argumentos :

$ vim *

Isso abrirá o primeiro arquivo. Para ir para o arquivo 42, use

:42argument

Note que para sair do Vim, você precisa usar :argdel * ou sair via :q! ; mais, o Vim te avisa sobre more files to edit .

Você também pode combinar isso:

$ vim -c 42argu -c 'argdel *' *
    
por 15.01.2014 / 19:08

Tags