看了《黑客与画家》,着了魔一样,想看看Lisp有多强,平时没有可以接触到的Lisp编程任务,那就试试用Lisp开发的神的编辑器吧。
$ brew install emacs --with-cocoa
然后在终端输入:
$ emacs
是不是很烦,为啥老是弹出GUI模式的,我明明想要的是Terminal模式,所以你需要下面的命令:
$ emacs -nw
然后就正式和emacs见面了,如下:
Welcome to GNU Emacs, a part of the GNU operating system.
Get help C-h (Hold down CTRL and press h)
Emacs manual C-h r Browse manuals C-h i
Emacs tutorial C-h t Undo changes C-x u
Buy manuals C-h RET Exit Emacs C-x C-c
Activate menubar M-`
(‘C-’ means use the CTRL key. ‘M-’ means use the Meta (or Alt) key.
If you have no Meta key, you may instead type ESC followed by the character.)
Useful tasks:
Visit New File Open Home Directory
Customize Startup Open *scratch* buffer
GNU Emacs 26.1 (build 1, x86_64-apple-darwin17.7.0, NS appkit-1561.60 Version 10.13.6 (Build 17G65))
of 2018-09-06
Copyright (C) 2018 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY; type C-h C-w for full details.
Emacs is Free Software--Free as in Freedom--so you can redistribute copies
of Emacs and modify it; type C-h C-c to see the conditions.
Type C-h C-o for information on getting the latest version.
其中很明显有一行C-h t
, 这个就是入门Emacs的绝佳文章,文章很短,1066行左右,适合像我这种耐性没那么强的人看。文章虽短,但是足够精悍。边看边实践边进行整理。类比在VIM中的快捷键,学起来也没那么累了。整体的过程确实会有一点枯燥,但相信坚持下去,就会有所收获。下面是我总结的一些快捷键,说来惭愧,这篇快捷键总结是用VIM一个字母一个字母敲出来的。
退出C-x C-c
向下滚一屏C-v
向上滚一屏Esc-V
重绘屏幕,光标置中C-l
行移动:
向上C-p
向下C-n
行首C-a
行尾C-e
字符移动:
向左C-b
向右C-f
句移动:
下一句Esc-f
上一句Esc-b
文首文尾:
文首 M-<
文尾 M->
重复命令:
C-u Number C-f 向后Number个字符
取消命令
C-g #(还可以取消按下了ESC键, 更正确的取消ESC的做法是连续按两次ESC键)
关掉多余window
C-x 1 #保留光标所在的window,关掉其他
插入与删除
普通插入:正常输入
重复插入:C-u Number Character 在光标处添加Number个Character
删除光标处字符:C-d
删除光标前字符:<DEL>键,也就是fn-backspace
删除块:Ctrl+Shift+2下面会出现markset标记,然后将光标移动到要删除的地方,按下C-w即可删除
删除行:C-k第一次会移除本行所有内容,第二次会移除本行的换行字符; C-u Number C-k 移除光标所在行往下Number行以及期间的换行符
撤销
Undo命令很实用C-/ 或者C-_ 或者 C-x u
字符替换
M-x repl s<Return>replace string<Return>new string<Return>
自动恢复
emacs会自动以#文件名#来备份源文件,即使不正常退出。重新打开原文件,输入M-x recover file <Return>
搜索
向后搜索C-s, 要跳转到下一个位置,连续按C-s即可, 按<Return>结束搜索
向前搜索C-r, 类似于C-s。
分栏
横向C-x 2 横向切分出上下两个栏,C-x o 切换到other栏上
纵向C-x 3 纵向切分除左右两个栏,C-x 0 切换到other栏上
查看帮助文档
C-h c C-p 就会在最下面显示C-p命令的简要的描述信息
C-h c C-k 分栏显示具体的C-p详细描述信息
---
Edited by Vi IMproved 8.0
end。
网友评论