Czy jest jakieś polecenie w Vim, które zrobi to samo, co o
lub O
(wstawi pustą linię przed/po bieżącą), ale które również nie przełącza się do wstawienia tryb?Polecenie Vima, aby wstawić pustą linię w trybie normalnym
Odpowiedz
:nnoremap <silent> [<space> :pu! _<cr>:']+1<cr>
:nnoremap <silent> ]<space> :pu _<cr>:'[-1<cr>
Objaśnienie:
:put
będzie wkleić linewise rejestru poniżej. (:pu!
powyżej):pu _
będzie wklej rejestru czarnej dziury, która jest pusta, więc otrzymujemy pustą linię'[
i']
znaki są ustawione na początku i na końcu zmienił lub yanked tekstu.:'[
będzie przesunąć kursor do linii startu ostatniej zmiany (The put w tym przypadku):'[-1
będzie przesunąć o jeden więcej linii
Jeśli wolisz wtyczki to proponuję '[
ale Tim Pope's unimpaired.vim. Który dostarcza te mapowania, ale również będzie się liczyć. Wtyczka ma również wiele innych przyjemnych mapowań.
Zamierzałem wspomnieć również o nienaruszonym stanie. Wielkie konfiguracje mapowania. – darcyparker
dd w pustym wierszu, p, aby go przywrócić, a następnie p, w którym chcesz pusty wiersz (y)
Jeśli miałbyś być w pustym wierszu, dlaczego nie zamiast tego zamiast "yy". Wtedy nie trzeba go przywracać. – Brombomb
To przesada. 'o
Lub dodaj liczbę: 'o
w trybie Insert:
:normal O
spod Vima instrukcji inline:
Wykonaj polecenia w trybie normalnym {polecenia}. Umożliwia to wykonanie poleceń trybu normalnego wpisanych w wierszu poleceń. {commands} są wykonywane tak, jak zostały wpisane. W przypadku cofnięcia wszystkie polecenia są cofane razem: . Wykonanie zatrzymuje się po napotkaniu błędu. Jeśli podasz [!], Odwzorowania nie będą używane. {Polecenia} powinno być kompletnym poleceniem . Jeśli polecenie {commands} nie zakończy polecenia, ostatnie polecenie zostanie przerwane, jakby zostało wpisane lub zostało wpisane.
http://vimdoc.sourceforge.net/htmldoc/various.html#:normal
Dostałem wskazówkę tam: https://unix.stackexchange.com/a/16452/7914
To wydaje się być przeciwieństwem pytania, o które pytano. –
można spróbować coś takiego:
:map <c-j> o<esc>
ten brzmi: po naciśnięciu Control + j Będzie dodaj linię poniżej (i przejdź do trybu wstawiania), a następnie powróć do trybu normalnego, jeśli chcesz pozostać w tym samym wierszu gdzie przed wystarczy dodać k
na końcu, coś takiego:
:map <c-j> o<esc>k
Dodałem też Control + k aby dodać linię przed One I stoi na
:map <c-k> O<esc>
i podobnie jak jeden, zanim będzie można dodać j
w końcu zatrzymać się na tej samej linii:
:map <c-k> O<esc>j
Jeśli potrzebujesz lub chcesz coś bardziej zaawansowany Można to sprawdzić posty: Quickly adding and deleting empty lines lub Insert newline without entering insert mode
- 1. Jak przerwać linię w vimie w trybie normalnym?
- 2. Czy jest jakiś klucz domyślny w vim, aby utworzyć nową linię po bieżącej linii i pozostać w trybie normalnym?
- 3. Vim: Zmiana rzutnie szybko w trybie normalnym
- 4. VIM: odfiltrowanie klucza okresu w trybie normalnym
- 5. Wydrukuj pustą linię?
- 6. Jak zmienić linię podkreślenia Vima tak, aby nie była podkreśleniem?
- 7. Jak ukryć pustą linię w Jekyll?
- 8. Jak umieścić pustą linię w redmine wiki?
- 9. Poruszanie się w trybie poleceń Vima
- 10. informacje druku w „trybie testowym”, ale nie w „normalnym wykonaniu”
- 11. Resharper: usuń pustą linię przed nawiasami
- 12. Jak sprawdzić, czy jest nadal w trybie powłoki Vima
- 13. data.table fread jak zignorować pustą linię
- 14. Python: cmd wykonaj ostatnią komendę, a podpowiedź i pustą linię
- 15. Jak wstawić wartość pustą w Sequelize z flagą omitNull?
- 16. Jak wstawić programowo nową linię w komórce Excela w C#?
- 17. Jak usunąć niepotrzebną pustą linię z formatowania kodu w IntelliJ?
- 18. jak wstawić pustą wartość w polu typu daty mysql?
- 19. Wtyczka Vima - niestandardowe automatyczne uzupełnianie paramów w trybie poleceń
- 20. Ponowne wiązanie: b i: e w złym-normalnym-stanie-mapie
- 21. Zapobieganie zapamiętywaniu Vima
- 22. Aby efektywnie dołączyć mecz do Vima: g/---/s/---/X/
- 23. Pakiety z wykazami latexowymi ignorują ostatnią pustą linię na liście
- 24. Shift + Return, aby wstawić linebreak w pythonie
- 25. Osadzanie ustawień vima w pliku
- 26. PHP fwrite() jak wstawić nową linię po określonej linii
- 27. Jak poprawić błędy ortograficzne Vima szybciej?
- 28. Jak wstawić bieżący czas w trybie emacs org?
- 29. Jak wstawić (nie nadpisywać) bajt w trybie hexl?
- 30. Ukończenie zakładki w komendach Vima
Można po prostu mapować do klucza do wyboru jak w tym artykule sugeruje: http://vim.wikia.com/wiki/Insert_newline_without_entering_insert_mode. Nie wiem, czy jest na to wbudowany klucz. – NorthGuard
http://unix.stackexchange.com/questions/14746/vi-command-for-adding-blank-line –
Hmm. Czy istnieje sposób na zamknięcie pytania jako dupę czegoś na innej stronie? –