Emacs way to explore https:https://cdn.v2ex.com/navatar/c52f/1bd6/254_normal.png?m=1333644112 https:https://cdn.v2ex.com/navatar/c52f/1bd6/254_large.png?m=1333644112 2025-03-21T02:25:06Z Copyright © 2010-2018, V2EX 给 org-zettel-ref-mode 添加 AI 总结功能 tag:www.v2ex.com,2025-03-21:/t/1120182 2025-03-21T08:25:06Z 2025-03-21T02:25:06Z yibie member/yibie 给 org-zettel-ref-mode 这个阅读插件添加了 AI 总结功能,效果让人满意 [技术栈] Emacs + org-mode + org-zettel-ref-mode + gptel + ollama + gemma3:14b

]]>
Emacs 30 新特性预览 tag:www.v2ex.com,2024-11-25:/t/1092342 2024-11-25T03:28:27Z 2024-11-25T05:38:54Z lcj2class member/lcj2class

https://emacs.liujiacai.net/post/046-emacs-30/

]]> 『Made with Emacs』 博客收集 tag:www.v2ex.com,2023-07-01:/t/953181 2023-07-01T00:25:50Z 2023-07-01T00:25:50Z lcj2class member/lcj2class 缘起: https://emacstalk.codeberg.page/post/035-made-with-emacs/

所以想着不如收集一下 Made with Emacs 的博客吧,具体见:

]]>
新手向问下,调试程序 tag:www.v2ex.com,2023-01-31:/t/912024 2023-01-31T11:03:48Z 2023-01-31T13:24:01Z sinboy1988 member/sinboy1988 我用的 doom emacs ,使用 lsp-java 然后在~/.doom.d/config.el 中加入了

(setq lsp-java-9-args '( "-XX:+UseParallelGC" "-XX:GCTimeRatio=4" "-XX:AdaptiveSizePolicyWeight=90" "-Dsun.zip.disableMemoryMapping=true" "-Denv=test "-Xmx8G" "-Xms1G" "-javaagent:~/.m2/m2repo/org/projectlombok/lombok/1.18.12/lombok-1.18.12.jar")) 

M-x dap-debug-edit-template 添加模板

(dap-register-debug-template "Java Run Configuration" (list :name "Debug (Launch) - Current File" :type "java" :request "launch" :args "hello" :vmArgs "-Denv=test" :jvmArgs "-Denv=test" :cwd nil :stopOnEntry :json-false :host "localhost" :request "launch" :modulePaths [] :classPaths nil :projectName "MyApp" :MainClass Hello)) 

Hello.java

 System.getProperty("env") 

M-x dap-debug ,不能获取值到 dev 的值 我想象问问是少了什么步骤吗,还是用的方法有错误?刚接触新手求教

]]>
求助, org 文件使用 emacs –script 执行 org-publish-all 的时候代码块没有高亮? tag:www.v2ex.com,2022-04-29:/t/850135 2022-04-29T14:47:09Z 2022-04-29T14:46:09Z gridsah member/gridsah 一个有点奇怪的问题。我在 emacs 里用 M-x lsz/org-export-publish Ret 执行导出的时候,代码块是可以正常高亮的。但我一旦使用 emacs --script ~/.emacs.d/lisp/script-org-export-publish.el 来导出,代码块的高亮就没了

