Mam kilka plików tekstowych w katalogu i wiem, że będę musiał edytować każdy z nich indywidualnie.
Zaczynam od linii komend z
vim *.txt
który otwiera pliki jako osobne bufory w vimie i pozwala mi patrzeć na pierwszy. Edytuję go - następnie używam „: w”, aby go zapisać, i „: bd”, aby zamknąć bufor i przejść do następnego.
To „: w: bd” do zapisywania i zamykania bufora wydaje mi się długie i podejrzewam, że istnieje bardziej vimowy sposób ninja - jaki jest zalecany sposób zapisywania i zamykania bufora, nad którym pracujesz za jednym zamachem?
:next
bufora i zapisanie / zamknięcie wszystkiego po zakończeniu zadania:wqa
. To zakłada, że masz:set hidden
w sobie~/.vimrc
.Odpowiedzi:
Przekazując pliki do Vima w wierszu poleceń, są one nie tylko otwierane w buforach, ale także wypełniają listę argumentów . Dlatego możesz używać poleceń takich jak
:next
i:first
do poruszania się po nich (i:argdo
do przetwarzania wsadowego, co może być sprytną sztuczką). Polecenie, które polecam dla twojego pytania to:wnext
(krótki formularz:wn
), który:write
jest bieżącym buforem, a następnie przechodzi do tego:next
.Nie musisz jawnie
:bdelete
buforować, zwłaszcza gdy uruchamiasz Vima z wiersza poleceń z zestawem plików, a następnie kończysz go, gdy skończysz. (Jedynymi wyjątkami, jakie mogę wymyślić, jest zwolnienie dużego pliku w celu zaoszczędzenia pamięci systemowej lub ponowne użycie jednej instancji GVIM do wielu różnych edycji).Jeśli jednak naprawdę tego chcesz, po prostu zdefiniuj niestandardowe polecenie, np
źródło
:w|bd
.:next
że w niektórych przypadkach ma to większy sens.Chociaż zgadzam się, że nie musisz usuwać otwartych buforów, których obecnie nie używasz, lubię je usuwać, ponieważ mam włączoną linię tab vim-Airlines , która pokazuje wszystkie otwarte bufory przez cały czas u góry okno. Mam w swoim
.vimrc
:qq
zapisuje i zamyka bieżący bufor, ale także miesza się z funkcją vim „nagrywaj makro” (z którą jestem w porządku).źródło
ZZ
myśl przychodzi na myśl, ale kończy się to całkowitym zapisaniem i zamknięciem Vima, a nie tylko usunięciem bufora. Małe literyzz
mogą być ciekawym alternatywnym mapowaniem dla każdego, kto uważa makra za bardziej wartościowe niż wyśrodkowanie widoku na bieżącej linii kursora.Q
, po uświadomieniu sobie, jak cenne może być nagranie w Vimie.