4

Я знаю, что для этого существует ярлык, но мне бы хотелось, чтобы домашний ключ отображался на начало строки, а не на начало буфера.

Я попытался поместить это в мой файл ~/.emacs, но кажется, что он все еще как-то перезаписывается:

(global-set-key [kp-home]  'beginning-of-line) ; [Home]
(global-set-key [home]     'beginning-of-line) ; [Home]

На этом замечании, если кто-то знает, где установлены стандартные сочетания клавиш при использовании emacs во FreeBSD, я мог бы изменить этот файл, если он переопределяет мой .emacs.

РЕДАКТИРОВАТЬ: я использую FreeBSD 8.2 и доступ к нему через SSH/PuTTY.

Это мой полный файл .emacs (ничего особенного, как вы можете видеть):

(keyboard-translate ?\C-h ?\C-?)

(add-to-list 'load-path "/home/sam/programs/go/go/misc/emacs/" t)
(require 'go-mode-load)

(global-set-key [kp-home]  'beginning-of-line) ; [Home]
(global-set-key [home]     'beginning-of-line) ; [Home]

3 ответа3

3

Попробуйте это:

(global-set-key (kbd "<home>") 'move-beginning-of-line)
1

Вы можете использовать ключ умного дома, как в: https://stackoverflow.com/questions/145291/smart-home-in-emacs/

Полный код:

(defun my-smart-beginning-of-line ()
  "Move point to beginning-of-line. If repeat command it cycle
position between `back-to-indentation' and `beginning-of-line'."
  (interactive "^")
  (if (and (eq last-command 'my-smart-beginning-of-line)
           (= (line-beginning-position) (point)))
      (back-to-indentation)
    (beginning-of-line)))

(global-set-key [home]     'my-smart-beginning-of-line)
1

Я использую:

(define-key global-map [home] 'beginning-of-line)

Похоже, ваш путь тоже должен работать. Еще одно предложение, чтобы помочь вам отладить проблему. Нажмите Ch k [home], и он должен показать вам, с чем связан дом, и это также может дать подсказку, что его настраивает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .