Od czasu do czasu moja różowa pasie '
klucz podczas sięgania po enter, w wyniku czego :w'<Enter>
.
Próbowałem:
cabbrev w' :w
cabbrev w\' :w
cabbrev "w'" :w
Żaden z nich nie działa. Czy istnieje sposób, aby alias :w'
do :w
?
Używam również cmdwin ( :help cmdwin
+ nnoremap : :<C-F>
) zamiast normalnej linii poleceń, więc punkty bonusowe, jeśli tam też działa.
Odpowiedzi:
Jak zauważa Peter Rincker,
cmap
s może się także rozwijać w innych miejscach, więccnoreabbrev
lepiej byłoby :Lub, najbezpieczniej, znowu dzięki Peterowi:
Przez jawne sprawdzenie, czy wiersz poleceń zawiera tylko
w'
, można uniknąć niepożądanych rozszerzeń w sytuacjach.Możesz użyć
cmap
:Nadal będziesz musiał naciskać Enter, ale wypadek
'
powinien być teraz zignorowany.Jeśli używasz
cmdwin
,inoremap
zestawautocmd
może być przydatny:źródło
:cmap w' w
, ale zachowanie się nie zmieniło.:w'
nadal powoduje zapis do pliku o nazwie'
."'" [New] 0L, 0C written
.'
rzeczywiście pojawia się po jego naciśnięciuw
? Nie powinno, jeślicmap
zostało pomyślnie utworzone - LHS cmap jest automatycznie wypełniany RHS, więc jeśli naciśniesz a'
, nadal powinien się wyświetlaćw
.cmap
i nacabbrev
. Będą one wykonywać / rozwijać w innych trybach i innych miejscach. np .:s/'follow'/foo
i/'follow'
. Zobacz następującą zmianę vima: funkcja x, aby usunąć bufor zamiast save & quit lub użyj cmdalias.vimcnoreabbrev <expr> w' getcmdtype() == ":" && getcmdline() == "w'" ? "w" : "w'"
'
nadal się pojawia, ale właśnie zorientowałem się, że używam cmdwin do wpisywania poleceń, a cmdwin jest zwykłym buforem, więccmap/cnoreabbrev
nie pracuj tam. Aktualizacja odpowiedzi znoreabbrev
opcją dla użytkowników cmdwin. :) Dzięki!!!Ta metoda działa dla mnie:
Alternatywnie możesz skonfigurować vima tak, aby zapisywał bieżący bufor po dwukrotnym naciśnięciu Esc, np
Lub użyj następującego odwzorowania, aby zapisać plik za pomocą Ctrl+ slub F2:
Uwaga: F2 zapisuje tylko w razie potrzeby i w razie potrzeby przywraca tryb wstawiania (lub przywraca wybór wizualny).
Źródło: Zapisywanie pliku na stronie vim wikia
Lub użyj następujących alternatyw:
:up
(:update
) dla:w
:q
:wq
lub:x
źródło
:w'
Nie:w
. Chcę użyć:w
bez przypadkowego uderzenia'
, co powoduje zapisanie pliku, który muszę wtedyrm \'
. Jednak dobre wskazówki.