Chciałbym móc zobaczyć lokalizację katalogu nadrzędnego bieżącego pliku, niezależnie od bieżącej nazwy bufora.
mode-line
directories
secondplanet
źródło
źródło
Odpowiedzi:
Możesz skonfigurować format linii trybu, jak chcesz. Jeśli chcesz pokazać katalog nadrzędny wraz z nazwą bufora (która jest zwykle nazwą pliku, dla bufora, który odwiedza plik), zmodyfikuj
mode-line-buffer-identification
; w przeciwnym razie dodaj wpis domode-line-format
. Nie ma wbudowanej konstrukcji dla „katalogu nadrzędnego bieżącego pliku”, więc musisz to zbudować samodzielnie , na przykład za pomocą:eval
. Oto przykład, który dodaje nazwę katalogu po nazwie bufora i nie robi nic w buforach, które nie odwiedzają plików (w tym Dired); możesz zawęzić formatowanie.Inną metodą byłoby ustawienie zmiennej zawierającej żądany tekst
find-file-hooks
. Pokazuję też, jak ustawić właściwości za pomocą:propertize
konstrukcji.Jeśli naprawdę chciałeś mieć nazwę katalogu na wypadek, gdybyś miał wiele plików o tej samej nazwie w różnych katalogach, Emacs ma to wbudowane, z biblioteką unikatową . Gdyby istniało wiele buforów o tej samej nazwie, ta biblioteka powoduje, że nazwa bufora wygląda
file.ext<foo>
ifile.ext<bar>
zamiastfile.ext
ifile.ext<2>
. Możesz dostosować format, dostosowującuniquify-buffer-name-style
.źródło
Zakładam, że masz na myśli, że chcesz zobaczyć katalog zamiast nazwy bufora.
Lub jeśli chcesz, aby Twój katalog domowy był skracany do
~/
(zamiast bezwzględnej nazwy pliku, z katalogu głównego), to:Lub jeśli chcesz tylko nazwę katalogu nadrzędnego, jako nazwę pojedynczego elementu katalogu, to:
Lub jeśli chcesz zachować również nazwę bufora, jak zakłada @Malabarba, to:
Chodzi o to, że wystarczy użyć wartości
default-directory
(ewentualnie uproszczonej z bezwzględnej nazwy, jeśli chcesz) wmode-line-buffer-identification
. Możesz ustawić tę zmienną tylko na nazwę katalogu lub możesz ustawić wartość, która zachowuje również nazwę bufora.Jeśli potrzebujesz tylko tego, o co prosisz, możesz łatwo skonfigurować linię trybu tak, aby zawierała
default-directory
, niezależnie od tego , jak chcesz. Nie trzeba w tym celu ładować wielu bibliotek (co sięsmart-mode-line
dzieje).źródło
Instalujesz za pomocą linii trybu inteligentnego . Jest skonfigurowany do wyświetlania ścieżki pliku w wierszu trybu, ilekroć jest to istotne.
Wystarczy zainstalować, a następnie włączyć za pomocą
(sml/setup)
.Ma również wiele funkcji, dzięki którym wyświetlanie jest bardziej zwięzłe. Na przykład „~ / .emacs.d /” zostaje zastąpione przez „: ED:” (i można skonfigurować dalsze zamiany).
źródło