(use-package htmlize) (use-package org :hook ('before-save . 'lsz/org-mode-hook-func-before-save) :config (setq org-startup-truncated nil) (setq org-support-shift-select t) (setq org-use-sub-superscripts '{}) (setq org-use-fast-todo-selection t) (setq org-todo-keywords '((sequence "TODO(t)" "DOING(i)" "|" "DONE(d)" "ABORT(a)"))) ) (use-package ox-html :ensure org :config (setq org-html-htmlize-output-type 'inline-css) (setq org-src-fontify-natively t) ) (defun lsz/org-export-publish() "Publish org site by publish script." (interactive) (load "~/.emacs.d/lisp/script-org-export-publish.el")) (use-package ox-publish :ensure org :config ;; (setq org-html-postamble t) ;; (setq org-html-postamble-format '(("en" ""))) (setq org-export-with-sub-superscripts '{}) (setq org-publish-project-alist (let* ((lsz/site-path "~/Documents/LSZOrgArticle/") (lsz/site-pub-path "~/Documents/LSZOrgArticlePublish/") (get-content (lambda (x) (with-temp-buffer (insert-file-contents (concat lsz/site-path x)) (buffer-string)))) (lsz/site-postamble (funcall get-content "template/postamble.html")) (lsz/site-preamble (funcall get-content "template/preamble.html")) (lsz/site-head (funcall get-content "template/head.html"))) `( ("blog" :base-directory ,(concat lsz/site-path "article/blog/") :base-extension "org" :publishing-directory ,(concat lsz/site-pub-path "article/blog/") :publishing-function org-html-publish-to-html :recursive t :headline-levels 4 :auto-sitemap t :sitemap-filename "sitemap-index.org" :sitemap-title "blog" :html-doctype "html5" :html-head ,lsz/site-head :html-preamble ,lsz/site-preamble :html-postamble ,lsz/site-postamble :htmlized-source t :with-toc t ) ("reading" :base-directory ,(concat lsz/site-path "article/reading/") :base-extension "org" :publishing-directory ,(concat lsz/site-pub-path "article/reading/") :publishing-function org-html-publish-to-html :recursive t :headline-levels 4 :auto-sitemap t :sitemap-filename "sitemap-index.org" :sitemap-title "reading" :html-doctype "html5" :html-head ,lsz/site-head :html-preamble ,lsz/site-preamble :html-postamble ,lsz/site-postamble :htmlized-source t :with-toc t ) ("wiki" :base-directory ,(concat lsz/site-path "article/wiki/") :base-extension "org" :publishing-directory ,(concat lsz/site-pub-path "article/wiki/") ;; :publishing-function org-html-publish-to-html :recursive t :headline-levels 4 :auto-sitemap t :sitemap-filename "sitemap-index.org" :sitemap-title "wiki" ;; :html-doctype "html5" :html-head ,lsz/site-head :html-preamble ,lsz/site-preamble :html-postamble ,lsz/site-postamble ;; :htmlized-source t :with-toc t ) ("site" :base-directory ,(concat lsz/site-path "article/site/") :base-extension "org" :publishing-directory ,(concat lsz/site-pub-path "article/site/") :publishing-function org-html-publish-to-html :recursive t :headline-levels 4 :html-doctype "html5" :html-head ,lsz/site-head :html-preamble ,lsz/site-preamble :html-postamble ,lsz/site-postamble :htmlized-source t :with-toc nil ) ("static" :base-directory ,(concat lsz/site-path "article_static/") :base-extension "css\\|js\\|png\\|jpg\\|gif\\|zip\\|7z\\|rar\\|pdf" :publishing-directory ,(concat lsz/site-pub-path "/article_static") :publishing-function org-publish-attachment :recursive t ) ("all" :components ("blog" "reading" "wiki" "site" "static")) )))) 

这是 ~/.emacs.d/lisp/script-org-export-publish.el

;;; need environment (package-initialize) (load "~/.emacs.d/init.el") ;;; publish file (org-publish-all) 

这是正常渲染出来的,有代码高亮的 html

<pre class="src src-python"><span style="color: #a020f0;">import</span> csv <span style="color: #a020f0;">with</span> <span style="color: #483d8b;">open</span>(<span style="color: #8b2252;">'stock.csv'</span>,<span style="color: #8b2252;">'r'</span>) <span style="color: #a020f0;">as</span> fp: <span style="color: #a0522d;">reader</span> = csv.reader(fp) <span style="color: #a0522d;">titles</span> = <span style="color: #483d8b;">next</span>(reader) <span style="color: #a020f0;">for</span> x <span style="color: #a020f0;">in</span> reader: <span style="color: #a020f0;">print</span>(x) </pre> 

这是 emacs --script 渲染出来的 html:

<pre class="src src-python"><span style="font-weight: bold;">import</span> csv <span style="font-weight: bold;">with</span> <span style="font-weight: bold;">open</span>(<span style="font-style: italic;">'stock.csv'</span>,<span style="font-style: italic;">'r'</span>) <span style="font-weight: bold;">as</span> fp: <span style="font-weight: bold; font-style: italic;">reader</span> = csv.reader(fp) <span style="font-weight: bold; font-style: italic;">titles</span> = <span style="font-weight: bold;">next</span>(reader) <span style="font-weight: bold;">for</span> x <span style="font-weight: bold;">in</span> reader: <span style="font-weight: bold;">print</span>(x) </pre> 

效果图在 https://emacs-china.org/t/org-emacs-script-org-publish-all/20782

老哥们啊,这是咋回事,该从哪下手排查问题,我 google 了几个小时完全没有头绪。

]]>
Emacs 在 Windows 下体验如何 tag:www.v2ex.com,2022-02-16:/t/834224 2022-02-16T06:08:13Z 2022-02-16T07:51:50Z pythonee member/pythonee 公司电脑预装了 Windows ,且不能改装 Linux 和虚拟机,就想问问 Windows 能达到 Linux 下的体验吗?

]]>
GPG in Emacs tag:www.v2ex.com,2021-12-03:/t/819767 2021-12-03T04:59:58Z 2021-12-03T04:59:58Z lcj2class member/lcj2class https://emacstalk.github.io/post/011/ ]]> Emacs 28 新特性介绍 tag:www.v2ex.com,2021-11-05:/t/813199 2021-11-05T01:46:10Z 2021-11-22T00:28:57Z lcj2class member/lcj2class https://emacstalk.github.io/post/009/

网络不好的可以访问下面链接:

]]>
Emacs Golang 开发环境配置 tag:www.v2ex.com,2021-08-15:/t/795959 2021-08-15T17:02:27Z 2021-08-13T17:01:27Z darksword21 member/darksword21 原文

ps: 请大家不要引发编辑器的战争,我觉得只要用的顺手,可以完成工作,大家可以自己想用什么就用什么,没有绝对的好坏之分。 第一次尝试写东西,如果有哪里有错误欢迎指出,包括病句(不要嘲讽我,rua )

Table of Contents

  1. 开启 Emacs 自带的括号匹配
  2. 安装 straight.el
  3. 设置 major-mode
  4. 代码补全、跳转
  5. 总结

使用 Emacs 开发 Golang 一段时间时间了,今天将相关配置和踩过的坑总结分享出来,本文主要介绍的并不是从零开始的配置,主要都是与 Golang 开发功能相关的配置,默认认为你已经了解如何在 Emacs 查看一些内置的函数文档,绑定快捷键等基本操作,一些基础的 Emacs 功能可以参考梦梦的 Emacs builtin modes 功能介绍

在使用任何 编辑器 /IDE 开发时,最核心的需求无非以下几点:

开启 Emacs 自带的括号匹配

Emacs 自带的 electric-pair-mode 已经足够好用,只不过默认没有开启。

