Jeśli otworzę vima z wieloma plikami w wierszu poleceń, na przykład, vim debug.log*
które ładuje debug.log
, debug.log.1
i debug.log.2
czy mogę nawigować między nimi, przypisać je do wielu okien ( :split
/ :vsplit
) lub podobnych?
Jedynym skrótem, jaki znam dla tego trybu działania, jest :n
ładowanie następnego pliku na listę. Co jeszcze mogę zrobić w tym trybie pracy z wieloma plikami? (lub który temat pomocy to obejmuje?)
multiple-files
load
SF.
źródło
źródło
:previous
(lub:prev
) jest odwrotnością:n
i wraca do pliku.Odpowiedzi:
Najbardziej odpowiedni temat pomocy
:ls
, znany również jako:files
lub:buffers
.W twoim
vim debug.log*
przykładzie, jeśli wydałeś:ls
polecenie, zobaczysz:… Wskazując, że pierwszy to aktywny bufor.
Aby otworzyć
debug.log.2
w bieżącym oknie, użyj polecenia:b 3
lub,:b debug.log.2
aby wyświetlić bufor 3.Aby podzielić okno i otworzyć w nim bufor 2, wydaj
:sb 2
polecenie. Jest to wersja z podziałem pionowym:vert sb 2
.Istnieje wiele wariantów
:b
polecenia; przejrzyj cytowane tutaj tematy pomocy, aby je poznać.Ponadto można wywoływać,
vim -o debug.log*
aby otworzyć wszystkie pliki, każdy w osobnym podziale, lubvim -O debug.log*
otworzyć je każdy w podziale pionowym.źródło
Oprócz funkcji raw vim wspomnianej przez 200_success, ekosystem Vima jest pełen wtyczek zapewniających dodatkowe funkcje, takie jak:
Jednak zanim zaczniesz używać wtyczek, najlepiej w pełni zrozumieć bufory i okna w vimie.
źródło
Możesz także otworzyć vima z różnymi parametrami.
Otwiera pliki na kartach:
Otwiera pliki w podziale pionowym:
Jest fajna i dość potężna wtyczka o nazwie CtrlSpace:
https://github.com/szw/vim-ctrlspace
Jest to bardzo przydatne, jeśli chcesz pracować z wieloma plikami. Po prostu możesz sobie wyobrazić ctrl-space jako własną listę buforów dla każdej karty. Zapewnia bardzo łatwy sposób nawigacji między plikami, jak stwierdza autor:
źródło
Jeśli chcesz otworzyć konkretny plik bez konieczności przechodzenia przez ten plik
:ls
, możesz użyć dowolnego z poniższych::vs filename
otwiera plik w podziale pionowym:sp filename
robi to samo, ale z podziałem poziomym:tabe filename
otwiera się w nowej karcieWarto również wiedzieć, że jeśli nie określisz nazwy pliku, otworzysz nową podziałkę / kartę bieżącego pliku, co może być przydatne w przypadku długich plików.
źródło
:t
to polecenie kopiowania. Dla:tabedit
trzeba co najmniej:tabe
.Istnieje kilka przydatnych skrótów do nawigacji po wielu plikach:
CTRL-^
(gdzieN
jest numerem bufora), aby przejść do poprzednio edytowanego pliku.N CTRL-^
(gdzieN
jest numer bufora), aby przejść do określonego bufora.Na przykład:
Jest to równoważne z
:buffer N
.Użyj
:Ex
/:Sex
/:Vex
do nawigacji w bieżącym katalogu.:tabs
Zamiast tego użyj (vim -p
) z niektórymi niestandardowymi skrótami,.vimrc
takimi jak:Użyj
:ba
/,:vert ba
aby podzielić, przeskocz do wybranego bufora za pomocą Control+w, w/ W, a następnie ustaw go jako bieżące okno (:on
).źródło