Edytor Vima, jak mogę zapisać plik w innym katalogu

41

Jestem nowy w świecie edytora ubuntu i vim.
Moje pytanie brzmi: jak mogę zapisać plik na moim hoście lokalnym za pomocą vima?
Kiedy używam polecenia :w, zapisuję plik, ale gdzie? Jak mogę zmienić lokalizację pliku na /var/www/?

berga007
źródło
@ElderGeek, to działało pięknie, jeśli udzielisz odpowiedzi, zaakceptuję.
wrzos

Odpowiedzi:

49

Możesz wejść, :pwdaby wyświetlić bieżący katalog roboczy. W tym miejscu twój plik zostanie zapisany, jeśli po prostu wejdziesz :w filename. Możesz zmienić katalog roboczy za pomocą :cd path/to/new/directory. Lub możesz wprowadzić pełną ścieżkę do lokalizacji, w której chcesz zapisać plik za pomocą polecenia zapisu, np :w /var/www/filename.

Camsolo
źródło
18

Komenda wvim obsługuje jako parametr nazwę pliku, który może zawierać ścieżkę, więc

:w /var/www/filename

powinien działać, pod warunkiem, że masz uprawnienia do zapisu w tym katalogu.
Możesz także użyć uzupełniania tabulatorów, aby zbudować nazwę ścieżki.

Polecenie bare :wdziała tylko wtedy, gdy już zacząłeś vimnadawać mu nazwę pliku.

enzotib
źródło
1
Tak, kiedy używam polecenia: w, nazwa pliku została już nadana ... Próbowałem zapisać plik w katalogu localhost, korzystając z podanej wskazówki i zadziałało! Dziękuję bardzo, jeśli któregoś dnia mogę ci pomóc, nie zawaham się!
berga007,
11

Przejdź do katalogu, w którym chcesz zapisać nowy plik, otwórz plik, który chcesz edytować, a następnie użyj

Esc:sav newfilenamelub Esc:w newfilenameTo powinno Ci pomóc.

Aby uzyskać więcej wskazówek na temat vima, ten cheat może być przydatny.

Edytuj zgodnie z żądaniem.

:sav zapisuje plik pod nową nazwą i otwiera nowy plik w Vimie.

Uwaga: Sav nie zamknie początkowego bufora, ukryje go. Domyślnie ukryte bufory są rozładowywane.

:w zapisz plik pod nową nazwą, ale oryginał pozostanie otwarty do edycji.

Edytuj źródło: https://stackoverflow.com/questions/4980168/how-to-save-as-a-new-file-and-keep-working-on-the-original-one-in-vim

Starszy Geek
źródło
Prawdopodobnie powinieneś wyjaśnić wprost w odpowiedzi różnicę między, :savi :wwarto wiedzieć.
Matteo Italia,
1
@MatteoItalia dobry punkt. Gotowy.
Elder Geek
Idealne, entuzjastyczne!
Matteo Italia,
6

Wierzę, że chcesz spróbować czegoś takiego. (nie zapomnij o podwójnym ukośniku na końcu).

:w /var/www//%:t
Demon
źródło
Tak, próbowałem czegoś takiego i zadziałało. Dzięki
berga007,
1
@ berga007 nie publikuj komentarza „dziękuję”, zamiast tego zaakceptuj odpowiedź .
guntbert
6

Wewnątrz Vima, bez względu na to, gdzie plik jest obecnie zapisany, możesz podać ścieżkę do nowej lokalizacji, w której chcesz go zapisać. Na przykład, aby zapisać plik na pulpicie:

naciśnij, escaby przejść do trybu normalnego, a następnie wpisz

:w ~/Desktop/filename

Działa to dla dowolnej ścieżki, do której masz uprawnienia do zapisu w katalogu. Jeśli chcesz zapisać gdzieś, gdzie nie masz uprawnień do zapisu, możesz to zrobić:

:w !sudo tee /path/to/my/filename
Zanna
źródło
3

Jeśli utworzyłeś nowy plik za pomocą Vima, naciśnięcie sekwencji klawiszy Esc- :- w- q- Enterzapisze plik w bieżącej lokalizacji, w której uruchomiłeś Vima. Na przykład, jeśli byłeś w / home / $ USER, plik zostanie utworzony w tym katalogu. Najprostszym sposobem jest uruchomienie vima przy użyciu:

vim myFile.txt

Spowoduje to utworzenie nowego pliku lub zastąpienie pliku nazwą myFile.txtw bieżącej lokalizacji.

GTRONICK
źródło
2

Na wyrzutni druga ikona to zdjęcie szafki na dokumenty. Nazywa się to Nautilus (Menedżer plików Ubuntu).

Wybierz Nautilus, a twój katalog domowy powinien się otworzyć. Powinieneś zobaczyć tam swój plik.

Kliknij plik prawym przyciskiem myszy i wybierz „kopiuj”. Otwórz wiadomość e-mail, utwórz nową wiadomość, kliknij treść wiadomości. Następnie „kliknij prawym przyciskiem” i tym razem wybierz „Wklej”.

Te instrukcje działają dla Ubuntu 14.04 i 16.04, ale nie wiem, czy 12.04 zawiera Nautilus.

WinEunuuchs2Unix
źródło
2
12.04 obejmuje Nautilus. Zobacz tutaj: packages.ubuntu.com/search?ke
words=nautilus
3
-1 Ta odpowiedź nie ma nic wspólnego z Vimem. Myślę, że przesłałeś prawidłową odpowiedź na złe pytanie.
wjandrea,
@wjandrea W czasie, gdy pisałem to na swoim telefonie, OP miało wieloczęściowe pytanie „albo może wysłać to do siebie e-mailem”. Ta odpowiedź mówi OP, jak obsługiwać część pytania w e-mailu. Dziękujemy za skomentowanie powodu, dla którego nie głosowałeś. Nie wszyscy korzystają z tej uprzejmości.
WinEunuuchs2Unix 11.11.16