(setq electric-pair-inhibit-predicate 'electric-pair-conservative-inhibit) (add-hook 'prog-mode-hook #'electric-pair-mode) 

安装 straight.el

在进行下一步配置之前,我们需要先安装 straight.el ,因为我们要用它来安装其他的第三方包。

(setq straight-check-for-modifications '(check-on-save find-when-checking)) (setq straight-vc-git-default-clone-depth 1) (setq straight-disable-native-compile (when (fboundp 'native-comp-available-p) (not (native-comp-available-p)))) (defvar bootstrap-version) (let ((bootstrap-file (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory)) (bootstrap-version 5)) (unless (file-exists-p bootstrap-file) (with-current-buffer (url-retrieve-synchronously "https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el" 'silent 'inhibit-cookies) (goto-char (point-max)) (eval-print-last-sexp))) (load bootstrap-file nil 'nomessage)) 

straight.el 在安装其他包时需要访问 github,如果你的网络不够 绿色 咳咳…

可以将安装时的 github.com 替换为 github.com.cnpmjs.org

(defun +set-github-mirror (oldfunc &rest args) (let ((url (apply oldfunc args))) (replace-regexp-in-string (rx (group "github.com")) "github.com.cnpmjs.org" url nil nil 1))) (advice-add 'straight-vc-git--encode-url :around #'+set-github-mirror) 

设置 major-mode

安装 go-mode.el ,其为我们在进行 Golang 开发时提供了相当多的常用功能。

(straight-use-package 'go-mode) 

设置缩进。

(setq-default tab-width 4 indent-tabs-mode nil) 

使用 goimports 代替 gofmt 在文件保存后自动格式化我们的代码

(setq gofmt-command "goimports") (add-hook 'before-save-hook #'gofmt-before-save) 

如果你使用的是 MacOS 系统,那么需要使用 exec-path-from-shell 让 Emacs 读取系统的环境变量,不然 Emacs 可能找不到你安装的 go

(when (eq system-type 'darwin) (straight-use-package 'exec-path-from-shell) (setq exec-path-from-shell-arguments '("-l")) (add-hook 'after-init-hook #'exec-path-from-shell-initialize) (with-eval-after-load "go-mode" (with-eval-after-load "exec-path-from-shell" (exec-path-from-shell-copy-envs '("GOPATH" "GO111MODULE" "GOPROXY"))))) 

go-mode 在格式化代码时如果发现错误会弹出一个 buffer,这会打乱我们的窗口布局,其实我们只需要简单的设置下自带的 flymake-mode 就可以方便的在错误之间跳转而不是通过一个单独的 buffer 查看。

(add-hook 'prog-mode-hook #'flymake-mode) (with-eval-after-load "flymake" (define-key flymake-mode-map (kbd "C-c C-b") 'flymake-show-diagnostics-buffer) (define-key flymake-mode-map (kbd "M-n") 'flymake-goto-next-error) (define-key flymake-mode-map (kbd "M-p") 'flymake-goto-prev-error)) 

这样就可以使用 M-nM-p 在错误之间移动,然后把 go-mode 自动弹出的这个 buffer 关掉。

(setq gofmt-show-errors nil) 

代码补全、跳转

安装 company-mode ,在补全时可以使用 C-p C-n 或者 TAB 进行选择,回车完成补全。

(straight-use-package 'company) (add-hook 'prog-mode-hook #'company-mode) (setq company-tooltip-limit 10 company-tooltip-align-annotations t company-tooltip-width-grow-only t company-abort-manual-when-too-short t company-require-match nil company-backends '(company-capf) company-tooltip-margin 0) (with-eval-after-load "company" (define-key company-active-map [tab] 'company-complete-common-or-cycle) (define-key company-active-map (kbd "TAB") 'company-complete-common-or-cycle) (define-key company-active-map (kbd "C-p") #'company-select-previous) (define-key company-active-map (kbd "C-n") #'company-select-next)) 

安装 eglot ,一个 Emacs 中轻量级的 LSP 客户端,在 go-mode 中启用。

(straight-use-package 'eglot) (add-hook 'go-mode-hook #'eglot-ensure) (setq eglot-ignored-server-capabilites '(:documentHighlightProvider) read-process-output-max (* 1024 1024)) 

eglot 使用 Emacs 内置的 project.el 管理项目,以 .git 目录作为项目的根目录,如果你的项目包含一些子项目,例如:

├── .git ├── project1 │   ├── go.mod │   └── main.go ├── project2 │   ├── go.mod │   └── main.go └── project3 ├── go.mod └── main.go 

如果你不想让 project1 中的代码出现在 project2 的补全中,或者在 project2 中查找定义时不想要 project1 中的定义出现在你的选择列表中时,则推荐使用 go.mod 所在的目录为项目的根目录,解决不同项目间的代码补全与跳转影响。

(with-eval-after-load "go-mode" (with-eval-after-load "project" (defun project-find-go-module (dir) (when-let ((root (locate-dominating-file dir "go.mod"))) (cons 'go-module root))) (cl-defmethod project-root ((project (head go-module))) (cdr project)) (add-hook 'project-find-functions #'project-find-go-module))) 

eglot 默认会使用 eldoc 显示函数等文档,但是很多时候我们不是想立即查看,为了防止文档扰乱视线,给 eldoc 设置个 delay 时间。

(setq eldoc-idle-dealy 2) 

如果你想在补全函数时带有占位符,可以对项目进行单独的配置,只需要在项目根目录的 .dir-locals.el 中添加如下代码,eglot 就会在初始化 gopls 之后修改 gopls 的配置,当然这个功能依赖 yasnippet ,所以我们也需要安装它。

(straight-use-package 'yasnippet) (add-hook 'prog-mode-hook #'yas-minor-mode) 

在项目根目录中创建 .dir-locals.el

((go-mode . ((eglot-workspace-configuration . ((:gopls . (:usePlaceholders t))))))) 

当然也可以在你的配置文件中默认开启,这样就不需要对项目单独设置。

(setq-default eglot-workspace-configuration '((gopls (usePlaceholders . t)))) 

另一个非常有用的 tip 是如果你的项目使用了 Build Constraints ,也可以针对项目单独修改 gopls 的配置使代码的补全与跳转完美的工作。

((go-mode . ((eglot-workspace-configuration . ((:gopls . (:buildFlags ["-tags=debug"]))))))) 

这里就不写出全局开启的示例了,而且这个功能一般不需要全局开启。

总结

Emacs 内置的 electric-pair-mode 帮我们实现了括号匹配,project.el 可以在项目中查找文件、字符串等( project-find-file project-search project-switch-to-buffer )。

在安装了 eglot 、company-mode 后实现了代码的补全、跳转等功能( xref-find-definitions xref-find-references ),同时 eglot 配合内置的 flymake 也为我们提供了静态检查。

当然这些插件的功能远不只这些,例如 eglot 可以帮你重命名函数或变量(同时修改其引用处的名字),company-mode 不仅可以补全代码也可以补全文件路径、代码片段,在编写 Golang 时需要用到的一些工具链是不是也可以通过 elisp 管理从而达到一个命令进行安装 /更新等。

在 Emacs 中能限制你的只有你的想象力与行动力,种种强大或实用的功能不可能在一篇文章中全部介绍,剩下的就需要你自己发现或者根据自身特定需求进行扩展了。

]]>
[Emacs Tips] 使用 Dired 快速移动文件 tag:www.v2ex.com,2021-08-08:/t/794420 2021-08-08T08:38:59Z 2021-08-08T08:38:59Z lcj2class member/lcj2class

关注 EmacsTalk 收获更多 Emacs 使用技巧

在第五期节目里推荐过 Raycast 这个神器,之前知道它可以直接执行脚本,但一直没尝试过,最近发现它提供了一个 script-commands 仓库,里面整理了一些常用的脚本,比如清空废纸篓、刷新 DNS 等,比较实用。

但这个仓库的脚本非常多,我需要的只是其中很小一部分,所以需要一种方式来便捷地在两个目录间拷贝文件(称为 src 与 dst )。

之前的话我都是在 Dired 里 mark 相关文件,然后再在 minibuffer 里找到 dst,如果 src 和 dst 离得比较远,整个过程会非常枯燥、低效,今天尝试 Google 了一下这个问题,发现一个好方式,流程如下:

  1. 打开两个 Dired 窗口,分别对应 src 目录与 dst 目录
  2. 在 src 里 mark 文件后,按 C 拷贝时,提示的目录默认就是 dst
  3. 直接回车即可复制文件

设置 (setq dired-dwim-target t) 即可使用上述功能。Emacs is amazing !

img

]]>
spacemacs 如何让当前 buffer 中的内容水平居中? tag:www.v2ex.com,2020-04-13:/t/662083 2020-04-13T12:16:49Z 2020-04-17T11:45:12Z vevlins member/vevlins 公众号里怎么直接实现 Latex 写出来的科学文章 PDF 之类的效果? tag:www.v2ex.com,2020-03-21:/t/654921 2020-03-21T11:01:04Z 2020-03-21T16:44:15Z ginjedoad member/ginjedoad 作为一个有修养的程序员,有什么好的办法,在公众号的文章做成 Latex 导出的 PDF 效果的文章呢? E = mc^2.

]]>
macOS 10.14.4 状态栏电池百分比选项回归(不好意思 以前一直都有😂) tag:www.v2ex.com,2019-03-28:/t/549716 2019-03-28T14:37:00Z 2019-03-27T20:46:30Z sandboxcn member/sandboxcn 已经设置下沉

]]>
emacs 自动安装 package 包 tag:www.v2ex.com,2019-02-11:/t/533833 2019-02-11T01:44:08Z 2019-02-17T22:36:53Z frylkrttj member/frylkrttj 下面是别人的配置,有些看不懂,请问 min-version 这个是什么啊,怎么我在 melpa 里面找不到这个包?

 (require 'package) (setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/") ("melpa" . "https://melpa.org/packages/") ("org" . "http://orgmode.org/elpa/"))) (defun require-package (package &optional min-version no-refresh) "Install given PACKAGE, optionally requiring MIN-VERSION. If NO-REFRESH is non-nil, the available package lists will not be re-downloaded in order to locate PACKAGE." (or (package-installed-p package min-version) (let* ((known (cdr (assoc package package-archive-contents))) (versions (mapcar #'package-desc-version known))) (if (cl-find-if (lambda (v) (version-list-<= min-version v)) versions) (package-install package) (if no-refresh (error "No version of %s >= %S is available" package min-version) (package-refresh-contents) (require-package package min-version t)))))) (defun maybe-require-package (package &optional min-version no-refresh) "Try to install PACKAGE, and return non-nil if successful. In the event of failure, return nil and print a warning message. Optionally require MIN-VERSION. If NO-REFRESH is non-nil, the available package lists will not be re-downloaded in order to locate PACKAGE." (condition-case err (require-package package min-version no-refresh) (error (message "Couldn't install optional package `%s': %S" package err) nil))) (setq package-enable-at-startup nil) (package-initialize) (require-package 'magit) ;;;auto install magit 
]]>
emacs 怎么控制光标 tag:www.v2ex.com,2019-02-09:/t/533554 2019-02-09T04:49:39Z 2019-02-10T06:19:21Z frylkrttj member/frylkrttj 在高亮括号下,我从 “{ ” 开始滚动屏幕想浏览至 “}”,然而光标却跟着翻页跑了,“}”还没找到“{ ”位置也跟丢了,这种情况大神是怎么解决的。

]]>
怎么知道 emacs 启用了那几个安装包? tag:www.v2ex.com,2019-01-17:/t/527797 2019-01-17T01:47:09Z 2019-01-22T19:24:03Z frylkrttj member/frylkrttj 我安装了一些软件包,也看着包教程配置了下,有些没看懂就没配置。现在想知道 emacs 是否启用了这些包怎么做? 或者说 emacs 怎么测试下我打开文件的时候,是否能自动调用我安装的包。

]]>
源更新后不能保存吗? tag:www.v2ex.com,2019-01-14:/t/526779 2019-01-14T02:33:29Z 2019-01-13T22:33:29Z frylkrttj member/frylkrttj 每次 Mx package-refresh-contents 后下次 M-x package-list-packages 再进入包列表为什么没保存上次更新的结果?这样每次安装软件包都要重复更新等好久,有办法保存上次的更新结果吗?

]]>
为什么在 Emacs 下打开 Python 文件就是显示 Tab 时 8 个字符 tag:www.v2ex.com,2018-05-06:/t/452562 2018-05-06T09:01:07Z 2018-05-06T10:17:14Z Tancred member/Tancred 这个文件在 Sublime 下显示的是 4 个字符的,到了 Emacs 下显示的不对劲。

