Odpowiedzi:
Używam Ctrl-O
Często używam Ctrl- 6do tego.
Jest to przydatne, ponieważ pozwala mi szybko przeskakiwać między dwoma plikami.
Możesz użyć CTRL-W gf
do otwarcia pliku w nowej karcie.
Możesz zamknąć nowo otwarty plik jak zawsze :bd
, lub użyć CTRL-6
innych zwykłych sposobów zmiany buforów.
nnoremap gf <C-W>gf
do otwierania w nowej karcie może być lepsze.
Użyj gf, aby zejść do pliku i użyj: bf, aby wrócić
Ctrl-Shift-6 to jeden.
:e#↲
jest inny.
Mam CTRL-W f do pracy.
To przygnębiające, że spędziłem tak długo na doskonaleniu map dla tych poleceń, aby odkryć, że istnieją wbudowane wersje.
Nie znam odpowiedzi na część 2 twojego pytania, ale mogę pomóc z częścią 1. Użyj
:e#
Vim utrzymuje listę plików (buforów), które edytuje. Jeśli wpiszesz
:buffers
wyświetli listę wszystkich plików, które aktualnie edytujesz. Plik na tej liście z% obok jest plikiem bieżącym. Ten ze znakiem # obok jest plikiem alternatywnym. : e # przełącza między bieżącym a alternatywnym plikiem. Zamiast tyle pisać, odwzorowuję F2 na: e #, dzięki czemu mogę łatwo przełączać między plikami bieżącymi i alternatywnymi. Mapuję polecenie na F2, dodając je do .vimrc
nmap `<F2> :e#<CR>`
Zobacz : pomoc plik alternatywny .
Po otwarciu nowego pliku (za pomocą gf lub : n lub innego polecenia) stary plik pozostaje na liście buforów. Możesz wyświetlić listę otwartych plików za pomocą : ls
Jeśli chcesz łatwo nawigować między buforami w vimie, możesz utworzyć takie mapowanie:
nmap <M-LEFT> :bN<cr>
nmap <M-RIGHT> :bn<cr>
Teraz możesz przełączać się między buforami za pomocą Alt + strzałka w lewo lub Alt + strzałka w prawo.
Pełna dokumentacja mapowań znajduje się tutaj:
:help map.txt
Nie spojrzałem na twoje polecenie gf, ale wyobrażam sobie, że używa polecenia : e lub : find .
Zakładając, że to prawda, wystarczy wymienić : E lub : znaleźć się : nowa (lub : vnew do rozłamu pionowej) oraz plik otworzy się w nowym oknie zamiast tego samego jednego.
na przykład
„Przełączaj między nagłówkiem a cpp nmap, s: find%: t: r.cpp <CR> nmap, S: nowy%: t: r.cpp <CR> nmap, h: znajdź%: t: rh <CR> nmap, H: nowy%: t: rh <CR> nmap, F: nowy = rozwiń („<plik>: t”) <CR> <CR> nmap, d: nowy = rozwiń („<plik>>) <CR> <CR>
gf
jest wbudowany. Należy do nas wszystkich. :-)