Jak mogę to zrobić, aby po naciśnięciu przycisku C-xC-bdostępu do listy buforów automatycznie ustawiał się bufor, zamiast konieczności przełączania się na niego ręcznie za pomocą C-xo? Nie mogę znaleźć zmiennej, która to dostosuje.
Jak mogę to zrobić, aby po naciśnięciu przycisku C-xC-bdostępu do listy buforów automatycznie ustawiał się bufor, zamiast konieczności przełączania się na niego ręcznie za pomocą C-xo? Nie mogę znaleźć zmiennej, która to dostosuje.
Odpowiedzi:
Możesz zamienić list-buffersuruchamiane C-x C-bpolecenie na funkcję, która robi to, co chcesz. W takim przypadku buffer-menu-other-windowotwiera listę buforów w innym oknie z fokusem. Dodanie następującego fragmentu kodu do pliku init powinno zostać ponownie przypisane C-x C-bdo nowej funkcji.
(define-key global-map [remap list-buffers] 'buffer-menu-other-window)
Tutaj global-mapreprezentuje mapę klawiszy, w której C-x C-bjest powiązane polecenie, list-buffersoryginalne polecenie i buffer-menu-other-windownowe polecenie.
buffer-menu, jeśli nie chcesz używać innego okna.
global-set-keyrównież: (global-set-key [remap list-buffers] #'buffer-menu-other-window). global-set-keyjest jedynie cienkim opakowaniem define-key.
Alternatywą jest przejście na ibuffer, który nie dzieli tego problemu.
ibuffer jest częścią GNU Emacs, więc w najnowszych wersjach Emacsa powinieneś tylko dodać
(global-set-key (kbd "C-x C-b") 'ibuffer)
do twojego pliku init.