我在 Emacs 下新建的文件,Tab 就是 4 个字符的。

在 Sublime 下打开的文件,再到 Emacs 中打开,Tab 显示出来就是 8 个字符了

]]>
Compare Doom-emacs, Spacemacs, and vanilla Emacs tag:www.v2ex.com,2018-01-26:/t/426033 2018-01-26T00:56:44Z 2018-07-27T03:39:20Z dsdshcym member/dsdshcym 最近从自己的配置迁移到了 doom-emacs,分享一下心路历程。

http://dsdshcym.github.io/blog/2018/01/22/compare-doom-emacs-spacemacs-vanilla-emacs/

]]>
Emacs 补全头文件的那个 company-c-header 有人用过吗? tag:www.v2ex.com,2018-01-13:/t/422628 2018-01-13T07:59:10Z 2018-01-13T14:36:06Z linux40 member/linux40 所以插件都装的 MELPA 上的最新版,但这个插件报错说 clang failed with error 1。

]]>
elpy 把 importmagic 给 remove 了😂 tag:www.v2ex.com,2017-12-22:/t/416752 2017-12-22T02:15:52Z 2017-12-26T14:31:08Z ycz0926 member/ycz0926 https://github.com/jorgenschaefer/elpy/issues/1230
不知道有没有替代 importmagic 的 package ? ]]>
Emacs 在 window 10 下面运行好慢呀,有没有人和我一样? tag:www.v2ex.com,2017-11-21:/t/408379 2017-11-21T13:25:58Z 2017-12-15T07:03:51Z haolly member/haolly 这啥咋滴了。。。。换了好几个版本了都是一样的卡
试过的版本:
https://github.com/vigou3/emacs-modified-windows
https://www.gnu.org/software/emacs/download.html#windows
https://ntemacs.sourceforge.io/
https://chocolatey.org/packages?q=emacs 里面的两个都试过了

