美文网首页
读书笔记-学习GNU Emacs-3终篇

读书笔记-学习GNU Emacs-3终篇

作者: 余很多之很多code | 来源:发表于2022-11-18 11:39 被阅读0次

    学习本书目的:

    emacs的学习一直是陆陆续续看博客和上手实践,
    这次想通过阅读"学习GNU Emacs"这本书好好系统的再复习下emacs。

    yps:读技术书应该是带着一定的目的去读的,最简单的目的可能就是为了学好某一项技术或者复习下某一项技术。

    对Emacs进行定制

    通过.emacs文件进行定制
    当我们如果.emacs配置错误,通过emacs -q 启动emacs就不会读取.emacs文件配置

    yps: 我个人使用vim编辑修改哈

    键盘的定制

    (define-key keymap 'keystroke 'command-name)
    (global-set-key "keystroke" 'command-name)
    (local-set-key "keystroke" 'command-name)
    
    • define-key 最通用,可以绑定任何一个键位映射图里的按键
    • global-set-key 只能绑定全局键位映射图里的按键,因为global-map只有一个
    • local-set-key 绑定当前编辑缓冲区局部键位映射图里的按键,临时性定义。
    • C-x C-e 重新生效配置

    程序员的Emacs

    • ESC ; 注释
    • ESC x kill-comment 删除注释

    .c,.h后缀文件 主动进入C语言编辑模式,
    如果别的后缀也想进入c语言模式:ESC x c-mode RETURN

    C模式高级移动命令

    按键 作用
    ESC C-a 函数的开头
    ESC C-e 函数的结尾
    ESC C-h 函数整个选取为一个文本块
    ESC x c-set-style 缩进样式风格选择

    lisp模式

    • emacs-lisp-mode 编辑emacs lisp代码
    • lisp-mode 编辑其他lisp系统使用的lisp代码
    • lisp-interaction-mode 编辑和运行emacs lisp代码
    按键 作用
    ESC C-b 移动到上一个S表达式
    ESC C-f 移动到下一个S表达式
    ESC C-t 交换两个S表达式的位置
    ESC C-@ 文本块标记设置当前S表达式的末尾
    ESC C-k 删除光标后面的S表达式
    命令backward-kill-sexp 删除光标前面的S表达式

    用Lisp语言对Emacs做进一步开发

    • 整数
    • 浮点数,数学上的实数,可以用小数点和科学计数法
    • 字符,必须有一个前导的问号,比如“?a”
    • 字符串,必须放在一对双引号中间
    • 布尔值,t=真,nil=假
    • 符号,各种事物的名字,比如变量或者函数的名字。如果需要名字而不是值,名字前面加上单引号。

    函数

    • defun 本身也是一个函数,会在自己被调用时定义一个新的函数
    • let 对变量进行定义
    • message函数 %s字符串,%c字符,%d整数,%f浮点数,%e科学计数法浮点数

    建立自己的lisp开发库

    • load-path 把自己的lisp目录添加到load-path变量里
    • ESC x load-library 加载到Emacs中
    • load emacs会在启动的时候加载指定的程序包

    Emacs编辑器和X窗口系统

    按键 作用
    C-x 5 f 访问另一窗格里的某个文件
    C-x 5 d 另一个窗格里运行Dired模式
    C-x 5 0 删除当前窗格
    C-x 5 b 切换窗格

    Emacs下的版本控制

    yups: 现在基本都用git做版本控制,cvs等就忽略了。

    在线帮助

    Emacs的在线帮助功能是最全面的。
    Emacs在线帮助功能:

    • 主动补足功能,Emacs能帮助完成名称的输入工作。
    • 帮助键(C-h),查看关于各种问题的帮助。
    • 针对复杂命令的帮助功能, 比如query-replace和dired等命令。

    Emacs的自动补足功能

    只需输入一个“最短无二义前缀",剩余的Emacs来补足。
    包括:

    • 命令
    • 某给定目录里的文件
    • 编辑缓存区
    • Emacs变量

    如果想让Emacs来帮助补足: TAB、SPACE、?

    帮助命令

    • C-h C-h 帮助命令手册
    • C-h l 最近输入的100个字符
    • C-h f 函数的作用是什么
    • C-h c 按键组合将运行那个命令
    • C-h v 这个变量的含义,他有哪些可能值
    • C-h m 当前缓冲区编辑模式的有关资料
    • C-h b 这个编辑缓冲区都有哪些按键绑定
    • C-h s 这个编辑缓冲区使用的是哪个语法表
    • C-h a 查找和回答

    读书总结

    终于读完了这本书,跳过了一些淘汰的内容和不适合自己的一些章节。
    总体这本书还是非常值得一读,作者描述得很细致很细心,适合初学者入门。
    而且关于emacs的书寥寥无几,真的是现在的人都不太用Emacs了?但是我很喜欢,当然我也会选择的用,而不是all in emacs。
    最后推荐指数:4颗星。如果内容与时俱进更新一番,那就是4星半了。

    相关文章

      网友评论

          本文标题:读书笔记-学习GNU Emacs-3终篇

          本文链接:https://www.haomeiwen.com/subject/uowmxdtx.html