Saya ingin dapat melihat lokasi direktori induk file saat ini, terlepas dari nama buffer saat ini.
mode-line
directories
rencana kedua
sumber
sumber
Jawaban:
Anda dapat mengonfigurasi format garis mode sesuai keinginan. Jika Anda ingin menampilkan direktori induk bersama dengan nama buffer (yang biasanya merupakan nama file, untuk buffer yang mengunjungi file), ubah
mode-line-buffer-identification
; jika tidak, tambahkan entri kemode-line-format
. Tidak ada konstruksi bawaan untuk "direktori induk dari file saat ini", jadi Anda harus membuatnya sendiri , misalnya dengan:eval
. Berikut adalah contoh yang menambahkan nama direktori setelah nama buffer, dan tidak melakukan apa pun dalam buffer yang tidak mengunjungi file (termasuk Dired); Anda mungkin ingin memperbaikinya dengan format.Metode lain adalah mengatur variabel yang berisi teks yang Anda inginkan
find-file-hooks
. Saya juga menunjukkan bagaimana Anda dapat mengatur properti dengan:propertize
konstruk.Jika yang Anda inginkan adalah memiliki nama direktori seandainya Anda memiliki banyak file dengan nama yang sama di direktori yang berbeda, Emacs memiliki built in ini, dengan pustaka uniquify . Ketika akan ada beberapa buffer dengan nama yang sama, pustaka ini menyebabkan nama buffer terlihat seperti
file.ext<foo>
danfile.ext<bar>
bukannyafile.ext
danfile.ext<2>
. Anda dapat menyempurnakan format dengan menyesuaikanuniquify-buffer-name-style
.sumber
Saya berasumsi maksud Anda bahwa Anda ingin melihat direktori alih-alih nama buffer.
Atau jika Anda ingin direktori home Anda disingkat
~/
(alih-alih nama file absolut, dari root), maka:Atau jika Anda hanya ingin nama direktori induk, sebagai nama komponen-direktori tunggal, maka:
Atau jika Anda ingin menyimpan juga nama buffer, seperti anggapan @Malabarba, maka:
Intinya adalah bahwa Anda hanya perlu menggunakan nilai
default-directory
(mungkin disederhanakan dari nama absolut, jika Anda mau) dimode-line-buffer-identification
. Anda bisa mengatur variabel itu hanya nama direktori, atau Anda bisa mengaturnya ke nilai yang menyimpan juga nama buffer.Jika yang Anda tanyakan adalah yang Anda inginkan, mudah untuk mengkonfigurasi garis mode untuk memasukkan
default-directory
, namun Anda ingin itu muncul. Tidak perlu memuat banyak pustaka untuk ini (yangsmart-mode-line
artinya).sumber
Anda menginstal menggunakan smart-mode-line . Ini dikonfigurasi untuk menampilkan jalur file di mode-line, kapan pun itu relevan.
Cukup instal, lalu hidupkan dengan
(sml/setup)
.Ini juga memiliki banyak fitur untuk membuat tampilan yang lebih ringkas. Misalnya, “~ / .emacs.d /” diganti dengan “: ED:” (dan Anda dapat mengonfigurasi penggantian lebih lanjut).
sumber