我在让我安装在GNU Emacs上的文件(通过软件包归档)工作时遇到了问题。这些文件已正确安装,但似乎没有任何效果。下面是我的.emacs文件的包存档部分,它是在我安装包时自动添加的:
'(package-archives
(quote
(("gnu" . "http://elpa.gnu.org/packages/")
("melpa" . "https://stable.melpa.org/packages/"))))
'(package-enable-at-startup t)
'(package-selected-packages
(quote
(company-ycmd flycheck-irony company-rtags company-irony company-irony-c-headers dash solarized-theme))))包的信息部分中的配置部分说,例如,对于flycheck-irony,要包括:
(eval-after-load 'flycheck
'(add-hook 'flycheck-mode-hook #'flycheck-irony-setup))这在我的.emacs文件中没有出现,这让我怀疑我是否遗漏了什么。任何帮助都将不胜感激。
发布于 2017-07-15 08:24:40
package.el的主要优点是自动化了Emacs lisp包的基本安装。对于许多包,您所需要做的就是安装包。然而,对于一些包,特别是需要添加钩子到不同模式的包,或者需要用户选择高级特性或具有package.el无法预测的替代方案的特性,特别是基于用户偏好的选择,您将需要在init.el或.emacs中添加初始化代码。
我发现use-package包对于管理elisp包非常有用。
下面是我的init.el文件中要使用的use-package
(add-to-list 'package-archives `("melpa" . "https://melpa.org/packages/"))
(add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/"))
(package-initialize)
(unless (package-installed-p 'use-package)
(package-refresh-contents)
(package-install 'use-package))
(setq use-package-verbose nil)
(eval-when-compile
(require 'use-package))
(require 'diminish)
(require 'bind-key)然后,对于我需要的每个包,我都有use-package块。有些包非常简单,例如:
(use-package undo-tree
:ensure t
:diminish undo-tree-mode
:config (global-undo-tree-mode))
use-package swiper
:ensure t
:bind ("C-s". swiper)):确保键告诉use-package确保它从ELPA存储库获得这个包。还有其他的键,比如固定到特定的存储库,在加载包之前进行设置,加载包之后,添加到auto=mode- etc,绑定键,等等。
真正好的事情是,一旦您在init.el文件中定义了所有的use-package块,您就可以将该init.el文件移动到任何新机器上,并且在您第一次启动emacs时,它将自动下载您需要的所有包。use-package的另一个好处是它将设置为自动加载软件包。这可以显著加快emacs的启动时间。您还可以使用use-package来管理内置功能的配置或手动安装的elisp库。确实有助于管理您的init.el文件,并使添加/删除/调试问题变得非常容易,因为所有相关的代码都在一个地方。它也是你所需要的一样强大。这是我的组织模式配置。这不一定是一个很好的组织配置,但它确实展示了如何使用use-package进行更复杂的设置-我的组织模式是根据我的特定需求进行大量配置/定制的。
(use-package org
:pin org
:ensure org-plus-contrib
:init
(setq org-catch-invisible-edits 'smart
org-ctrl-k-protect-subtree t
org-default-notes-file "~/Dropbox/org/notes.org"
org-directory "~/Dropbox/org"
org-ellipsis "…"
org-list-allow-alphabetical t
org-list-indent-offset 2
org-pretty-entities t
org-startup-align-all-tables t
org-startup-with-inline-images (display-graphic-p)
org-support-shift-select t)
(setq org-modules '(org-bibtex
org-crypt
org-docview
org-eww
org-info
org-irc
org-protocol))
(setq org-capture-templates
(quote
(("t" "todo" entry
(file "~/Dropbox/org/refile.org")
"* TODO %?\n\n %a"
:empty-lines-after 1 :clock-in t :clock-resume t)
("r" "respond" entry
(file "~/Dropbox/org/refile.org")
"* NEXT Respond to %:from on %:subject\n SCHEDULED: %t\n %a"
:empty-lines-after 1 :clock-in t :clock-resume t)
("n" "note" entry
(file "~/Dropbox/org/notes.org")
"* %? :NOTE:\n\n %a"
:empty-lines-after 1 :clock-in t :clock-resume t)
("j" "journal" entry
(file+datetree "~/Dropbox/org/journal.org")
"* %?\n "
:empty-lines-after 1 :clock-in t :clock-resume t)
("p" "phone" entry
(file "~/Dropbox/org/refile.org")
"* PHONE %? :PHONE:\n "
:empty-lines-after 1 :clock-in t :clock-resume t)
("m" "mail" entry
(file "~/Dropbox/org/refile.org")
"* MAIL from %:from on %:subject\n\n %a"
:empty-lines-after 1 :clock-in t :clock-resume t))))
(setq org-enforce-todo-checkbox-dependencies t
org-enforce-todo-dependencies t
org-log-done 'time
org-log-into-drawer t)
(setq org-todo-keywords
(quote
((sequence "TODO(t)"
"NEXT(n)"
"STARTED(s!)"
"DELEGATED(w@/!)"
"HOLD(h@/!)"
"|"
"CANCELLED(c@)"
"DONE(d!)"))))
(setq org-log-refile 'time
org-refile-allow-creating-parent-nodes 'confirm
org-refile-targets (quote ((nil :maxlevel . 5)
(org-agenda-files :maxlevel . 5)))
org-refile-use-outline-path (quote file))
(setq org-clock-in-resume t
org-clock-out-remove-zero-time-clocks t
org-clock-persist 'clock
org-time-clocksum-format '(:hours "%d" :require-hours t
:minutes ":%02d" :require-minutes t))
(setq org-agenda-files '("~/Dropbox/org")
org-agenda-remove-tags t)
(setq org-agenda-custom-commands
(quote
(("n" "Agenda and all TODO's"
((agenda "" nil)
(alltodo "" nil))
nil)
("wr" "Weekly Report"
((todo "DONE|CANCELLED"
((org-agenda-overriding-header "Completed and Cancelled : Last Week")))
(todo "STARTED|NEXT"
((org-agenda-overriding-header "WIP")))
(todo "HOLD|DELEGATED"
((org-agenda-overriding-header "On Hold and Delegated Tasks")))
(todo "TODO"
((org-agenda-overriding-header "Task Backlog"))))
nil nil))))
(setq org-src-tab-acts-natively t
org-hide-block-startup t)
(setq org-confirm-babel-evaluate nil
org-babel-noweb-wrap-start "«"
org-babel-noweb-wrap-end "»")
(setq org-babel-clojure-backend 'cider
org-babel-clojure-sync-nrepl-timeout 0)
(setq org-plantuml-jar-path (expand-file-name "~/.emacs.d/jars/plantuml.jar")
org-ditaa-jar-path (expand-file-name "~/.emacs.d/jars/ditaa.jar")
org-ditaa-eps-jar-path (expand-file-name "~/.emacs.d/jars/DitaaEps.jar"))
(setq org-export-backends '(ascii beamer html
latex texinfo
md odt org)
org-export-coding-system 'utf-8)
(setq org-latex-classes
'(("beamer"
"\\documentclass[presentation]{beamer}"
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}"))
("article"
"\\documentclass[12pt]{hitec}
[DEFAULT-PACKAGES]
[PACKAGES]
[NO-EXTRA]
\\settextfraction{0.95}\n"
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
("report"
"\\documentclass[11pt]{report}"
("\\part{%s}" . "\\part*{%s}")
("\\chapter{%s}" . "\\chapter*{%s}")
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}"))
("book"
"\\documentclass[11pt]{book}"
("\\part{%s}" . "\\part*{%s}")
("\\chapter{%s}" . "\\chapter*{%s}")
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}"))
("une-article"
"\\documentclass[a4paper,12pt]{scrartcl}
[DEFAULT-PACKAGES]
[PACKAGES]
\\usepackage[margin=1.5cm]{geometry}
[EXTRA]\n"
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
("une-logo"
"\\documentclass[a4paper,12pt]{scrartcl}
[DEFAULT-PACKAGES]
[PACKAGES]
\\usepackage[margin=1.5cm]{geometry}
[EXTRA]
\\definecolor{unegreen}{HTML}{7AB800}
\\definecolor{Black}{HTML}{000000}
\\definecolor{White}{HTML}{FFFFFF}
\\definecolor{dimgrey}{HTML}{696969}
\\makeatletter
\\def\\@maketitle{
\\noindent \\begin{minipage}[c][4cm][t]{\\linewidth}
\\colorbox{Black}{%
\\begin{minipage}[t][4cm][c]{4cm}
\\flushleft
\\includegraphics{~/.emacs.d/img/unelogo_medium.png}
\\end{minipage}}
\\colorbox{unegreen}{%
\\begin{minipage}[t][4cm][c]{13.5cm}
\\flushright
\\Large \\textbf{\\color{White}{\\@title}} \\\\
\\vspace{4pt}
\\small \\color{White}{\\@author} \\\\
\\small \\color{White}{\\@date}
\\end{minipage}}
\\end{minipage}}
\\makeatother\n"
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
("old-article" "\\documentclass[11pt]{article}"
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
)
(setq org-latex-hyperref-template
"\\hypersetup{pdfauthor={%a},
pdftitle={%t},
pdfkeywords={%k},
pdfsubject={%d},
pdfcreator={%c},
pdflang={%L},
colorlinks=true,
linkcolor=blue}")
(setq org-latex-listings t
org-latex-listings-options '(("basicstyle" "\\tiny")
("frame" "single")
("stringstyle" "\\color{orange}")
("commentstyle" "\\color{cyan}")
("keywordstyle" "\\color{blue}")
("showstringspaces" "false")
("breakatwhitespace" "false")
("breaklines" "true")))
(setq org-latex-pdf-process
'("lualatex -interaction nonstopmode -output-directory %o %f"
"lualatex -interaction nonstopmode -output-directory %o %f"
"lualatex -interaction nonstopmode -output-directory %o %f"))
(setq org-latex-packages-alist
'(("" "parskip")
("" "xcolor")
("" "listings")))
(setq org-html-checkbox-type 'unicode
org-html-html5-fancy t
org-html-doctype "html5")
(setq org-ascii-charset 'utf-8
org-ascii-text-width 79)
:config
(org-element-update-syntax)
(org-clock-persistence-insinuate)
(add-to-list 'org-structure-template-alist
'("p" "#+BEGIN_SRC python\n?\n#+END_SRC"
"<src lang=\"python\">\n?\n</src>"))
(add-to-list 'org-structure-template-alist
'("el" "#+BEGIN_SRC emacs-lisp\n?\n#+END_SRC"
"<src lang=\"emacs-lisp\">\n?\n</src>"))
(add-to-list 'org-structure-template-alist
'("cl" "#+BEGIN_SRC clojure-mode\n?\n#+END_SRC"
"<src lang=\"clojure-mode\">\n?\n</src>"))
(org-babel-do-load-languages
'org-babel-load-languages
'((emacs-lisp . t)
(clojure . t)
(css . t)
(dot . t)
(java . t)
(js . t)
(latex . t)
(ledger . t)
(makefile . t)
(org . t)
(perl . t)
(python . t)
(ruby . t)
(scheme . t)
(shell . t)
(sql . t)
(C . t)
(ditaa . t)
(plantuml . t)))
(when *is-a-mac*
(use-package org-mac-link
:ensure t
:bind (:map org-mode-map
("C-c g" . org-mac-grab-link))))
(bind-key "C-c l" 'org-store-link)
(bind-key "C-c a" 'org-agenda)
(bind-key "C-c b" 'org-switchb)
(bind-key "C-c r" 'org-capture))发布于 2017-07-25 06:29:28
这样你就会浪费掉你所有的工作时间。新emacs中的错误。从一开始到现在,我已经有40年没见过这样的了!
另一种选择是:找一位真正工作的编辑,为斯托尔曼和他亲切的主编祈祷。
(顺便说一句:还有伊恩·默多克!)我们生活在非常严重的环境中!)
经过40年的良好使用后:从版本25开始,emacs不再可用。还有很多其他的自由软件!数学(随机)说:这是不可能的,所有这一切都可能是一种危险。
似乎,有一群人想通过emacs的隐藏破坏来毒死Stallman,而且看起来,今天可能有很多自由软件的隐藏敌人,破坏者和内鬼在自由黑客的队伍中……
我不再是最年轻的(在我的更高(原文如此)。)九个人!)在我的一生中,我在世界各地看到了很多东西,我说是通过经验和高斯分布:过去十年来自由软件项目中“错误”的积累并不是一种危险,它是对自由软件理念的有组织破坏的结果,加上临床上病态的过度工程以及代变的问题:有很多严肃的、受过良好教育的数学家,这在过去也是开发人员的问题--今天我们只有一群疯狂的黑客和脑残的“携带者”,所以软件的质量现在正在戏剧性地向坏的一面转变……我眼中的灾难..。但是我现在太老了,再也不能通过这场比赛了。
(海拉(将近97岁))
顺便说一句:当时(现在也是)完全没有电脑的生活--如果我没记错的话,那还不是最糟糕的时候……
https://stackoverflow.com/questions/45041399
复制相似问题