Experimente:
(global-set-key (kbd "<home>") 'move-beginning-of-line)
Eu sei que há um atalho existente para fazer isso, mas gostaria de ter a chave inicial mapeada para o início de linha em vez de início de buffer.
Eu tentei colocar isso no meu arquivo ~ / .emacs, mas parece que ainda está sendo sobrescrito de alguma forma:
(global-set-key [kp-home] 'beginning-of-line) ; [Home]
(global-set-key [home] 'beginning-of-line) ; [Home]
Na mesma nota, se alguém souber onde os atalhos de teclado padrão são definidos ao usar o emacs no FreeBSD, eu poderei modificar esse arquivo se ele estiver substituindo meus .emacs.
EDIT: Estou usando o FreeBSD 8.2 e acessando-o através do SSH / PuTTY.
Este é o meu arquivo .emacs completo (nada muito louco, como você pode ver):
(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]
Eu uso:
(define-key global-map [home] 'beginning-of-line)
Seu jeito parece que também deve funcionar. Outra sugestão para ajudar você a depurar o problema. Hit C -h k [home] e deve mostrar-lhe a que casa está vinculado e que também pode dar uma pista do que está definindo.
Você pode usar a chave inicial inteligente, como em: link
código completo:
(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)