Czy podczas edytowania pliku w Vimie jest polecenie, aby zobaczyć ścieżkę do bieżącego pliku? Czasami jest to bardzo przydatne, jeśli w projekcie jest wiele plików o tej samej nazwie.
statusline
Thameera
źródło
źródło
Ctrl+G
bardziej jak „ścieżka względna do cwd vima”?C-g
to, że jest domyślna0C-g
i2C-g
pokazuje dodatkowo numer indeksu bufora (od 1).1C-g
!Rejestr
%
zawiera nazwę bieżącego pliku.Aby wyświetlić wyświetlane informacje, można wprowadzić następujące polecenia:
Jeśli chcesz tylko wyświetlić nazwę bieżącego pliku, wpisz
:f
/:ls
lub naciśnij Ctrl- g(dla pełnej ścieżki naciśnij 1następnie Ctrl- g).W trybie wstawiania wpisz Ctrl- rnastępnie, %aby wstawić nazwę bieżącego pliku.
Następujące polecenia wstawiają do bufora wiersze składające się z pełnej ścieżki plików bieżących i alternatywnych:
Źródło: Uzyskaj nazwę bieżącego pliku z vim wikia
Związane z:
źródło
=expand...
wyrażeń po przejściuCtrl-R
w tryb wstawiania.Możesz użyć,
:!ls %:p
aby uzyskać pełną ścieżkę do bieżącego pliku.W zależności od kontekstu ex
%
będzie oznaczać zawartość pliku lub nazwę pliku. Podczas tworzenia powłoki reprezentuje ścieżkę do pliku względem bieżącego katalogu. Polecenie „%:p
” doda modyfikator pełnej nazwy pliku ścieżki do%
.Istnieje kilka innych interesujących modyfikatorów nazw plików, takich jak:
:~
: Uzyskaj ścieżkę do pliku w stosunku do katalogu domowego (ten z jakiegoś powodu nie działał dla mnie):.
: Uzyskaj ścieżkę do pliku względem bieżącego katalogu (%
domyślnie):r
: Nazwa pliku root. Nazwa pliku bez rozszerzenia.:e
: Rozszerzenie pliku.:h
: Podziel na/
i zwróć lewą połowę (tj. Jeśli edytuję plik w ścieżce/tmp/test.txt
i uruchom%:p:h
zwróci/tmp
:t
: Podziel na/
i zwróć prawą połowę (tzn. Jeśli edytuję plik w ścieżce/tmp/test.txt
i polecenie%:p:t
wrócitext.txt
źródło
Można zobaczyć bieżący katalog roboczy za pomocą
:pwd
. Oczywiście jest to tylko katalog, a nie nazwa pliku. Aby uzyskać katalog roboczy i nazwę pliku, możemy użyć specjalnego rejestru%
, który zawiera informacje o bieżącym pliku.Jeśli użyjesz
:echo @%
, otrzymasz katalog i nazwę pliku bieżącego pliku.Jeśli używasz
:echo expand('%:p')
, otrzymasz pełną ścieżkę i nazwę pliku bieżącego pliku. Jest to bardzo podobne do odpowiedzi CharlesL .Pamiętam ten jeden, chociaż, ponieważ jeśli używasz pomocy Vim jest
:h expand
, to mówi, że%
i%:p
i ich krewni.źródło
Używam:
To jest
:f
lub:file
.Dziwi mnie, że nikt nie wspomniał o tym w odpowiedziach, czy coś mi umknęło?
źródło
Aby wyświetlić pełną ścieżkę dla wszystkich plików, w tym również przetłumaczonych dowiązań symbolicznych, użyj następujących poleceń.
źródło
Istnieją jednak lepsze odpowiedzi, ale jeśli (z jakiegoś powodu) chcesz użyć powłoki, aby uzyskać pełną ścieżkę do pliku (jest to bardziej przydatne, jeśli zamierzasz wykonać inną operację na pliku za pomocą powłoki), na systemie uniksowym możesz uruchomić:
lub:
aby wstawić ścieżkę do dokumentu nad bieżącym wyborem.
Rejestr
%
zawsze zawiera nazwę pliku. Przykładem może być sytuacja, gdy edytujesz plik konfiguracyjny, ale nie masz uprawnień do zapisu (i nie chcesz uruchamiać Vima jako root), możesz edytować plik, a następnie uruchomić:aby zapisać plik (trochę nie na temat, ale jest to dobry przykład tego, co można zrobić z
%
rejestrem).źródło
realpath
nie jest POSIX, więc może być prostsze:!echo "$PWD/%"
Musisz ustawić linię statusu, aby była widoczna, a także ustawić ścieżkę. Zrobiłem to na stałe, dodając dwa wiersze poniżej do mojego ~ / .vimrc
Jeśli chcesz to uruchomić raz. Następnie, gdy VIing typ dokumentu
źródło
Używam do tego vim Airlines i kilku fajnych funkcji:
źródło
Możesz wyświetlić pełną ścieżkę pliku, który edytujesz na pasku tytułu, co jest moim zdaniem wygodnym sposobem na wyświetlenie ścieżki pliku.
Aby to zrobić, musisz ustawić
title
opcję ititlestring
. Obecnie używam następujących ustawień:Wyświetli nazwę hosta Vima, następnie pełną ścieżkę do pliku, a następnie czas ostatniej modyfikacji pliku. Demo przedstawia poniższy rysunek
źródło