我的一些emacs的基础配置

#emacs #linux

将下面的package archive的link添加到.emacs中去

(require 'package) 
(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")
             ("marmalade" . "http://marmalade-repo.org/packages/") 
             ("melpa" . "http://melpa.milkbox.net/packages/")))

如果你想浏览所有的包文件可以使用命令 M-x package-list-packages; 如果想要安装新的el包,那么可以输入命令M-x package-install RET来进行安装啦

选择一个合适的emacs皮肤

  • 输入 M-x customize-themes 选择合适的皮肤

设置默认启动emacs的时候为全屏

  • 将下面的代码添加到.emacs文件中

    ;;start fullscreen
    (defun toggle-fullscreen ()
    (interactive)
    (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
    '(2 "_NET_WM_STATE_MAXIMIZED_VERT" 0))
    (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
    '(2 "_NET_WM_STATE_MAXIMIZED_HORZ" 0))
    )
    (toggle-fullscreen)
    

设置emacs退出的时候,保存当前的buffer

  • 将下面的代码加入到.emacs文件中

      ;;autosave buffers
      (require 'desktop)
      (desktop-save-mode 1)
      (defun my-desktop-save ()
      (interactive)
      ;; Don't call desktop-save-in-desktop-dir, as it prints a message.
      (if (eq (desktop-owner) (emacs-pid))
      (desktop-save desktop-dirname)))
      (add-hook 'auto-save-hook 'my-desktop-save)
    

设置缩进

  • 将下面的代码粘贴到.emacs文件中去

      (setq-default indent-tabs-mode nil)
      (setq-default tab-width 4)
      (setq tab-stop-list (number-sequence 4 200 4))
    

安装el-get

el-get功能与package.el类似,但是他会自动的安装依赖的包,安装方法如下:

  1. 输入C-x b scratch RET进入 *scratch* buffer
  2. 将下面的代码粘贴到buffer,然后C-j运行,之后你就可以得到deverloper版本的el-get了

     ;; So the idea is that you copy/paste this code into your \*scratch* buffer,
     ;; hit C-j and you have a working developper editon of el-get.
     (url-retrieve "https://raw.github.com/dimistri/el-get/master/el-get-install.el" (lambda (s) (let (el-get-master-branch) (goto-char (point-max)) (eval-print-last-sexp))))
    
  3. 在表达式末尾按C-j,运行,然后将下面的代码贴到 .emacs文件

     ;;el-get
     ;;https://github.com/dimitri/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.github.com/dimitri/el-get/master/el-get-install.el")
     (let (el-get-master-branch)
     (goto-char (point-max))
     (eval-print-last-sexp))))
     (el-get 'sync)
    
  4. 现在你可以输入M-x el-get-list-package来列出包,然后使用M-x el-get-install然后输入包的名字进行安装

安装Jedi.el

Jedi.el是Python在emacs下的一个自动补全的包,首先需要安装virtualenv

sudo apt-get install python-virtualenv

然后就可以安装Jedi了,使用命令M-x el-get-install jedi, 使Jedi激活,需要将下面的代码添加到.emacs文件中

;;enable jedi autocompletion
(add-hook 'python-mode-hook 'auto-complete-mode)
(add-hook 'python-mode-hook 'jedi:ac-setup)

安装flycheck

flycheck 是一个实时语法检测插件,使用M-x package-install flycheck安装,然后将下面的内容添加到.emacs文件中:

;;enable flycheck
(add-hook 'after-init-hook #'global-flycheck-mode)

安装Autopair

Autopair是一个自动匹配括号和引号的插件,使用命令M-x package-install autopair安装然后将下面的代码贴到.emacs文件中

(require 'autopair)
(autopair-global-mode) ;; to enable in all buffers

显示行号

;;enable linum mode
(add-hook 'python-mode-hook 'linum-mode)

添加markdown扩展

首先需要安装markdown-modeM-x el-get-install RET,然后找到markdown-mode,安装,接着,将下面的代码粘贴到.emcas文档

;;enable markdown mode
(autoload 'markdown-mode "markdown-mode.el"
   "Major mode for editing Markdown files" t)
(add-to-list 'auto-mode-alist '("\\.text\\'" . markdown-mode))
(add-to-list 'auto-mode-alist '("\\.markdown\\'" . markdown-mode))
(add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode))

输入中文

  • 使用搜狗输入法的时候,如果是在中文版本的ubuntu那么不用配置,直接就可以使用,可以将启动的快捷键Ctrl + Space改为其他的
  • 如果是使用的英文版,那么需要启动的时候,添加中文的locale

    env LANG=zh_CN.UTF-8 emacs
    
comments powered by Disqus