Editor Vim, como posso salvar um arquivo em outro diretório

41

Eu sou novo no mundo do ubuntu e do editor vim.
Minha pergunta é: como posso salvar um arquivo no meu host local usando o vim?
Quando uso o comando :w, salvo o arquivo, mas onde? E como posso alterar o local do arquivo para /var/www/?

berga007
fonte
@ElderGeek, funcionou lindamente, se você fizer uma resposta, eu a aceitarei.
Heather

Respostas:

49

Você pode entrar :pwdpara exibir o diretório de trabalho atual. É aqui que seu arquivo será salvo se simplesmente entrar :w filename. Você pode alterar o diretório de trabalho com :cd path/to/new/directory. Ou você pode inserir o caminho completo para o local em que deseja salvar o arquivo com o comando write, por exemplo :w /var/www/filename,.

camsolo
fonte
18

O wcomando vim suporta como parâmetro o nome do arquivo, que pode conter um caminho, portanto

:w /var/www/filename

deve funcionar, desde que você tenha permissão para gravar nesse diretório.
Você também pode usar o preenchimento de tabulação para criar o nome do caminho.

O comando bare :wsó funciona se você vimjá tiver dado um nome de arquivo a ele.

enzotib
fonte
11
Sim, quando eu uso o comando: w eu já havia dado um nome ao arquivo ... Tentei salvar o arquivo no meu diretório localhost usando a dica que você me deu e funcionou! Muito obrigado, se um dia eu puder ajudá-lo, não hesitarei!
precisa saber é o seguinte
11

Navegue até o diretório em que deseja salvar o novo arquivo, abra o arquivo que deseja editar e use

Esc:sav newfilenameou Esc:w newfilenameIsso deve funcionar para você.

Para mais dicas sobre o vim, você pode achar útil esta folha de dicas .

Edite conforme solicitado.

:sav salva o arquivo com um novo nome e abre o novo arquivo no Vim.

Nota:: sav não fechará o buffer inicial, ele o ocultará. Por padrão, os buffers ocultos são descarregados.

:w salve o arquivo com um novo nome, mas mantém o original aberto para edição.

Editar fonte: https://stackoverflow.com/questions/4980168/how-to-save-as-a-new-file-and-keep-working-on-the-original-one-in-vim

Elder Geek
fonte
Você provavelmente deve explicar diretamente na resposta a diferença entre :save :w, é bastante útil saber.
Matteo Italia
11
@MatteoItalia bom ponto. Feito.
Elder Geek
Perfeito, votado!
Matteo Italia
6

Eu acredito que você quer tentar algo assim. (não esqueça a barra dupla no final.)

:w /var/www//%:t
o demônio
fonte
Sim, eu tentei algo assim e funcionou. Graças
berga007
11
@ berga007, por favor, não poste um comentário de agradecimento, aceite a resposta .
guntbert
6

Dentro do Vim, não importa onde o arquivo está salvo, você pode fornecer o caminho para o novo local em que deseja salvá-lo. Por exemplo, para salvar o arquivo na sua área de trabalho:

pressione escpara entrar no modo normal e digite

:w ~/Desktop/filename

Isso funciona para qualquer caminho em que você tenha permissão para escrever no diretório. Se você deseja salvar em algum lugar em que não tenha permissão de gravação, faça o seguinte:

:w !sudo tee /path/to/my/filename
Zanna
fonte
3

Se você criou um novo arquivo com o Vim, pressionar a sequência de teclas Esc- :- w- q- Entersalvará o arquivo no local atual em que você iniciou o Vim. Por exemplo, se você estivesse em / home / $ USER, o arquivo será criado nesse diretório. A maneira mais fácil é iniciar o vim usando:

vim myFile.txt

Isso criará um novo arquivo ou substituirá um arquivo com nome myFile.txtno local atual.

GTRONICK
fonte
2

No seu iniciador, o segundo ícone é uma foto de um arquivo. Isso é chamado Nautilus (Gerenciador de Arquivos do Ubuntu).

Selecione Nautilus e seu diretório pessoal deve abrir. Você deve ver seu arquivo lá.

Clique com o botão direito do mouse no seu arquivo e selecione 'copiar'. Abra seu email, escreva uma nova mensagem, clique no corpo da mensagem. Em seguida, clique com o botão direito do mouse e desta vez selecione 'Colar'.

Essas instruções funcionam no Ubuntu 14.04 e 16.04, mas não sei se o 12.04 inclui o Nautilus.

WinEunuuchs2Unix
fonte
2
12.04 inclui o Nautilus. Veja aqui: packages.ubuntu.com/search?keywords=nautilus
wjandrea 11/11/16
3
-1 Esta resposta não tem nada a ver com o Vim. Acho que você postou uma resposta legítima na pergunta errada.
Wjandrea 11/11
@wjandrea No momento em que escrevi isso no meu telefone, o OP tinha uma pergunta com várias partes "ou talvez enviá-la por e-mail para mim mesma". Esta resposta informa ao OP como lidar com a parte de email da pergunta. Obrigado por comentar por que você votou negativamente. Nem todo mundo estende essa cortesia.
WinEunuuchs2Unix 11/11/16