是不是我电脑更新太频繁了??
我这几天刚刚更新了 win10 到 1709,build 16299 了 ]]>
emacs 的 org mode 好强大啊 tag:www.v2ex.com,2017-11-09:/t/405071 2017-11-09T12:49:19Z 2018-03-08T02:25:35Z TangMonk member/TangMonk 感觉完爆各种文档编辑器啊, 基本上可以替换掉我买的 Mweb 之类的编辑器了,不愧是神的编辑器

http://orgmode.org/features.html

]]>
HHKB Pro2 接上 U 盘后电脑提示“USB 集线器没有足够的电源” tag:www.v2ex.com,2017-10-25:/t/400753 2017-10-25T14:10:42Z 2017-10-25T16:25:05Z Tancred member/Tancred Win7 提示: “超出了 USB 集线器电源” “集线器没有足够电源,无法操作 USB 大容量存储设备”

现在有一个接口是可以用的,我接上了无线鼠标的接收器;另一个接口接 U 盘的时候就会有上面的提示……

是不是说,我这块 HHKB 键盘的那个 USB 接口坏了,请问大家知道怎么修一下嘛?还可以抢救一下不?

]]>
不谈 Spacemacs,只谈 Centaur Emacs tag:www.v2ex.com,2017-09-11:/t/389925 2017-09-11T16:27:40Z 2017-09-16T12:18:09Z seagle0128 member/seagle0128 安利一个自己的 Emacs 配置:Centaur Emacs

https://github.com/seagle0128/.emacs.d

个人不习惯 Spacemacs 的配置,喜欢纯粹的 Emacs 快捷键,追求简洁急速的编辑体验。Centaur Emacs 是一个轻量化的配置方案,能满足我日常的绝大部分需求,美观却又不那么耗费 CPU 和内存资源,启动也非常快速( 2s 以内)。喜欢的可以试用下 :)

Main

Programming

Search

Magit

]]>
在用 brew 重新安装 Emacs 时遇到的问题,如下图所示。 tag:www.v2ex.com,2017-06-24:/t/370724 2017-06-24T00:48:58Z 2017-07-04T00:50:48Z Seymer member/Seymer
Emacs-24.5 已经卸载掉了,为什么仍显示已安装?
现在是不支持预发行版了吗,怎么确定这个发行版的版本号?
如果是仅支持 24.5 或之前版本,那如何安装旧版本,谢谢!希望不吝赐教。 ]]>
emacs 的 dired 模式有快速切换目录的方案或插件么? tag:www.v2ex.com,2017-03-16:/t/348011 2017-03-16T12:03:03Z 2017-04-08T08:11:02Z ding3my member/ding3my 求普及。

]]>
用 emacs 的,小指伤不起啊 tag:www.v2ex.com,2017-03-09:/t/346066 2017-03-09T02:54:10Z 2018-01-11T12:47:00Z Crossin member/Crossin
今天开始写代码,打开 emacs 写了几行就发现影响很大啊!还能不能愉快地板砖了……

PS : ctrl 被替换到了 caps lock 上 ]]>
emacs25.1 发布了 tag:www.v2ex.com,2016-09-17:/t/306863 2016-09-17T23:44:03Z 2016-09-18T09:04:35Z megatron member/megatron http://www.gnu.org/software/emacs/ ]]> 用 Emacs 做 PostgreSQL 解释器一事不明 tag:www.v2ex.com,2016-09-05:/t/304101 2016-09-05T09:58:43Z 2016-09-05T09:55:43Z ecloud member/ecloud 看这个人家的演示很美好( SQLi 窗口里的查询结果是新起的一行显示)

然而我实验的结果却很奇葩( SQL 窗口里的命令,发送到 SQLi 窗口以后,没有新起一行显示,提示符挤占了列名的空间)

而且,为什么我的提示符跟人家的不一样?难道因为我是 root ?

qubeon=# ?column? ---------- 1 (1 row) qubeon=# select 1; ?column? ---------- 1 (1 row) 

另外一个更明显的查询结果(无论用 C-r,C-b 还是 C-c 都一个鸟样)

qubeon=# oid_user_id | user_mobile ----------------------------------+------------- c3b41eca4a0b46ba8d70de80a36eed27 | 134579003 b1e09b60d2d648a3a0f7d61a579a0a08 | 974579099 c622af97e5734c79a64fcf674a52f6c6 | 134579005 

