Eu gostaria de poder ver o local do diretório pai do arquivo atual, independentemente do nome do buffer atual.
mode-line
directories
secondplanet
fonte
fonte
Respostas:
Você pode configurar o formato da linha de modo como desejar. Se você deseja mostrar o diretório pai junto com o nome do buffer (que geralmente é o nome do arquivo, para um buffer que está visitando um arquivo), modifique
mode-line-buffer-identification
; caso contrário, adicione uma entrada amode-line-format
. Não há uma construção interna para o "diretório pai do arquivo atual", portanto, você precisará criar isso sozinho , por exemplo, com:eval
. Aqui está um exemplo que adiciona o nome do diretório após o nome do buffer e não faz nada nos buffers que não estão visitando arquivos (incluindo Dired); convém refiná-lo com formatação.Outro método seria definir uma variável contendo o texto que você deseja
find-file-hooks
. Também mostro como você pode definir propriedades com a:propertize
construção.Se o que você realmente queria era ter o nome do diretório, caso você tenha vários arquivos com o mesmo nome em diretórios diferentes, o Emacs tem isso incorporado, com a biblioteca uniquify . Quando houver vários buffers com o mesmo nome, essa biblioteca fará com que o nome do buffer seja parecido
file.ext<foo>
e, emfile.ext<bar>
vez defile.ext
efile.ext<2>
. Você pode ajustar o formato customizandouniquify-buffer-name-style
.fonte
Eu suponho que você quer dizer que deseja ver o diretório em vez do nome do buffer.
Ou se você deseja que seu diretório pessoal seja abreviado para
~/
(em vez de um nome de arquivo absoluto, a partir da raiz), então:Ou se você deseja apenas o nome do diretório pai, como um único nome de componente do diretório, então:
Ou se você deseja manter também o nome do buffer, como supõe @Malabarba, então:
O ponto é que você só precisa usar o valor de
default-directory
(possivelmente simplificado a partir de um nome absoluto, se desejar) emmode-line-buffer-identification
. Você pode definir essa variável apenas para o nome do diretório ou para um valor que também mantenha o nome do buffer.Se o que você pede é tudo o que deseja, é simples configurar a linha de modo para incluir o
default-directory
, no entanto, você deseja que ela apareça. Não há necessidade de carregar várias bibliotecas para isso (é o quesmart-mode-line
faz).fonte
Você instala o uso de linha de modo inteligente . Ele está configurado para exibir o caminho do arquivo na linha de modo, sempre que isso for relevante.
Basta instalá-lo e depois ativá-lo
(sml/setup)
.Ele também possui muitos recursos para tornar a exibição mais concisa. Por exemplo, “~ / .emacs.d /” é substituído por “: ED:” (e você pode configurar outras substituições).
fonte