Czy jest jakiś sposób, aby przesunąć linię trybu i minibufor z dołu na górę ekranu?
Minibufor jest objęty poprzednim pytaniem Jak wyświetlić zawartość minibufora w środku ramki emacs? , więc to pytanie dotyczy przede wszystkim linii trybu.
Właśnie upuściłem laptopa i pękłem na ekranie, więc nie widzę wiele w dolnym rzędzie.
Odpowiedzi:
Treść
mode-line
jest przechowywana w zmiennejmode-line-format
.Emacs
obsługuje także wiersz nagłówka, którego zawartość jest sterowana przez zmiennąheader-line-format
.Zasadniczo możesz użyć
aby format
header-line
był równy formatowi linii bieżącego trybu i usuńmode-line
.Edycja: Jeśli chcesz użyć tego ustawienia na stałe
w twoim pliku init (dzięki nispio za tę sugestię).
Ponieważ chcesz też,
minibuffer
aby pojawiał się u góry, ponownie połączę odpowiedź @ Malabarba na pytanie Jak wyświetlić zawartość minibufora w środku ramki emacsa? który można dostosować tak, aby pokazywał minibufor na górze. Zastanów się również nad odpowiedzią @phils na pytanie. Czy można przenieść minibufor emacsa na górę ekranu? na „starym”emacs
znaczniku w przepełnieniu stosu.O ile mi wiadomo, nie ma sposobu, aby bezpośrednio umieścić minibufor na górze. Jedynym podejściem (które jest również wykorzystywane w powyższych odpowiedziach) jest użycie drugiej ramki.
źródło
setq-default
zamiastsetq
.Twoje prawdziwe pytanie brzmi: jak sprawić, by Emacs unikał wadliwej części ekranu; linia trybu i minibufor są tylko tym, co może być nieczytelne.
Zamiast przesuwać je i pozostawiać coś innego (np. Tekst) w nieczytelnej części ekranu, bardziej czystym i ogólnym rozwiązaniem jest zmniejszanie i przesuwanie ramki Emacsa (tj. Tak zwane okno), tak aby całkowicie znajdowała się w dobrym obszarze ekran.
Jak zwykle w Emacsie, istnieją do tego specjalne narzędzia. Biblioteka Maxframe ( Github home ) została zaprojektowana tak, aby automatycznie wypełniać cały ekran ramką Emacsa, co jest przeciwieństwem tego, czego potrzebujesz, ale udostępnia użyteczną
mf-set-frame-pixel-size
funkcję, którą można wywołać z pliku init wraz ze standardowąset-frame-position
funkcją do umieszczenia twojego ramka w odpowiedniej pozycji automatycznie po otwarciu Emacsa.źródło
http://doc.endlessparentheses.com/Var%2F2C-window-width.html
po kliknięciu2C-window-width
tutaj .