zapisz w trybie wstawiania (VIM)

34

Jestem nowy w vimie,

Zazwyczaj, ja znajduję się chcąc zaoszczędzić i pobytu w trybie wstawiania, a nie hit escape, :wa powrót do trybu wprowadzania.

fixer1234
źródło
2
Myślę, że powinien tu zostać. Większość pytań vim zadawanych jest na SO, a rozpoczęcie ich dzielenia między strony nie daje nic innego, jak tylko dać użytkownikowi więcej pracy w zakresie wyszukiwania ich na wszystkich trzech stronach. Vim jest także edytorem częściej znajdowanym na programistach niż przeciętnych (lub super :) maszynach użytkowników.
Wieża
Zgadzam się. SO ma 1199 pytań oznaczonych jako vim. SU ma 106.
zen

Odpowiedzi:

38

Ctrl+O, a następnie :wi Enter.

Juliano
źródło
Tak, tak też bym to zrobił.
David Wolever,
2
Co jest bardziej skomplikowane niż zwykły sposób, IMHO.
Wieża
@Idigas: dlaczego tak jest?
akira
2
Jest to ta sama liczba naciśnięć klawiszy, ale wydaje się niezbyt przekleństwem.
Seamus Connor
32

Możesz dodać alias jak inoremap <F3> <c-o>:w<cr>w tobie .vimrc.

Tordek
źródło
4

Nie wdając się w debatę na temat właściwego lub niewłaściwego sposobu, jeśli korzystasz z graficznego Vima, takiego jak MacVim lub GVim, powinieneś być w stanie użyć Cmd- slub Ctrl- sdo oszczędzania. Mogę powiedzieć, że działa w systemie OS X z MacVimem i Cmd- sdzięki czemu możesz zapisać swoje rzeczy w trybie wstawiania.

Oburęczny
źródło
2

Poza sugestią, o której wspominał Juliano (którą należy wyjąć i zastrzelić <- sugestię, nie Juliano), to naprawdę NIEWŁAŚCIWY SPOSÓB ZROBIENIA. Byłoby właściwie bardziej „normalne”, aby spróbować zrobić wszystko z trybu poleceń zamiast wstawiania. Ale używanie ich zamiennie jest zwykłym sposobem vima, a jeśli się to nie podoba, naprawdę należy unikać vim.

Jeśli naprawdę nie lubisz nie być w stanie oszczędzać z trybu I, możesz zasugerować edytor o nazwie Cream - jest to wariant vima, zmodyfikowany w sposób, który emuluje dzisiejszych edytorów (można powiedzieć, że pozostaje w trybie I wszystko czas i ma zwykłe skróty do systemu Windows).

Wieża
źródło
1
Chociaż zgadzam się z ogólną zasadą, nie sądzę, aby miała ona zastosowanie do tej sprawy. Jeśli po prostu piszesz długi tekst i chcesz często zapisywać, mapowanie jakiegoś klucza na <Co>: w <CR> nie jest wcale takie złe.
Matteo Riva,
@Michael Krelin ... - Zgadzam się. Ale powiedział, że chce trybu wstawiania, więc jest. Osobiście na początku myślałem o zasugerowaniu Notepad2 (lub jakiegoś innego szczególnego smaku), ale to byłoby po prostu odrzucone jako pytanie, na które nie ma odpowiedzi.
Rook
@kemp - Nie. Jeśli piszesz długi tekst i chcesz często zapisywać, korzystasz z możliwości vima w zakresie: backup, writebackup i swapfile (możesz: pomóc każdemu z nich, aby uzyskać szczegółowe informacje). Vim jest - taki, jaki jest - i chociaż ja (podobnie jak wszystkie inne) lubię trochę dostosowywania od czasu do czasu, próba uniknięcia kilku trybów jest po prostu niewłaściwa. I to się nie skończy dobrze. Lepiej więc użyć czegoś innego. W końcu istnieje kilka całkiem potężnych alternatywnych edytorów.
Rook
cóż, nie rozumiem, jak jego użycie trybu wstawiania (wszyscy go używamy!) implikuje chęć spędzenia w nim reszty sesji vima. Osobiście mam mapowanie <F2> w obu trybach tylko dlatego, że odkąd miałem szaloną klawiaturę w późnych latach 80., nie mogę oduczyć się uderzania <F2> raz na jakiś czas podczas edycji ;-)
Michael Krelin - haker
4
Przeczytałem to jako „Nie chcę wychodzić z trybu wstawiania tylko w celu zapisania pliku”.
Michael Krelin - haker
1

Nie mogę dodać komentarza do odpowiedzi @ Tordek z powodu braku reputacji :) Dlatego uzupełnienie jego odpowiedzi:

inoremap <F2> <C-\><C-o>:w<CR>

Dodanie <C-\>uniemożliwi przesunięcie kursora o jeden znak w lewo.

Vladimir Bauer
źródło