格式全毁了啊

]]>
有没有办法在用 Emacs 的时候自动切换成英文输入法? tag:www.v2ex.com,2016-09-04:/t/303837 2016-09-04T08:40:33Z 2016-10-22T06:42:23Z y member/y melpa down tag:www.v2ex.com,2016-08-17:/t/299935 2016-08-17T08:04:02Z 2016-08-17T11:40:54Z LukeXuan member/LukeXuan 昨天 melpa down 了半天没有人说嘛 看起来 V2EX 用户不是很多

spacemacs 想装个 php layer 一直报错结果发现不是我的锅

]]>
v2ex-mode,在 emacs 下访问 V 站 tag:www.v2ex.com,2016-06-24:/t/288153 2016-06-24T14:31:09Z 2016-09-03T14:56:31Z aborn member/aborn 今天花了点时间写了一个 v2ex-mode,这样就可以在 emacs 下访问 V 站了。
项目链接: https://github.com/aborn/v2ex-mode
上图:

不过由于 V 站开放的 API 只有:最热主题最新主题
所以只能查看这两个 topic 的内容。
参考: http://v2ex.com/p/7v9TEc53

]]>
在 emacs 中有没有能直接使用 imap 协议的同时下载邮件到本地或者使用 pop3 但是不删除服务器邮件的邮件客户端? tag:www.v2ex.com,2016-05-20:/t/280074 2016-05-20T08:56:56Z 2016-05-20T09:48:56Z XiaST member/XiaST 用了一段时间的 gnus ,但是发现有上述的两个问题。有没有一个能同时在服务器上和本地都有邮件存档的方案??

]]>
GNU Emacs 的新网站 tag:www.v2ex.com,2016-05-09:/t/277308 2016-05-09T04:19:06Z 2016-05-17T11:44:29Z Livid member/Livid http://www.gnu.org/software/emacs/index.html ]]> Emacs 配合使用 ibus 输入法的一个问题 tag:www.v2ex.com,2016-05-05:/t/276612 2016-05-05T12:19:29Z 2016-05-05T12:16:29Z raawaa member/raawaa 最近不再使用 DE ,改为单独用 i3wm ,发现 Emacs 中不能输入中文了。最后查出来是 ibus-daemon 启动时必须加入 --xim 选项。于是在启动配置文件~/.xprofile中添加ibus-daemon -d -x。之后就都正常了。

]]>
Ubuntu 下使用了 GNU 的 nnimap 设置了邮箱服务器,我想知道的是接收到邮件的默认保存位置在何处,尝试寻找了一下表示根本找不到,在 home 目录下的 Mail 和 News 目录下均未找到 tag:www.v2ex.com,2016-05-04:/t/276241 2016-05-04T05:48:17Z 2016-05-04T06:45:22Z XiaST member/XiaST 关于 org-mode 8 导出 html 的一个问题 tag:www.v2ex.com,2016-04-15:/t/271387 2016-04-15T09:10:29Z 2016-04-18T05:04:02Z truehyp member/truehyp org-mode 导出为 html 要 配置 HOME 和 UP 链接内容,之前只要 #+HTML_LINK_HOME: 就可以指定 HOME 的链接地址。
我查到 org-mode 8 ,默认是不能指定绝对链接地址,所以我设置了 #+HTML-LINK-USE-ABS-URL: t ,可导出成 html 时, HOME 的链接地址还是为空。
<div id="org-div-home-and-up">
<a accesskey="H" href=""> HOME </a>

问题是不大,我之前就用脚本改下 html 文件。但总想弄好它,哪位大神知道怎么配置么? ]]>
在 emacsclient 中应用中文字体设置 tag:www.v2ex.com,2016-03-01:/t/260099 2016-03-01T02:14:22Z 2016-03-01T02:11:22Z raawaa member/raawaa daemon 模式下用emacsclient -c发现字体设置没有生效,折腾一番之后发现如下方法:

;;; 设置中文字体 (defun my-apply-font () (set-default-font "Consolas") (set-fontset-font "fontset-default" 'chinese-gbk "微软雅黑") (setq face-font-rescale-alist '(("宋体" . 1.2) ("微软雅黑" . 1.1) ))) (my-apply-font) ;;; 使字体设置应用到 client 中 (add-hook 'after-make-frame-functions (lambda (frame) (select-frame frame) (my-apply-font))) 
]]>
emacs 显示出 tab 键 tag:www.v2ex.com,2016-01-28:/t/253996 2016-01-28T06:34:19Z 2016-05-01T17:52:38Z wlwood member/wlwood emacs 该如何显示出 tab 键呢?找了貌似有个 tab-display.el 。然而,貌似下载地方都不能用了。。。。

]]>
Emacs 25.1 即将支持内嵌 webkit 浏览器 tag:www.v2ex.com,2016-01-23:/t/252788 2016-01-23T02:19:13Z 2016-01-23T08:48:51Z hick member/hick 哈哈哈, 一般自己人不说咱 Emacs 是个操作系统...

XWidget Branch has been merged into Emacs 25.1 这意味着离在 Emacs 里嵌入 webkit 浏览器不远了! 看到这个消息比较激动, 开始还怀疑是不是我理解错了, 现在的 Emacs 维护者 John Wiegley 在邮件列表有对 push 的人评论: Yes, thank you! A momentous moment! reddit 的网友评论表示以后就在 Emacs 家住了, 不走了! Emacs 内能嵌入非纯文本的浏览器并结合 Emacs lisp 的编程操控能力, 能让 Emacs 的使用提升很大的一个台阶

相关邮件列表讨论参见 http://thread.gmane.org/gmane.emacs.devel/196096/

不了解 XWidgets 意味着什么的可以看看这里 https://www.emacswiki.org/emacs/EmacsXWidgets

