emacs第二天
setq 和setq-default的区别
cursor-type是一个buffer local 变量 在每一份buffer中都有一份值
如果变量是buffer local 里面的变量 setq-default 对全局都有效 而setq
只对当前buffer有效
如果不是这个类型 这二者没有区别
禁止备份文件 尤其是已经用 GitHub管理的目录
(setq make-backup-files nil)
左 右边分屏C-x 3 上下分屏 C-x 2
如果想要在org-mode BEGIN_SRC里面有语法高亮
只是里面没法语法高亮的在这个里面
#+BEGIN_SRC emacs-lisp
(setq make-backup-files nil)
#+END_SRC
C-c ' (过去和回来) 进入另一个buffer 也可以通过这个键回来
让上面注释里面关键字有高亮 在配置文件中加入
(require 'org)
(setq org-src-fontify-natively t) 如果不管用 需要重新启动
C-x 3 右边分屏
C-x 2 下面分屏
激活recentf-mode
M-x recentf-mode 开启最近打开文件模式
(require 'recentf) 引入这个文件 使用 C-h f 打开 使用 C-h f 打开 看到require的定义
(recentf-mode 1) 开启 1和 t 是一样的
(setq recentf-max-menu-items 25) 文件最大保存个数
(global-set-key "\C-x\ \C-r" 'recentf-open-files) 定义快捷键
M-x eval-buffer 执行整个buffer文件
C-x C-e === eval-last-sexp 执行当前语句
应该开启 缩进 注释的时候 使用 两个 ;; 就不会乱缩进了
会自动帮你缩进
(delete-selection-mode t) 鼠标双击选中一个单词 再次输入就会替换
#+BEGIN_SRC emacs-lisp 快捷键 <s table键
(setq initial-frame-alist (quote ((fullscreen . maximized)))) 默认打开的时候全屏
如果少了括号 后面的配置都不会生效
为了避免每次都开启括号匹配 (在菜单栏里面有 option --> match -parents 但是每次重启之后就没有了)
(add-hook 'emacs-lisp-mode-hook 'show-paren-mode) 添加钩子 只要是 emacs-lisp 这个 major mode 就会添加 show-parent-mode 这个 minor mode
激活了 major自后就会自动添加所有的钩子 只会对这个major mode有用
但是放在文字中间不会显示 两边的括号
(global-hl-line-mode t) 当前行高亮
添加包源 melpa.org/# 去掉 (package-initialize)
(when (>= emacs-major-version 24) 判断版本
(require 'package)
(package-initialize) 这里会初始化源
(add-to-list 'package-archives '("malpa" . "http://melpa.org/packages/") t))
(require 'cl) 引入 clisp
(defvar wanglei/packages '( 定义 变量
company
monokai-theme 要安装的包都放在这里 这里的名字要和melpa里面的名字要一致
) "Default packages")
(defun wanglei/package-installed-p() 判断是否全部安装
(loop for pkg in wanglei/packages
when (not (package-installed-p pkg)) do (return nil)
finally (return t)))
(unless (wanglei/package-installed-p) 如果没有就安装这个 包管理下面的 包
(message "%s" "refreshing package database ...")
(package-refresh-contents)
(dolist (pkg wanglei/packages)
(when (not (package-installed-p pkg))
(package-install pkg)))) 这是手动安装 未安装的包 的敌方
安装一个主体 monokai-theme
加载 M-x load-theme 这是启动之后输入主题的名字 monokai
在配置文件中加入 (load-theme 'monokai t) 就自动加载
安装 hungry-delete 一次删除多个空格
(require 'hungrey-delete)
(global-hungry-delete-mode)
M-x package-lisp-packages 显示所有的包 C-s 搜索 / 搜索下一个
i 添加 u 取消
已经安装的 D 删除 但是要按 x 才真正删除 U 更新 对应的都是 GitHub上面最新的
不要经常更新 否则配置文件可能不兼容
Getting start 安装最新版的
将原来的替换成稳定版 的 Windows上面可能 使用 https不行 自行去掉
(add-to-list 'package-archives
'("melpa-stable" . "https://stable.melpa.org/packages/") t)
安装稳定版本的 x 执行
M-x package-autoremove 删除旧的
将配置文件中最后的 '(package-selected-packages (quote (monokai-theme company hungry-delete))) 删除
在前面添加 (setq package-selected-packages wanglei/packages) 就不会使用 package-autoremove 时删除 包了
在Windows上面删除 (custom-safe-themes ....) 里面的配置
配置 smex 提升 M-x 的使用 有了counsel 这个 没有用了
和 ivy mode
(require 'smex) 配置
(smex-initialize)
(global-set-key (kbd "M-x") 'smex) 将 M-x 绑定到 smex上
(global-set-key (kbd "M-X") 'smex-major-mode-commands)
(global-set-key (kbd "C-c C-c M-x") 'execute-extended-command) 将原来绑定的 M-x 重新当丁
可以使用 C-s 在新的M-x里面切换
安装 swiper (用于增加 C-s 搜索功能)
还需 counsel C-s 补全 C-x b 最近打开的
定义package configure
M-x coustomize group 相当于定义 setq 设置变量
smartparens 自动补全括号
序号修正 org-mode
M 回车 自动修复序号
或者 ** headings 新建一个这样的标题也可以这样使用
js 的插件
js2-mode
(setq auto-mode-alist
(append
;;'(("CMakelLists\\.txt\\'" . cmake-mode))
'(("\\.js\\'" . js2-mode)) 所有以 .js结尾的文件 都用 js2-mode来打开
auto-mode-alist))
M-x node-repl 安装nodejs-repl
mac上面 要安装 exec-path-from-shell Windows上面不用
nodejs-send-buffer
注意:在windows上面需要先运行nodejs-repl 然后运行 comint-mode 如果直接在交互式环境输入字符,Emacs会卡住。
agenda file
C-c C-s / C-d
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律