2017-07-11 98 views
0

我一直在獲取GNU Emacs上安裝的文件(通過軟件包壓縮文件)工作時遇到問題。這些文件已正確安裝,但似乎沒有任何影響。下面是我的.emacs文件,當我安裝的軟件包,其自動添加的包文件的部分:正確配置GNU 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嘲諷,包括:

 (eval-after-load 'flycheck 
     '(add-hook 'flycheck-mode-hook #'flycheck-irony-setup)) 

這在我的.emacs文件中沒有出現,使我不知道是否缺少某些東西。任何幫助,將不勝感激。

+0

如果你做'Mx包初始化'包是否可用?如果是這樣,那麼你可以嘗試將'package-enable-at-startup'設置爲'nil'並將'(package-initialize)'添加到你的init文件('〜/ .emacs.d/init.el'或' 〜/ .emacs'最可能)。 – Nick

+0

加載eval-after-load'語句是你希望手動添加到你的init文件的東西。除了更新變量和麪的'customize'部分之外,Emacs通常不會更改您的init文件 - 它是您自己維護的文件。 – phils

回答

1

package.el的主要優點是基本的 安裝Emacs lisp軟件包的自動化。對於很多軟件包,你只需要安裝 這個軟件包。但是,對於某些包,特別是需要將 掛鉤添加到不同模式或要求用戶選擇高級功能或 功能,這些功能具有package.el無法預測的替代功能,特別是基於用戶首選項的 選擇,您需要在init.el或 .emacs中添加init代碼。

我發現use-package軟件包對管理elisp 軟件包非常有用。

以下是我在我的init.el文件中使用的用包

(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 undo-tree 
    :ensure t 
    :diminish undo-tree-mode 
    :config (global-undo-tree-mode)) 

use-package swiper 
    :ensure t 
    :bind ("C-s". swiper)) 

的:確保重點講述使用包裝,以確保它從ELPA 庫得到這個包。還有其他鍵之類的釘扎到特定 倉庫,做之前設置安裝包,裝包後, 將自動=模式ALIST,結合鍵等

真正好處是,一旦你在你的init.el文件中定義了所有使用包模塊 ,你可以將該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([email protected]/!)" 
        "HOLD([email protected]/!)" 
        "|" 
        "CANCELLED([email protected])" 
        "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)) 
0

你可以用這種方式浪費你的整個生產時間。新emacs中的錯誤。我從一開始就看到了過去40年來的這樣一個人!

另一種方法是:請一位真正有效的編輯併爲Stallman和他的親切emacs禱告。

(!順便說一句:而對於伊恩·默多克也是我們vlive非常嚴重的情況下!)

經過40多年的很好用的:由於25版的Emacs是不再可用。還有很多其他的免費軟件!數學(隨機)說:這是不可能的,所有這些都可能是一個危險。

似乎有一羣人想要通過隱藏的emacs破壞來摧毀Stallman,看起來,自由軟件,破壞者和痣可能會隱藏在自由黑客行列中的很多隱藏的敵人他們今天...

我不是最年輕的了(在我的更高(原文如此)的九十年代!),在我的生活中,我在整個世界都看過很多,我說的是經驗和高斯分佈:過去十年免費軟件項目中「錯誤」的積累不是一種危險,它是由於對自由軟件概念的有組織破壞加上臨牀病態過度工程加上產生變化的問題:有很多認真,受過良好教育的數學家,過去也是開發者 - 今天我們只有一羣瘋狂的黑客和腦筋急轉彎的「運營商」,所以軟件的質量正在急劇變化,以至於現在的糟糕的一面......我眼中的一場災難......但現在我太老了,爲了更進一步地通過這場戰鬥...

(海拉(近97))

BTW:有(是)現場完全沒有電腦 - 並且它不是最糟糕的時候,如果我記得......