Wiem, że CTRLgwyświetla bieżący plik, nad którym pracujesz. Czy istnieje sposób na zmodyfikowanie mojego, .vimrc
tak aby nazwa pliku / ścieżka była zawsze wyświetlana?
Odpowiedzi:
W linii statusu dodaj a, %F
aby wyświetlić pełną ścieżkę:
:help statusline
" Add full file path to your existing statusline
set statusline+=%F
Uwaga, %F
będzie pełna ścieżka. Aby uzyskać ścieżkę względem katalogu roboczego, użyj %f
.
Jeśli twoja linia statusu nie jest jeszcze widoczna, możesz najpierw skonfigurować ją tak, aby była zawsze widoczna, poprzez laststatus=2
set laststatus=2
Zobacz, :help laststatus
co oznaczają opcje. Zwykle linia stanu może być ukryta lub ukryta, chyba że otwartych jest wiele buforów, ale uważam, że niezwykle przydatne jest ciągłe korzystanie z takich dostosowań, warto zrezygnować z jednej linii ekranu na to.
:set statusline=%F
bez+
:set statusline=%F
? Spójrz w prawo lub w lewo, aby zobaczyć, czy nazwa pliku nie jest ukryta w linii statusu
set laststatus=2
aby linia statusu była widoczna przez cały czas. Zapomniałem, że mam to na sobie.
ustaw ls = 2
dodaj to w vimrc, a nazwę pliku zobaczysz zawsze na dole.
set modeline
jest trochę niebezpieczna i nie ma nic wspólnego z pytaniem. Pozwala na wykonywanie poleceń Vima w 5 początkowych / końcowych wierszach pliku. Powinien być włączany tylko przez tych, którzy wiedzą dlaczego i naprawdę tego chcą. (Dlatego właśnie ja -1 ta odpowiedź)
Znalazłem 2 sposoby, aby wyświetlić ścieżkę do pliku na pasku tytułu gnome-terminalu podczas edycji pliku w Vimie.
Prostszy (i lepszy) sposób: dodaj następujący wiersz do swojego ~/.vimrc
:
set title
Który pokaże Ci na górze:
filename.ext (~/path_to_directory_where_your_file_is/) - VIM
Bardziej skomplikowany sposób pokaże bezwzględną ścieżkę do pliku. Jest to opisane bardziej szczegółowo w tym wpisie na blogu, który niedawno napisałem.
Jedynym sposobem, znalazłem, aby uzyskać pełną ścieżkę do pliku, ja pracuję w to: :echo expand('%:p')
. Jeśli chcesz, możesz ponownie zmapować ctrl + g, ale ja osobiście nie lubię zbytnio odchodzić od standardów. Zmapowałem F7 w następujący sposób:
map <F7> <Esc>:echo expand('%:p')<Return>
:help CTRL-G
i spójrz na dwa akapity CTRL-G
z licznikiem.
1 CTRL-G
pokazuje pełną nazwę pliku. Szukałem tej opcji.
~
.
Jeśli używasz vim-airline , wpisz .vimrc
:
let g:airline_section_c = '%<%F%m %#__accent_red#%{airline#util#wrap(airline#parts#readonly(),0)}%#__restore__#'
Jest to modyfikacja domyślnego ustawienia linii lotniczej, zmieniająca się %f
o %F
.
Myślę, że linia statusu jest bardzo potężna i przydatna. Strait po wyjęciu z pudełka wyświetli nazwę pliku, pozycję kursora i niektóre flagi. Ale chcesz zrobić to samo co ja i zastąpić nazwę pliku -part pełną ścieżką do pliku.
Więc podczas edytowania mojej linii .vimrc
statusu może domyślnie wyglądać mniej więcej tak:
.vimrc 26,16 7%
Możesz zobaczyć swoje ustawienie linii statusu za pomocą:
:set statusline?
Ale jeśli nie wprowadziłeś żadnych zmian i żaden moduł go nie zmienił, byłby pusty. Ale na podstawie przykładów w sekcji pomocy ( :help statusline
) możesz stwierdzić, że wartość domyślna to:
:set statusline=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P
Więc uwzględnij to w swoim .vimrc
i zmień %f
na %F
. Dodałem również flagę filetype ( %y
) do mojej linii statusu, ponieważ uważam to za wygodne. Tak więc moja wynikowa konfiguracja wygląda następująco:
:set statusline=%<%F\ %h%m%r%y%=%-14.(%l,%c%V%)\ %P
Wynik wyglądałby mniej więcej tak:
~/.vimrc [vim] 26,16 7%
Dobre czytanie:
PS. Uruchamiam vim 7.3
Jeśli chcesz, aby ścieżka zawierała rozwiązane łącza symboliczne, użyj następujących poleceń:
set statusline +=%{resolve(expand('%:p'))}\ %*
Aby zachować skrót „~” dla katalogu domowego, dołącz fnamemodify
set statusline +=%{fnamemodify(resolve(expand('%:p')),':~')}\ %*
set statusline+=%F
do moich~/.vimrc
nie wydaje się robić tego, co mówisz. Chociaż wydaje się, że