$ 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>
.
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.
$ 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>
.
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.
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 *' *