-
-
Save railwaycat/3498096 to your computer and use it in GitHub Desktop.
;; Keybonds | |
(global-set-key [(hyper a)] 'mark-whole-buffer) | |
(global-set-key [(hyper v)] 'yank) | |
(global-set-key [(hyper c)] 'kill-ring-save) | |
(global-set-key [(hyper s)] 'save-buffer) | |
(global-set-key [(hyper l)] 'goto-line) | |
(global-set-key [(hyper w)] | |
(lambda () (interactive) (delete-window))) | |
(global-set-key [(hyper z)] 'undo) | |
;; mac switch meta key | |
(defun mac-switch-meta nil | |
"switch meta between Option and Command" | |
(interactive) | |
(if (eq mac-option-modifier nil) | |
(progn | |
(setq mac-option-modifier 'meta) | |
(setq mac-command-modifier 'hyper) | |
) | |
(progn | |
(setq mac-option-modifier nil) | |
(setq mac-command-modifier 'meta) | |
) | |
) | |
) |
@bartlebee I'd also love to see the ability to have left option work as meta, while right being good old option. I have so many keybindings using super...
+1 for (setq ns-right-alternate-modifier nil)
@samspo In the meantime I hard-wire those keys see https://gist.github.com/meeiw/1772649
I wanna use command+s to save file or command+q to quit emacs
Then how can I set the command key to its default role?
I set (setq mac-command-modifier nil)
It has no effect
@bartlebee tried this out and found it to be snappy. also like how text is rendered. only thing keeping me from switching full-time is the lack of right-left modifier keys... too many hypers and super keybindings with stubborn muscle memory.
nice work though a+
I've been using this for a while, so much that I forgot about the setting of mac-option-modifier and was wondering why a Service that I have enabled would not work. Would it be possible that when a Hyper key combination is not matched by emacs that it could be passed up?
@FeiSun have you found a solution? I am looking for something similar...
Not sure when/what emacs version this was added, but something like this now works:
;; Do not have emacs capture right alt/option key and command keys
(setq ns-right-command-modifier 'none) ;; original value is 'left'
(setq ns-right-alternate-modifier 'none) ;; original value is 'left'
;;(setq ns-right-option-modifier nil) ;; alias for ns-right-alternate-modifier
@idcrook I don't know about you, but for my Emacs Mac Port these ns-* commands are still not available. However, for everyone searching to get something like that to work, there exists now a mac-right-{alternate|command}-modifier
command!
I am sorry, but how do you use this?
I included the contents of the file in the beginning of this thread in my setup but I still can't have them swapped.
I am on Catalina by the way. I am also using terminal mode (emacs -nw)
@hisnawi This setup does not work for emacs -nw
, since it is your terminal emulator(iTerm2, Terminal.app etc) who controls the cmd and option key behavior.
@bartebee Thank you for your answer.