Emacs 功能键配置

Emacs 和 Vim 最大的就是快捷键的体系不同,在 Emacs 中,快捷键要有对应的控制键配合,才能正常使用,比如打开 Agenda C-c a 一般指的是 Ctrl + c a 而在 Emacs 中,使用的控制键主要有以下几种:

s- : supper
S- : Shift
M- : Meta / Alt
C- : Ctrl
H- : Hyper

其中 Ctrl、Meta/Alt、Shift这几种快捷键比较常见,但是 supper 这个键就比较少见了,而且在键盘上,一般也看不到,所以我们在配置的时候,需要在配置中声明这几个键被绑定在哪些键上。

如果是在 /Windows/ 系统下需要增加如下的配置:

(setq w32-lwindow-modifier 'supper
    w32-apps-modifier 'hyper)

但是如果使用的是 /Mac/ 系统的话要增加如下配置:

(setq mac-command-modifier 'meta
  mac-option-modifier 'super
  mac-control-modifier 'control
  ns-function-modifier 'hyper)

但是这样的情况又有另外一个问题,需要在特定的系统中使用,所以我们要在对应的配置上增加上对系统的判断,绑定的方案如下:

(when sys/winntp
  ;; 经过测试,在 windows 下,window 键是不能修改的
  (setq ;;w32-lwindow-modifier 'supper
        w32-apps-modifier 'hyper)
  (w32-register-hot-key [s-t]))

(when sys/macp
  (setq mac-command-modifier 'meta
        mac-option-modifier 'super
        mac-control-modifier 'control
        ns-function-modifier 'hyper))

这样我们就可以在不同的系统中正确的使用不同的功能键了。

Author
Tags
总结(3) Emacs(2) org mode(4) 年度清单(2) 读书清单(2) 电影清单(2) 电视清单(2) Python(3) 学习计划(1) 子弹笔记(1) 手帐体系(1) 时间管理(1) 时间使用效率(1) 形意拳(1) 知识管理(1) 简历(1) 技能水平(1) 生活(1) 减法生活(1) 阅读(1) 阅读分组(1) org(1) docx(1) markdown(2) cmder(1) 图床(1) jsdelivr(1) github(1) 安卓系统(1) 手动更新手机系统(1) post link(1) post path(1) hexo(2) hugo(2) GitHub Pages(1) travis(1) 自动部署博客(1) presentation(1) gcc(1) g++(1) 默认表格(1) 复杂表格(1) multimd table(1) google adsense(1) evil(1) surround(1) librime(2) emacs-rime(1) liberime(1) dot(1) graphviz(1) use-sub-superscripts(1) ditaa(1) Evil Multiple cursors(1) turn evil mode off(1) modifier keys(1) keymap(1) super(1) hyper(1) install Emacs(1) Mac OS(1) keybinds(1) clocktable(1) coding system(1) image library(1) keybind(1) spacemacs(1) org babel(1) homebrew(1) dd(1) diskutil(1) tmux(1) xcode(1) xcrun(1) node-gyp(1) tar(1) tree(1) pacman(1) plantuml(1) find(1) grep(2) du(1) apt-get(1) apt(1) regex(1) wildcard(1) zsh(1) gdb(1) lsof(1) netstat(1) rebase(2) workflow(1) 工作流(1) .gitignore(1) postbuffer(1) hung up(1) merge(1) cache(1) reset(1) Git(1) command(1) submodule(1) GitHub Pull Request(1) pr(1) Matplotlib(1) beautifusoup(1) 下载小说(1) SOLID(1) Leetcode(2) 透视表(1) read_excel()(1) pandas(1) conda(1) django(1) markdown-deux(1) mysql(1) oracle(1) 模糊查询(1) logging level(1) reflex(1) Field(1) Maven(1) Selenium(1) 下拉框(1) select into(1) insert into select(1) CAST(1) CONVERT(1) timestamp(1) concat(1) concat_ws(1) group_concat(1) union(1) grant privileges(1) 重置 root 密码(1) 报错 10060(1) 清理连接数(1) create user(1) set password(1) exists(1) in(1) markdown-it(1) emoji(1) tasks(1) valine(1) Code 504(1) Hugo(1) theme(1) substring(1) indexOf(1) RegExp(1) 定位节点(1) 正则匹配(1) async(1) 异步请求(1) css(2) layui(1) 滚动条(1) JavaScript(1)