Jak zapisywać pliki edytowane za pomocą vima?


66

Nie mogę zapisać zmian po edycji

sudo vi /etc/network/interfaces

Tekst przed edycją:

auto lo
iface lo inet ...

Edytowane do:

auto eth0
iface eth0 inet dhcp

Jaką kombinację klawiszy lub sekwencję należy nacisnąć, aby to zapisać?


7
Jeśli nie masz doświadczenia z edytowaniem plików w edytorach opartych na terminalach, takich jak vilub vim, polecam użycie edytora graficznego, geditaby je otworzyć. Wymień sudo visię gksu gedit.
Aditya

5
Lub użyj sudo nanorównież wiersza poleceń, ale o wiele bardziej intuicyjny niż vi.
Warren Hill,

Odpowiedzi:


125

Prawdopodobnie jesteś w trybie edycji / wstawiania. Musisz wpisać następującą sekwencję:

  1. Esc, aby wyjść z trybu edycji i wrócić do trybu poleceń;
  2. :+ w+ qRozpocząć z :(jelita grubego), a następnie nacisnąć przycisk wi wreszcie qdo w rytu q UIT (lub po prostu :wdo pisania bez wychodzenia)
  3. następnie naciśnij, Enteraby zatwierdzić.

18

Zazwyczaj naciskam, ESCa następnie przytrzymuję Shifti naciskam zdwa razy. Tak jak chcesz wpisać dwie duże litery Z w edytorze słów :) Zapisuje twój dokument i zamyka edytor.


4
O rany, shift i double z, jaka była logika projektowania, zastanawiam się, „jakie jest najmniej intuicyjne polecenie, jakie możemy stworzyć?”, Ubuntu czasami wkurza mnie jak szalony
S ..

4
@Sam, chciałem tylko nitpickować, że vi nie ma nic wspólnego z ubuntu. Ubuntu zostało wydane po raz pierwszy w 2004 roku, podczas gdy vi został stworzony przez Billa Joy'a około 1976 roku, zainspirowany przez ed (datowany na 1971 rok). Oznacza to, że skróty w vi wyprzedzają skróty w prawie każdym innym powszechnie używanym narzędziu. Zbiegiem okoliczności, pierwsza wersja emacsa, która ma zupełnie inne dziwne skróty, została również wydana w 1976 roku. Działania normalizacyjne nastąpiły znacznie później.
yoniLavi

Wow dzięki za info @yoniLavi, moje punkty są wciąż takie same, więc mam nadzieję, że wysiłki normalizacyjne będą się rozwijać .. :)
S ..

@Sam, vi skróty klawiszowe są w rzeczywistości o wiele bardziej standardowe niż myślisz; są praktycznie wszechobecne. Praktycznie można stworzyć dowolny program do emulacji skrótów klawiszowych vi. Nawet domyślne skróty klawiszowe Gmaila są oczywiście (dla użytkownika Vima) oparte na skrótach klawiszowych vi.
Wildcard

co z klawiszem esc nie działa? Tryb wstawiania, właśnie zatrzymany.
twórca

3

Sprawdź, czy masz uprawnienia administracyjne (root) do edycji pliku. użyj tego polecenia

whoami

Jeśli wynikiem nie jest „root”, to nie powinieneś edytować pliku.

Aby zalogować się jako użytkownik root, użyj poniższego polecenia

sudo su

lub

su

Edytuj plik,

vi /etc/network/interfeces

Po zmianach zapisz plik za pomocą

  1. Naciśnij, Escaby zmienić tryb
  2. :x aby zapisać i zamknąć plik

To wszystko


0

odpowiedź na to pytanie dawno dawno temu, ale w przypadku, gdy pojawi się ponownie w wyszukiwarkach, ten link jest ładnym ściągiem vim, który możesz chcieć dodać do zakładek, jeśli często używasz vima.

Nawiasem mówiąc, możesz użyć :wqdo zapisania i wyjścia z pliku (najpierw naciśnij klawisz esc, aby wyjść z trybu wstawiania lub zastępowania, a następnie naciśnij polecenia) i użyj, :q!aby wyjść bez zapisywania.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.