'other-window);F8窗口间跳转 (global-set-key [(f2)] 'ansi-term);F2 切换到shell模式 ;(global-set-key [f3] 'split-window-vertically...") (require 'xcscope) ;;加载xcscope ;;导入cedet (load-file "~/dos/emacs/cedet-1.0pre4/common/cedet.el...") ;(add-to-list 'load-path "~/dos/emacs/cedet-1.0pre4/common/cedet.el") (require 'cedet) ;;加载cedet (...beginning-of-line);光标移动到行首 (push-mark);做个标记 (beginning-of-line 2);移动到下一行行首 (kill-region (point) (mark)));光标和标记之间的删掉...(defun my-c++-mode-hook() ; (setq tab-width 4 indent-tabs-mode nil) ; (c-set-style "stroustrup") ;;
,LISP 编程语族已经演变出许多种方言,现代最著名的通用编程语种是 Common Lisp 和 Scheme , 以上解释来自 WIKI Emacs Lisp 是 Lisp 的一个分支 Emacs Lisp...;; 状态行下面的那行,叫做辅助输入区(minibuffer),该minibuffer用于显示计算结果,以及和用户做交互。...;; ;; ;; 如何切换Emacs的工作模式 ;; Emacs有各种各样功能各异的模式,工作模式的含义其实就是Emacs对当前的文本编辑工作 ;; 更加的敏感,比如高亮和缩进,并且支持一些特殊的命令...== 表达式,变量和函数 == ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; 冒号在Lisp...(boldify-names) == 帮助和参考== ;; 在Emacs中我们可以通过如下的方式得到变量和函数的帮助信息 ;; C-h v a-variable RET ;; C-h f a-function
与 flush-lines 命令类似,但是匹配的行会作为整体加到 kill ring 中 • 新配置 kill-transform-function 字符在添加到 kill ring 中的预处理函数 •...• 新增命令 memory-report • 新增命令 submit-emacs-patch • 在没有设置 LANG 时,默认采用 UTF8 编码,之前是 ISO-8859-1 特定 mode 变更...适用于 lisp 表达式,但不是可执行的程序,比如 .dir-locals.el • transient.el[9],就是 magit 中菜单导航使用的库,我的配置[10]中大量使用。...,需开启 w32-use-native-image-API 选项才能使用 • 新增方法 w32-set-ime-open-status ,用于控制输入法切换,可以在 evil 切到 normal 模式时自动切到英文...如果遇到下面的错误 xml.c:26:10: fatal error: 'libxml/tree.h' file not found 可以在第二步下载依赖后,导出下面的环境变量即可 export CPATH
历数现代 Lisp 方言的先进性,再者我也一直有学习一门函数式编程语言的想法,看起来,Lisp 是不二之选。...在搜索网友们对此的经验之谈的时候,自然而然地,目光逐渐聚集到 Emacs 这个使用 Emacs Lisp 作为扩展语言的神的编辑器上。...文本编辑环境——Evil 从 Vim 转到 Emacs 最大的不适应就是以前那些用得飞起的编辑模式和简洁熟悉的快捷键不好使了,需要切换到频繁的 Ctrl+ Alt+ 各种组合键去,以前就听说过有 Evil...Update: 后来经验证,发现实际上是 sbcl 在安装过程中写的环境变量没有生效导致的,sbcl 在安装过程中会设置两个环境变量,新建一个 SBCL_HOME 值为 sbcl 安装路径,在 PATH...start python test.py 文件名、Buffer 和命令的渐进提示 编程环境下需要自动补全,在非编程环境下,比如切换 Buffer,打开文件,输入函数命令等,同样需要。
;; 状态行下面的那行,叫做辅助输入区(minibuffer),该minibuffer用于显示计算结果,以及和用户做交互。...;;;; ;; 如何切换Emacs的工作模式 ;; Emacs有各种各样功能各异的模式,工作模式的含义其实就是Emacs对当前的文本编辑工作;; 更加的敏感,比如高亮和缩进,并且支持一些特殊的命令。...;; 为了实验本教程中的lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下,;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果...== 表达式,变量和函数 ==;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 冒号在Lisp中表示注释...(boldify-names)== 帮助和参考==;; 在Emacs中我们可以通过如下的方式得到变量和函数的帮助信息;; C-h v a-variable RET;; C-h f a-function
我在转向emacs之前,是一名忠实的vim党,从大学开始就不断折腾vim的配置,还花过一段时间专门学习了vimscript,曾经惊叹于vimscript的动态函数式风格的优美和强大。...这就不得不提起Clojure这门lisp方言,出于对lisp和函数式编程的痴迷,我选择了基于JVM的Clojure作为自己的偏好语言,而emacs天生为lisp而生。...接下来,只需要使用c-h v和c-h f查看elisp中定义的变量函数就能很快上手自行配置。...换句话说,在读取init.el的过程中,该变量不论是nil或是non-nil都不会影响package的加载和初始化。所以,这两者之间并没有矛盾。...按照惯例,我在~/.emacs.d目录下建立一个lisp目录用于存放所有自定义的模块文件,随后在init.el中加入下面这句代码,意在把lisp目录加到emacs的加载路径列表里。
这个比较小众的编程到底是什么~ ————————————————————————— LISP(全名LISt Processor,即列表处理语言),由约翰·麦卡锡在1960年左右创造的一种基于λ演算的函数式编程语言...在Unix/Linux系统中,还有一种和Emacs一起的Emacs Lisp(而Emacs正是用Lisp作为扩展语言进行功能扩展的)非常流行,并建立了自己的标准。...由于历史的原因,Lisp长期以来被认为主要用于AI领域,但Lisp并不是为AI而设计,而是一种通用的编程语言....在 Lisp 中我们习惯用原子 t 表示真,而用空表 () 表示假。...基本操作符3 eq (eq x y) 当 x 和y 的值相同或者同为空表时返回t,否则返回空表 () > (eq ‘a ‘a)t> (eq ‘a ‘b)()> (eq ‘() ‘())t 基本操作符4
我工作中倒并没有用得到 Lisp 的地方,但是最近眼前晃过的一些书,比如《计算机程序的构造和解释》、《码农》杂志第 13 期,都对这门古老的语言推崇备至,历数现代 Lisp 方言的先进性,再者我也一直有学习一门函数式编程语言的想法...在搜索网友们对此的经验之谈的时候,自然而然地,目光逐渐聚集到 Emacs 这个使用 Emacs Lisp 作为扩展语言的神的编辑器上。...目录 TOC {:toc} 文本编辑环境——Evil 从 Vim 转到 Emacs 最大的不适应就是以前那些用得飞起的编辑模式和简洁熟悉的快捷键不好使了,需要切换到频繁的 Ctrl+ Alt+ 各种组合键去...找到 slime 和 slime-company 并安装。 在 ~/.emacs 文件里加上: M-x slime 就可以进入到 REPL 进行 Common Lisp 的学习了。...start python test.py 文件名、Buffer 和命令的渐进提示 编程环境下需要自动补全,在非编程环境下,比如切换 Buffer,打开文件,输入函数命令等,同样需要。
除了最基本的圆括号()外,方括号[]与花括号{}在 Clojure 用的也比其他 Lisp 方言中多。...使用比较简单,通过 Intellj 插件管理器安装后即可使用,第一次使用时需要设置下快捷键类型 Emacs + Cider 作为一门 Lisp 方言,怎么能没有一个好的 Emacs mode 呢?...Cider 全称 The Clojure Interactive Development Environment that Rocks for Emacs 而且 Emacs 本身就是个用 Lisp 方言写的...最后还是建议初学者不要用 Emacs,学习成本太大,而且很容易就把注意力转移到编辑器的学习上,等到学习了一段时间后在尝试不迟。...nrepl Clojure 的 REPL 可以连接到远程服务器上的进程中,直接对进程中的函数或变量进行修改,这是非常便利的,对于很多运行时的错误可以采用这种方式解决,Emacs 与 Intellj 里面都提供了连接远程
multisession: 这个包提供了在不同会话间持久化变量的功能。...: 交互式命令,切换到 *scratch* buffer,可以解决误删的问题 project-list-buffers: 用于展示当前项目的 buffer xref-find-references-and-replace...: 重命名变量 xref-go-forward: 与 xref-go-back 对应,默认快捷键 C-M-, duplicate-line 和 duplicate-dwim: 复制当前行,当有 active...Emacs 可以更方便的用于脚本中。 #!/usr/bin/emacs -x 会跳过 init.el 文件,直接执行文件后面的内容,最后一个表达式为脚本的退出码。...可以通过 --init-directory 设置 user-emacs-directory 变量 .eld 结尾的文件默认用 lisp-data-mode 打开。
不少网友也表达了对 Prot 的祝贺和敬意: Prot 是我遇到过的最能言善辩、谦逊、谨慎和健康的人之一。想到他在没有任何技术背景的情况下接触 Emacs 和 Lisp 并刚刚开始贡献,这简直是疯了。...——gitrog 他在几乎没有背景的情况下拿起它(Emacs 和 Lisp)的速度是惊人的。2016 年学习 Linux/UNIX,2019 年才开始使用 Emacs。...此外,Emacs 还是自文档化的,意味着它能理解变量的值何时发生变化、并在对应的帮助缓冲区中通知用户。同理,Emacs 也能反映出各类函数的新值与当前状况的关联。...另外,我还希望能在不同上下文或界面之间建立联系:我的邮件客户端应该能跟任务调度器和文件管理器直接对话,我在编写文本时使用的配置也需要直接适用于编程界面等等。...例如,我的 Elisp 学习之路就是从编写小型函数封装开始,用于调整某些默认操作的执行方式。我想补充“move down a line”(下移一行)命令的功能,让它能支持下移特定多行。
1960年4月,麦卡锡在ACM杂志发表了一片文章《递回函数的符号表达式以及由机器运算的方式,第一部》....2 函数也是一种数据类型 在Lisp语言中,函数与整数或字符串一样,也属于数据类型的一种。它有自己的字面表示形式(literal representation),能够储存在变量中,也能当作参数传递。...3 递归 Lisp是第一种支持递归函数的高级语言。 4 变量的动态类型 在Lisp语言中,所有变量实际上都是指针,所指向的值有类型之分,而变量本身没有。...思想8和思想9,意味着你可以写出一种能够自己编程的程序。这可能听起来很怪异,但是对于Lisp语言却是再普通不过。最常用的做法就是使用宏。 术语"宏"在Lisp语言中,与其他语言中的意思不一样。...(4)清晰:纯函数(前面提到),immutable var,immutable数据结构,STM避免锁问题。不可变减少了心智的负担,降低了多线程编程的难度,纯函数也更利于测试和调试。
与大多数用户不同,嘉宾在接触 Emacs 不久即开始尝试攒写自己的配置,并陆陆续续发布了几个比较实用的包,比如 valign[1],嘉宾是如何做到的?...Expressions[8] • 15.5 Regular Expression Search[9] 这一小结介绍正则相关函数 •嘉宾对 Emacs 的主要 patch: • Improve word...,句号后两个空格 • 注释用的是 C 风格的 /* */ ,而不是 C++ 的 // • 函数名后面跟一个空格,再是括号 •读 Emacs 源码技巧 • lisp.h[12] 里面有 C 如何调用 ELisp...[11] Add filter to GDB's register buffer: https://github.com/emacs-mirror/emacs/commit/7c83e605ab84e8b62254c55f347abc8aa9c6057b...[12] lisp.h: https://github.com/emacs-mirror/emacs/blob/master/src/lisp.h [13] devel: https://lists.gnu.org
这些最早的牛人们在亚马逊神圣的代码库里只允许两种语言:C 和 Lisp。 你自己去想吧。 当然,他们所有人都使用 Emacs。靠,Eric Benson 是 XEmacs 的作者之一。...切换到 Java 编程语言就把你变成了两个程序员 —— 一个处理那些你不需要关心的东西,另一个可以集中精力在问题本身上。这是一个很震人的改变,一个你应该很快就能习惯能喜欢上的改变。...于是(1, 2, (3, 4))魔术般地变成(1, 2, 3, 4)。不是说你会想让它这样工作,而是 Larry 刚好那天在搞一个这样会更方便的问题。...可能会在一夜之间吧。 Python 本来可以统治世界,可惜它有两个致命缺陷:空格,和冷淡。 空格很简单,就是说 Python 是用缩进来表达代码块之间的嵌套。...比如,最早 Python 没有字面变量范围,但它同时也没有动态变量范围,而动态变量范围可能会有它一些问题,但它还是有用的。Python 却没有这些,只有全局的和本地(函数)的两种范围。
这些最早的牛人们在亚马逊神圣的代码库里只允许两种语言:C 和 Lisp。 你自己去想吧。 当然,他们所有人都使用 Emacs。靠,Eric Benson 是 XEmacs 的作者之一。...于是(1, 2, (3, 4))魔术般地变成(1, 2, 3, 4)。不是说你会想让它这样工作,而是 Larry 刚好那天在搞一个这样会更方便的问题。...可能会在一夜之间吧。 Python 本来可以统治世界,可惜它有两个致命缺陷:空格,和冷淡。 空格很简单,就是说 Python 是用缩进来表达代码块之间的嵌套。...比如,最早 Python 没有字面变量范围,但它同时也没有动态变量范围,而动态变量范围可能会有它一些问题,但它还是有用的。Python 却没有这些,只有全局的和本地(函数)的两种范围。...所以即使它是一个真正的 OO 系统,类甚至不能访问它们自己的动态成员变量。你必须给成员函数传“self”参数,一大堆 self 参数很快就会把你搞疯掉,即使你不在意空格问题。
以下是常用的几个命令: i 切换到输入模式,以输入字符。 x 删除当前光标所在处的字符。 : 切换到底线命令模式,以在最底一行输入命令。...XEmacs是GNU Emacs的分支,至今仍保持着相当的兼容性。 Emacs使用Emacs Lisp,这种有着极强扩展性的编程语言,从而实现了包括编程、编译乃至网络浏览等等功能的扩展。...2.3 使用方式 我我我,这个真不会,但也许你会喜欢下面几个详细介绍: {% link Emacs保姆级入门讲解, https://www.bilibili.com/video/BV19p4y1X7W3...你可以跟踪局部变量,计算缩进和操作选择来选择语法节点。它足够强大,即使有语法错误也能产生结果。 Helix 的主要亮点是“多重选择”,这是基于 Kakoune 的。...前提是装好rust环境和cargo包,然后按照如下顺序输入命令进行编译: git clone --recurse-submodules --shallow-submodules -j8 https://
说起物理学,在我们一般人看来是个很遥远的事情,和日常的生活关系不大,更何况是千亿光年外的宇宙呢。嘉宾为什么选择了这条方向?研究宇宙学的意义在哪里?...image.png 时间线 •00:00:49 嘉宾自我介绍 •00:01:24 Emacs 初印象 •00:06:20 为什么喜欢 Lisp •00:12:04 Emacs 除了写代码外的主要用途...Lisp 的文章:How To Become A Hacker[2] •用 Lisp 方式写 Python 的库:HPy: a better API for Python[3] •Org-roam[4...: https://zh.wikipedia.org/wiki/%E9%98%BF%E5%A1%94%E5%8D%A1%E9%A6%AC%E5%A4%A7%E5%9E%8B%E6%AF%AB%E7%B1%.../item/%E9%98%BF%E9%87%8C%E5%A4%A9%E6%96%87%E8%A7%82%E6%B5%8B%E5%9F%BA%E5%9C%B0/19412988 [10] org-elp:
笔者自使用 Emacs 以来,最离不开的功能就是在 org mode 中进行文学编程,来做快速的数据分析以及文档撰写。...(shell . t) (ditaa . t))) 我们可以注意到上面出现了 ((js . t) (java . t) (python . t) (sqlite . t) (emacs-lisp...#+RESULTS: ((js . t) (java . t) (python . t) (sqlite . t) (emacs-lisp . t) (shell . t) (ditaa . t)) 这里我们一定要注意...return 1+1 注意,如果你在阅读这篇教程的 HTML 版本,上面的代码块和结果在 org mode 中是这样的。...python :results output #+end_src #+RESULTS: C3395424-A7F4-4228-A373-25F349858A73 读者可以在附录中找到随机函数 insert-random-uuid
领取专属 10元无门槛券
手把手带您无忧上云