Encontro-me na posição em que desejo criar um novo arquivo no mesmo diretório em que o arquivo aberto está. Como faço para criar um novo arquivo no diretório do arquivo aberto no vim? Além disso, existe um lugar onde posso aprender essas coisas sozinho? Googling não ajudou.
95
Respostas:
De dentro do Vim, novos arquivos são criados como os arquivos existentes são editados, por meio de comandos como
:edit filename
ou:split filename
. Para persisti-los no disco, você precisa (opcionalmente digitar o conteúdo e) persisti-los por meio de:write
.Como um prompt de comando, o Vim tem uma noção do diretório atual (
:pwd
lista-o). Todos os caminhos de arquivo são relativos a ele. Você não precisa duplicar o caminho para o arquivo atual, existem alguns atalhos interessantes para eles:%
refere-se ao arquivo atual,:h
é um modificador para seu diretório, menos o nome do arquivo (cp.:help filename-modifiers
). Então,irá criar um novo arquivo nomeado
filename
no mesmo diretório do arquivo aberto atualmente e gravá-lo.Como alternativa, algumas pessoas gostam do Vim para sempre mudar para o diretório do arquivo atual. Isso pode ser configurado colocando
em seu
~/.vimrc
arquivo (que é lido na inicialização do Vim). Então, acima se torna simplesmenteFinalmente, o Vim tem um ótimo built-in
:help
. Aprenda a navegar e pesquisar!fonte
autochdir
é esquisito, infelizmente, e descobri que não podia depender disso. Em vez disso, coloquei um autocmd em meu vimrc:autocmd BufEnter * silent! lcd %:p:h:gs/ /\\ /
você deve tentar o plugin "nerdtree". Na janela nerdtree, você digitou a tecla m, e as opções de operação do arquivo serão exibidas para você
fonte
Se quiser criar um novo arquivo e também mostrá-lo na janela ao lado do arquivo atual, você pode tentar o seguinte:
O
vsp
significavertical split
, e divide a tela ao meio, um mostrando seu arquivo atual, o outro mostrando seu novo arquivo (também funciona com apenassp
, que é uma divisão horizontal).De acordo com o comentário de @MartinLyne acima, isso criará o arquivo no diretório do arquivo no qual você abriu
vim
. Para ajustar isso, você pode alterar o diretório de trabalho atual da seguinte maneira:Este comando altera o diretório de trabalho atual para o diretório do arquivo ativo, o que significa que a execução do
vsp
comando (ou qualquer um dos comandos acima) criará o arquivo nesse diretório.fonte
Quando você abriu o vim em um local inexistente como
$ vim /etc/<some_folder/<next_folder>/file.cfg
em seguida, para criar um novo diretório enquanto está dentro do vim, execute no modo normal
:! mkdir -p /etc/<some_folder/<next_folder>
e salve seu documento normalmente:w :x ZZ
(o que você quiser)é isso aí
fonte
Isso é pelo Gvim! Digite aqui para ver o diretório atual.
então mude com
então salve ou crie um novo arquivo lá
agora novamente veja o arquivo
fonte
Estou muito atrasado para a festa, mas outra opção é abrir o NERDtree com
:E
ou:Explore
(ou suas alternativas de divisão:Vexplore
/:Sexplore
==:Vex
/:Sex
).No NerdTree você pode criar um novo arquivo com
%
e digitar o nome. Ele abrirá automaticamente o arquivo e o criará após você:w
/ salvá-lo.fonte