更多详情参见 http://mp.weixin.qq.com/s?__biz=MzAwOTIxMjg0NQ==&mid=406266766&idx=1&sn=cf6a381445deb3eb5b530f9df72ffd99&scene=0 或者这里 http://emacsist.com/10692

]]>
Emacs 分别设置中英文字体及 org-mode 表格对齐 tag:www.v2ex.com,2016-01-11:/t/249874 2016-01-11T06:20:40Z 2016-01-12T08:39:35Z raawaa member/raawaa 发现网上很多方法试下来都有很多问题,最后终于找到了个比较好的方法,贴在这里备忘:

; ~/.emacs (set-default-font "Consolas") (set-fontset-font "fontset-default" 'chinese-gbk "微软雅黑") (setq face-font-rescale-alist '(("宋体" . 1.2) ("微软雅黑" . 1.1) )) 
]]>
终于搞定了新帆新闻组 tag:www.v2ex.com,2015-12-25:/t/246035 2015-12-25T03:23:45Z 2015-12-25T03:20:45Z raawaa member/raawaa 新帆的字符编码真是挺难搞的。

emacs_gnus.png

]]>
遇到 symbol's value as variable is void tag:www.v2ex.com,2015-11-30:/t/239928 2015-11-30T02:14:33Z 2015-11-30T03:23:05Z tcstory member/tcstory 感觉很奇怪的问题,自己使用的是 el-get 来管理插件,昨晚看了一下 magit 的文档,想给 magit 设置一个快捷键,就根据文档的提示设置了(global-set-key (kbd "C-x g") ’ magit-status),结果却遇到了上面提到的问题,这到底是这么回事呢?
其实我在用 company-tern 的时候也遇到了类似的问题,然后找到资料使用下面的方法来解决了

(with-eval-after-load 'company (add-to-list 'company-backends 'company-tern)) 

我比较感觉奇怪的是,不是 el-get 帮我加载了插件了吗?为什么还会遇到这样的问题.

el-get 的配置如下

(add-to-list 'load-path "~/.emacs.d/el-get/el-get") (unless (require 'el-get nil 'noerror) (with-current-buffer (url-retrieve-synchronously "https://raw.githubusercontent.com/dimitri/el-get/master/el-get-install.el") (goto-char (point-max)) (eval-print-last-sexp))) (add-to-list 'el-get-recipe-path "~/.emacs.d/el-get-user/recipes") (el-get 'sync) 
]]>
将 Emacs 打造成阅读源代码的神器 tag:www.v2ex.com,2015-11-12:/t/235523 2015-11-12T01:41:17Z 2015-11-12T05:24:38Z hikkikuma1991 member/hikkikuma1991 Start

Emacs 是一个功能相对较多而且很复杂的 text­editor ,所以想要熟练使用必须要对 emacs 的一些基本概念进行了解,了解这些概念最好的教程就是 emacs 自带的 “ Emacs Tutorial “。可以通过点击菜单栏的 Help->Emacs Tutorial(choose language)进行学习。

将 Emacs 打造成舒适的代码阅读器

要想将 Emacs 打造成舒适的代码阅读环境除了需要 Emacs 本体之外,还需要几种插 件来帮助我们实现这个愿望。 Emacs 是一种扩展性很强的编辑器,并且定义了一种 elisp 语言来专门配置 Emacs 并开发新的功能。我们为将 emacs 打造成代码阅读器所 需要的插件主要有 CEDET , ECB 以及 CSCOPE ,下面分别介绍一下这几个插件的作用。

CEDET

cedet 是一堆完全用 elisp 实现的 emacs 工具的集合。包含了很多的功能,这个插件 的主要目的是为 Emacs 提供基础功能的支持以使其变成变成类似 Eclipse 或 VS 系列 这样的高级开发环境。

ECB

ECB 是“ Emacs Code Browser ”的简称,从其名字就可以看出这个插件的作用是将 Emacs 变成一
个代码浏览器。使用了ECB 之后的效果可见下图。
ecb

CSCOPE

Cscope 是一款开源免费的 C/C++浏览工具,自带一个基于文本的用户界面,通过 cscope 可以很方便地找到某个函数或变量的定义位置、被调用的位置等信息。 Cscope 对 C /C++支持较好,也可以自己定制来支持 Java 和 Perl 、 Python 等脚本语 言。所以 CSCOPE 是一个为代码浏览提供基础功能的程序,这个程序并不是为了 Emacs 而专门开发的,因此要想在 Emacs 上使用这个程序需要在 Emacs 中安装插件调 用 CSCOPE 提供的功能。

安装

接下来介绍这些插件的安装过程,首先 CEDET 的支持是直接包含在 emacs 中的并不 需要额外安装,因此我们只要安装 ECB 和 CSCOPE 就可以了。在介绍具体的安装过程 之前先介绍下 emacs 的插件配置过程。

Emacs 的插件配置

简单地说 Emacs 的插件配置主要有以下两步,第一步是将插件文件拷贝到 emacs 的 插件文件夹(默认是~文件夹下的.emacs.d/)中,第二部是在 emacs 的配置文件 (~下的.emacs )中描述这个插件的路径 loadpath)并启用插件。

ECB 的安装

https://github.com/alexott/ecb 下载 ecb 的 tar 文件,解压后将解压出来的文件 拷贝到.emacs.d 中并编辑 emacs 配置文件加入以下代码。注意将文件的位置改成自 己的位置。

;;将 ECB 的路径添加到读取列表中 (add­to­list 'load­path "/home/augustus/.emacs.d/ecb­master") ;;告诉 emacs 启用 ecb (require 'ecb) 

保存 emacs 配置文件并重新启动 emacs 就可以在菜单栏的 Tools­>Start Code Browser 打开 ecb了。

CSCOPE 的安装

首先要在系统上安装 CSCOPE

sudo apt­get install cscope 

然后去 CSCOPE 的官网 http://cscope.sourceforge.net/ 下载源码包,并将其中的 xcscope.el 拷贝到
loadpath 包含的目录里。并在.emacs 里面加上

;;告诉 emacs 启用 cscope (require 'xcscope) 

至此,用 emacs 来阅读 c/c++源代码所需要的工具包都安装好了,当然用 emacs 来写代码调试代码都是很方便的,也有很多相关的插件,但这已不在本文的范围之内了。

CSCOPE 使用方法

下面我们用 bitvisor 的源代码为例展示一下用这套工具阅读源码的强大之处。首先我们用配置好的 emacs 打开 vtmain.c 文件,然后在菜单栏里选择 Tools­>Start Code Browser(ECB)来开启 ECB ,也可以使用 M­x 'ecb­activate 来开启 ecb 。并且可以看到菜单栏里出现了CSCOPE 的菜单,下面我就来一一介绍下 CSCOPE 提供的 这些功能都有什么作用。

建立索引

首先 CSCOPE 对源码进行分析时需要对要分析的源码建立一个索引,否则就没办法 提供诸如代码跳转之类的功能。通过在菜单栏选择 Cscope­>Cscope Database­>Set Initial Dictionary 设置代码的初始目录,然后再选择 create list of files to index 并选择一个目录,这样 cscope 就会对该目录下的所有源 代码建立索引,也就意味着在你选择的这个目录范围之内的所有源代码都可以在你阅读和分析的时候进行变量函数等内容的跳转。

功能介绍

Find Symbol

我们以 Find Symbol 这个指令为例介绍下 CSCOPE 的使用,其他的指令和这个指令的 功能是类似的。如文字意思所述,这个指令提供的功能是在源代码中搜索一个 Symbol ,这个 Symbol 可以理解为变量,函数名称,类名等有意义的符号。通过选 中想要查找的内容然后选择这个指令就可以在所有源码中搜索选中的这个符号了。 然后就会看到下图的内容

function

CSCOPE 给出了所有包含这个 Symbol 的文件 list , 只要点击鼠标中键就可以查看对应的那行代码了。当你看完代码想要回到跳转之前的那段代码只要选择 Cscope 菜单里的 pop mark 功能就好了。类似的功能有 Find globaldefinition no prompting, Find text String, Find egrep pattern, Find a file 等,都可以通过名字来判断功能,使用方法上和 Find Symbol 是一样 的。当然如果完全用鼠标选择这些功能的话效率是非常低下的,所以我们需要快 捷键来提高我们的工作效率, Emacs 本身为这些功能定义好了一组快捷键,但是使 用起来一点都不方便,以 Find Symbol 为例他的快捷键是'C­c s s',也就是说要按下 Control+C 再按 s s 才能完成这一功能,所以我们要改造 Cscope 的快捷键。

自定义快捷键

在 emacs 里自定义快捷键是一件十分方便和快捷的事情,只要打开.emacs 文件进行 设置就可以了,这里我给出一段.emacs 中设置快捷键的代码

;;将 find­this­file 功能绑定到 Ctrl+F4 上 (define­key global­map [(control f4)] 'cscope­find­this­file) ;;将 find­this­symbol 功能绑定到 Ctrl+F5 上 (define­key global­map [(control f5)] 'cscope­find­this­symbol) (define­key global­map [(control f6)] 'cscope­find­this­text­string) (define­key global­map [(control f7)] 'cscope­find­global­definition­no­prompting) (define­key global­map [(control f8)] 'cscope­pop­mark) (define­key global­map [(control f9)] 'cscope­prev­symbol) (define­key global­map [(control f10)] 'cscope­next­symbol) (define­key global­map [(control f11)] 'cscope­prev­file) (define­key global­map [(control f12)] 'cscope­next­file) 

这样通过一番调试和适应之后就能很快的学会 Emacs 看源代码啦!

]]>
Spacemacs Rocks 视频系列 tag:www.v2ex.com,2015-11-11:/t/235282 2015-11-11T03:19:52Z 2015-11-28T11:35:22Z zilongshanren member/zilongshanren https://github.com/zilongshanren/Spacemacs-rocks/issues/5

希望看到中国有更多的人来一起学习 Emacs 。

Happy hacking ]]>
Emacs 自己已经包括了那么多按键组合,新写的函数只能绑定到 C-x 上了吗? tag:www.v2ex.com,2015-10-22:/t/230272 2015-10-22T11:20:38Z 2015-10-22T15:44:04Z lukertty member/lukertty 到处都是 non-prefix key , C-h b 就没找到空的位置,大家是怎么解决的?

]]>
在 Mac 上使用 Emacs 的 Prelude 配置,启动报错,求教 tag:www.v2ex.com,2015-10-15:/t/228235 2015-10-15T05:33:11Z 2015-10-31T10:46:39Z Feiox member/Feiox 在终端中启动报错如下:

Warning (initialization): An error occurred while loading `/Users/Feiox/.emacs.d/init.el': Symbol's function definition is void: set-fontset-font To ensure normal operation, you should investigate and remove the cause of the error in your initialization file. Start Emacs with the `--debug-init' option to view a complete error backtrace. 

在 EmacsForMac 的 App 中启动,报错:

Warning (initialization): An error occurred while loading `/Users/Feiox/.emacs.d/init.el': File error: http://melpa.org/packages/cider-20151013.1548.tar, Not found To ensure normal operation, you should investigate and remove the cause of the error in your initialization file. Start Emacs with the `--debug-init' option to view a complete error backtrace. 

这是由于什么原因呢?
P.S. 原始配置文件未改动过

]]>
Emacs 24.5 不兼容任何中文输入法 tag:www.v2ex.com,2015-09-27:/t/224090 2015-09-27T13:53:00Z 2015-12-25T22:08:27Z vitovan member/vitovan 先看这里:
https://lists.gnu.org/archive/html/bug-gnu-emacs/2015-09/msg00356.html

我自个儿试了下, iBus 或是 fcitx 在其他程序中运行都很正常,唯独 Emacs 不认。

最后只好改用 eim 。

]]>
Emacs 注释的时候代码着色有明显卡顿 tag:www.v2ex.com,2015-08-17:/t/213825 2015-08-17T08:34:18Z 2015-08-17T04:34:18Z izgzhen member/izgzhen 尤其是 C/C++,输入 /* 后要好久才能上色。删了注释也好久才能重新上色。

不知道各位有没有这种问题?原因是什么?

我用的是 os x 的 terminal

]]>
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86