• Emacs安装配置全攻略之中的一个编译安装简单配置


    /******************************************************************************************************************************************/

     原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb_driver/article/details/29407717,作者:gqb666  
    /******************************************************************************************************************************************/

    一、编译安装

    1. 准备工作

    (1)安装svn、ssh
    sudo apt-get install ssh subversion


    (2)安装texinfo(为了编译man包)
    sudo apt-get install texinfo

    (3)安装编译所需的支持包,依环境而定
    sudo apt-get build-dep emacs21 libgtk2.0-dev xserver-xorg-dev xorg-dev libncurses5 libncurses5-dev libidl.dev

    2. cvs最新的emacs源代码
    http://ftp.gnu.org/pub/gnu/emacs/

    3. 编译、安装
    创建文件夹:/opt/emacs24。将emacs安装到这里
    sudo mkdir /opt/emacs24
    注:最好指定一个安装文件夹,要不然编译出来的binary会被分散装到不同的地方

    cd ~/emacs
    ./configure --prefix=/opt/emacs24 --enable-font-backend --with-xft --with-freetype --with-x-toolkit=gtk


    參数解释:
    –prefix=/opt/emacs24 指定emacs安装文件夹。默觉得/usr/local
    –enable-font-backend 让emacs支持雅黑字体
    –with-freetype 支持freetype字体
    –with-x-toolkit=gtk 指定环境为gtk

    没有错误则继续:
    make bootstrap
    make info

    编译完后,试执行一下 src/emacs -q,没有问题就能够安装了:
    sudo make install

    清理:
    make clean

    4. 加入你的安装路径
    安装完后要在/usr/local/bin做一个链接(由于/opt/emacs24/bin/不在PATH变量中)

    cd /usr/local/bin
    sudo ln -s /opt/emacs24/bin/* ./

    链接好后,在终端中输入emacs就能够启动emacs了。

    二、功能插件配置(代码阅读神器)

    emacs变成相似sourceinsight代码浏览器

    所需软件:
    cscope-15.5.tar.gz    http://sourceforge.net/projects/cscope
    ecb-2.32.tar.gz          http://sourceforge.net/projects/ecb


    可是对于一般安装的GNU emacs来说还须要三个额外的包支持即eieio, semantic,  speedbar 
    http://sourceforge.net/projects/cedet 
    将这三个包的下载并拷贝到/opt/emacs24/下
    eieio-0.17.tar.gz
    semantic-1.4.4.tar.gz
    speedbar-0.14beta4.tar.gz

    安装ecb和三个支持包:
    #cd /opt/emacs24/site-lisp 
    #tar zxfv ecb-2.32.tar.gz 
    #tar zxfv eieio-0.17.tar.gz 
    #tar zxfv semantic-1.4.4.tar.gz 
    #tar zxfv speedbar-0.14beta4.tar.gz

    做四个连接 
    ln -s ecb-2.32 ecb 
    ln -s eieio-0.17 eieio 
    ln -s semantic-1.4.4 semantic
    ln -s speedbar-0.14beta4 speedbar 

    然后改动 
    site-start.el文件(有些系统如ubuntu,site-start.el文件在/etc/emacs文件夹下) 
    加入下面五行 
    (setq load-path (append load-path '("/opt/emacs24/site-lisp/eieio"))) 
    (setq load-path (append load-path '("/opt/emacs24/site-lisp/semantic"))) 
    (setq load-path (append load-path '("/opt/emacs24/site-lisp/speedbar"))) 
    (setq load-path (append load-path '("/opt/emacs24/site-lisp/ecb"))) 
    (require 'ecb) 

    又一次启动一下emacs 
    M-x ecb-activate 

    看看出现了什么

    cscope安装更为简单
    $tar zxfv cscope-15.5.tar.gz 
    $cd cscope-15.5
    $./configure 
    $make 
    #make install 

    然后把contrib/xcscope/文件夹下的cscope-indexer拷贝到PATH文件夹比方/usr/local/bin 
    然后把xcscope.el拷贝到 
    /opt/emacs24/site-lisp 
    改动/opt/emacs24/site-lisp/site-start.el 
    加入 
    (require 'xcscope) 
    又一次启动emacs 而且打开一个C文件看看有什么变化?

     
    上述的两个软件的使用说明看看他们自带的文档,非常清楚

    三、ECB操作键

    (Emacs_command_tables.pdf http://download.csdn.net/detail/gqb666/7534613)

      下面是一些简单的键绑定,很多其它信息能够在ecb-minor-mode文档中查找(C-h a ecb-minor-mode )。

    首先列出的是一些基本键映射前缀。即一些详细的命令键是由此基础上加入:

    key binding
    C-c
    C-c .
    C-c . f
    C-c . g 跳转类( goto )
    C-c . l 布局类( layout )
    C-c . m

     窗体最大化类(maximize)

    (1) 跳转类命令( goto,    前缀: C-c . g 

    key
    跳转位置
    C-c . g 1 编辑区1
    C-c . g 2 编辑区2
    C-c . g a analyse窗体
    C-c . g b speedbar窗体
    C-c . g c compilation窗体
    C-c . g d directories窗体
    C-c . g h history窗体
    C-c . g l 上次编辑
    C-c . g m methods窗体
    C-c . g s sources窗体

    (2)布局类( layout, 前缀 C-c . l )

    key 操作
    C-c . l c 更改布局
    C-c . l r 又一次布局
    C-c . l t 布局锁定开关
    C-c . l w 锁定可见的ECB窗体

     (3)窗体最大化类( maximize, 前缀C-c . m )

    key 操作窗体
    C-c . m a analyse窗体
    C-c . m b speedbar窗体
    C-c . m d directories窗体
    C-c . m h history窗体
    C-c . m m methods窗体
    C-c . m s sources窗体

    四、.emacs配置文件

    (config.emacs http://download.csdn.net/detail/gqb666/7534621)

    附上.emacs配置文件放到用户文件夹:cd ~,保存为.emacs就可以有多功能插件如显示行号等。

    ;;查看根文件夹,按C-X C-F后按~,这时建立配置文件.emacs或_emacs.或者直接把此文件拷贝到根文件夹下
    
    ;; 语言环境字符集设置
    ;;这一部份主要用在linux 环境下,windows下没什么作用
    ;;(set-language-environment 'Chinese-GB)
    ;;(set-keyboard-coding-system 'utf-8)
    ;;(set-clipboard-coding-system 'utf-8)
    ;;(set-terminal-coding-system 'utf-8)
    ;;(set-buffer-file-coding-system 'utf-8)
    ;;(set-default-coding-systems 'utf-8)
    ;;(set-selection-coding-system 'utf-8)
    ;;(modify-coding-system-alist 'process "*" 'utf-8)
    ;;(setq default-process-coding-system '(utf-8 . utf-8))
    ;;(setq-default pathname-coding-system 'utf-8)
    ;;(set-file-name-coding-system 'utf-8)
    ;;(setq ansi-color-for-comint-mode t) ;;处理shell-mode乱码,好像没作用
    
    ;; 设置窗体界面
    ;;(set-foreground-color "grey")
    ;;(set-background-color "black")
    ;;(set-cursor-color "grey")
    ;;(set-mouse-color "gold1")
    
    ;; 显示行列号
    (setq column-number-mode t)
    (setq line-number-mode t)
    (global-linum-mode t)
    ;; 设置显示格式 
    (setq display-line-number-format "%4d|")
    
    ;; 关闭启动时的`开机画面'
    (setq inhibit-startup-message t)
    
    ;; 关闭gnus启动时的画面
    (setq gnus-inhibit-startup-message t)
    
    ;; 语法加亮
    (global-font-lock-mode 't)
    
    ;; 语法高亮。除shell-mode和text-mode之外的模式中使用语法高亮
    (setq font-lock-maximum-decoration t)
    (setq font-lock-global-modes '(not shell-mode text-mode))
    (setq font-lock-verbose t)
    (setq font-lock-maximum-size '((t . 1048576) (vm-mode . 5250000)))
    
    ;; 把c语言风格设置为k&r风格 
    (add-hook 'c-mode-hook 
    '(lambda () 
    (c-set-style "k&r")))
    
    ;; 把c++语言风格设置为stroustrup风格 
    (add-hook 'c++-mode-hook 
    '(lambda() 
    (c-set-style "stroustrup")))
    
    ;; 括号匹配
    ;; 括号匹配时显示另一端的括号,而不是跳过去
    (show-paren-mode t)
    (setq show-paren-style 'parentheses)
    
    ;; 标题拦显示buffer的名字
    (setq frame-title-format "emacs@%b")
    
    ;; Shell 使用 ansi color
    (autoload 'ansi-color-for-comint-mode-on "ansi-color" nil t)
    (add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
    
    ;; 使用Win下的选择习惯
    ;; 用shift+方向键进行选择
    (pc-selection-mode)
    
    ;; 让Emacs能够直接打开和显示图片。 
    (require 'thumbs) 
    (auto-image-file-mode t)
    
    ;; 设置显示时间
    (display-time-mode 1);;启用时间显示设置。在minibuffer上面的那个杠上
    (setq display-time-24hr-format t);;时间使用24小时制
    (setq display-time-day-and-date t);;时间显示包含日期和详细时间
    (setq display-time-use-mail-icon t);;时间栏旁边启用邮件设置
    (setq display-time-interval 10);;时间的变化频率
    
    ;; 取消滚动条
    ;;(set-scroll-bar-mode nil)
    
    ;; 取消工具栏
    ;;(tool-bar-mode nil)
    
    ;; 设置打开文件的缺省路径
    (setq default-directory "F:/")
    
    ;; 改变Emacs固执的要你回答 yes 的行为。按 y 或空格键表示 yes,n 表示 no
    (fset 'yes-or-no-p 'y-or-n-p)
    
    ;; 不用TAB字符来indent, 这会引起非常多奇怪的错误。编辑Makefile的时候也不用操心,由于 makefile-mode会把TAB键设置成真正的TAB字符,而且加亮显示的
    (setq-default indent-tabs-mode nil)
    (setq default-tab-width 8)
    (setq tab-stop-list ())
    
    ;; 设置sentence-end能够识别中文标点。不用在 fill 时在句号后插入两个空格
    (setq sentence-end "\([。。?]\|……\|[.?!][]"')}]*\($\|[ 	]\)\)[ 	
    ]*")
    (setq sentence-end-double-space nil)
    
    ;; 光标靠近鼠标指针时,让鼠标指针自己主动让开。别挡住视线
    ;;(setq mouse-avoidance-mode 'animate)
    
    ;; 打开压缩文件时自己主动解压缩
    (auto-compression-mode 1)
    
    ;; 在行首C-k时,同一时候删除该行
    (setq-default kill-whole-line t)
    
    ;; 设定不产生备份文件
    (setq make-backup-files nil)
    
    ;; 自己主动保存模式
    (setq auto-save-mode nil)
    
    ;; 不生成暂时文件
    (setq-default make-backup-files nil)
    
    ;; 同意emacs和外部其它程序的粘贴
    (setq x-select-enable-clipboard t)
    
    ;; 使用鼠标中键能够粘贴
    ;;(setq mouse-yank-at-point t)
    
    ;; 设置实用的个人信息,这在非常多地方实用
    (setq user-full-name "XXXXXX")
    (setq user-mail-address "XXXXXX@163.com")
    
    ;; 自己主动的在文件末添加一新行
    ;;(setq require-final-newline t)
    
    ;; 设置home键指向buffer开头。end键指向buffer结尾
    (global-set-key [home] 'beginning-of-buffer)
    (global-set-key [end] 'end-of-buffer)
    
    ;; 调用Lisp扩展包
    ;; 载入ido.el
    (require 'ido)
    (ido-mode t)
    
    ;; 所见即所得做表格
    (autoload 'table-insert "table" "WYGIWYS table editor")
    
    ;; C-F5, 设置编译命令; F5, 保存全部文件然后编译当前窗体文件
    ;; M-x gdb启动gdb, C-c C-n是Next line,C-c C-s是step in
    (defun du-onekey-compile ()
      "Save buffers and start compile"
      (interactive)
      (save-some-buffers t)
      (switch-to-buffer-other-window "*compilation*")
      (compile compile-command))
      (global-set-key [C-f5] 'compile)
      (global-set-key [f5] 'du-onekey-compile)
    
    ;; F6设置为在Emacs中调用gdb
    (global-set-key [f6] 'gdb)
    
    ;; C-F4, 设置跳到上一个错误,F4跳到下一个错误
    (global-set-key [C-f4] 'previous-error)
    (global-set-key [f4] 'next-error)
    
    ;; 目的是开一个shell的小buffer,用于更方便地測试程序(也就是执行程序了),我常常会用到。
    ;; F8就是另开一个buffer然后打开shell,C-f8则是在当前的buffer打开shell
    (defun open-eshell-other-buffer ()
      "Open eshell in other buffer"
      (interactive)
      (split-window-vertically)
      (eshell))
    (global-set-key [(f8)] 'open-eshell-other-buffer)
    (global-set-key [C-f8] 'eshell)
    
    ;; 设置F9调用speedbar命令
    ;; 使用 n 和 p 能够上下移动,
    ;; + 展开文件夹或文件进行浏览,- 收缩,RET 訪问文件夹或文件。g 更新 speedbar
    (setq speedbar-show-unknown-files t);;能够显示全部文件夹以及文件
    (setq dframe-update-speed nil);;不自己主动刷新。手动 g 刷新
    (setq speedbar-update-flag nil)
    ;;(setq speedbar-use-images nil);;不使用 image 的方式
    (setq speedbar-verbosity-level 0) 
    (global-set-key [f9] 'speedbar)
    
    ;; 设置[C-f9]为调用dired命令
    (global-set-key [C-f9] 'dired)
    ;; 让dired 能够递归的拷贝和删除文件夹
    (setq dired-recursive-copies 'top)
    (setq dired-recursive-deletes 'top)
    
    ;; 设置F10为撤销
    ;;(global-set-key [f10] 'undo)
    
    ;; 设置F11快捷键指定Emacs 的日历系统
    ;;(global-set-key [f11] 'calendar)
    
    ;; 设置F12 高速察看日程安排
    ;;(global-set-key [f12] 'list-bookmarks)
    
    ;; 设置时间戳,标识出最后一次保存文件的时间
    (setq time-stamp-active t)
    (setq time-stamp-warn-inactive t)
    (setq time-stamp-format "%:y-%02m-%02d %3a %02H:%02M:%02S chunyu")
    
    ;; 设置C-g为goto-line
    (global-set-key (kbd "C-g") 'goto-line)
    
    ;; 设置M-空格 来setmark了,这样我就不用按 C-@ 来 setmark 了, C-@ 非常不好按
    (global-set-key (kbd "M-<SPC>") 'set-mark-command)
    
    ;; 设置阴历显示。在 calendar 上用 pC 显示阴历
    (setq calendar-remove-frame-by-deleting t)
    (setq calendar-week-start-day 1)            ; 设置星期一为每周的第一天
    (setq mark-diary-entries-in-calendar t)     ; 标记calendar上有diary的日期
    (setq mark-holidays-in-calendar nil)        ; 为了突出有diary的日期,calendar上不标记节日
    (setq view-calendar-holidays-initially nil) ; 打开calendar的时候不显示一堆节日
    
    ;; 去掉不关心的节日,设定自己在意的节日,在 calendar 上用 h 显示节日
    (setq christian-holidays nil)
    (setq hebrew-holidays nil)
    (setq islamic-holidays nil)
    (setq solar-holidays nil)
    (setq general-holidays '((holiday-fixed 1 1 "元旦")
                             (holiday-fixed 2 14 "情人节")
                             (holiday-fixed 3 14 "白色情人节")
                             (holiday-fixed 4 1 "愚人节")
                             (holiday-fixed 5 1 "劳动节")
                             (holiday-float 5 0 2 "母亲节")
                             (holiday-fixed 6 1 "儿童节")
                             (holiday-float 6 0 3 "父亲节")
                             (holiday-fixed 7 1 "建党节")
                             (holiday-fixed 8 1 "建军节")
                             (holiday-fixed 9 10 "教师节")
                             (holiday-fixed 10 1 "国庆节")
                             (holiday-fixed 12 25 "圣诞节")))
    
    ;; Calendar模式支持各种方式来更改当前日期
    ;; (这里的“前”是指还没有到来的那一天,“后”是指已经过去的日子)
    ;;  q      退出calendar模式
    ;; C-f     让当前日期向前一天
    ;; C-b     让当前日期向后一天
    ;; C-n     让当前日期向前一周
    ;; C-p     让当前日期向后一周
    ;; M-}     让当前日期向前一个月
    ;; M-{     让当前日期向后一个月
    ;; C-x ]   让当前日期向前一年
    ;; C-x [   让当前日期向后一年
    ;; C-a     移动到当前周的第一天
    ;; C-e     移动到当前周的最后一天
    ;; M-a     移动到当前月的第一天
    ;; M-e     多动到当前月的最后一天
    ;; M-<     移动到当前年的第一天
    ;; M->     移动到当前年的最后一天
    
    ;; Calendar模式支持移动多种移动到特珠日期的方式
    ;; g d     移动到一个特别的日期
    ;;  o      使某个特殊的月分作为中间的月分
    ;;  .      移动到当天的日期
    ;; p d     显示某一天在一年中的位置,也显示本年度还有多少天。

    ;; C-c C-l 刷新Calendar窗体 ;; Calendar支持生成LATEX代码。 ;; t m 按月生成日历 ;; t M 按月生成一个美化的日历 ;; t d 按当天日期生成一个当天日历 ;; t w 1 在一页上生成这个周的日历 ;; t w 2 在两页上生成这个周的日历 ;; t w 3 生成一个ISO-SYTLE风格的当前周日历 ;; t w 4 生成一个从周一開始的当前周日历 ;; t y 生成当前年的日历 ;; EMACS Calendar支持配置节日: ;; h 显示当前的节日 ;; x 定义当天为某个节日 ;; u 取消当天已被定义的节日 ;; e 显示全部这前后共三个月的节日。 ;; M-x holiday 在另外的窗体的显示这前后三个月的节日。

    ;; 另外,另一些特殊的。有意思的命令: ;; S 显示当天的日出日落时间(是大写的S) ;; p C 显示农历能够使用 ;; g C 使用农历移动日期能够使用 ;;========== CC-Mode配置 begin ========== ;; CC-mode配置 http://cc-mode.sourceforge.net/ ;;(add-to-list 'load-path "~/lisp/cc-mode") ;;(require 'cc-mode) (c-set-offset 'inline-open 0) (c-set-offset 'friend '-) (c-set-offset 'substatement-open 0) ;; 我的C/C++语言编辑策略 (defun my-c-mode-common-hook() (setq tab-width 4 indent-tabs-mode nil) (c-toggle-auto-hungry-state 1) ;;按键定义 (define-key c-mode-base-map [(control \`)] 'hs-toggle-hiding) (define-key c-mode-base-map [(return)] 'newline-and-indent) ;;(define-key c-mode-base-map [(f5)] 'compile) (define-key c-mode-base-map [(meta \`)] 'c-indent-command) (define-key c-mode-base-map [(tab)] 'my-indent-or-complete) (define-key c-mode-base-map [(meta ?

    /)] 'semantic-ia-complete-symbol-menu) ;;预处理设置 (setq c-macro-shrink-window-flag t) (setq c-macro-preprocessor "cpp") (setq c-macro-cppflags " ") (setq c-macro-prompt-flag t) (setq hs-minor-mode t) (setq abbrev-mode t) ) (add-hook 'c-mode-common-hook 'my-c-mode-common-hook) ;; 我的C++语言编辑策略 (defun my-c++-mode-hook() (setq tab-width 4 indent-tabs-mode nil) (c-set-style "stroustrup") ) ;; 导入cedet ;;(load-file "~/lisp/cedet/common/cedet.el") ;; 配置Semantic的检索范围 (setq semanticdb-project-roots (list (expand-file-name "/"))) ;;自己定义自己主动补齐命令,假设在单词中间就补齐,否则就是tab (defun my-indent-or-complete () (interactive) (if (looking-at "\>") (hippie-expand nil) (indent-for-tab-command)) ) (global-set-key [(control tab)] 'my-indent-or-complete) ;; hippie的自己主动补齐策略。优先调用了senator的分析结果 (autoload 'senator-try-expand-semantic "senator") (setq hippie-expand-try-functions-list '( senator-try-expand-semantic try-expand-dabbrev try-expand-dabbrev-visible try-expand-dabbrev-all-buffers try-expand-dabbrev-from-kill try-expand-list try-expand-list-all-buffers try-expand-line try-expand-line-all-buffers try-complete-file-name-partially try-complete-file-name try-expand-all-abbrevs try-complete-lisp-symbol-partially try-complete-lisp-symbol try-expand-whole-kill ) ) ;; ========== CC-Mode配置 end ========== ;; 五笔输入法设置,用快捷键C- (同一时候按住 Ctrl和反斜线键)唤出五笔字型输入法了 ;;(add-to-list 'load-path "~/lisp/wubi") ;;(require 'wubi) ;;(register-input-method "chinese-wubi" "Chinese-GB" 'quail-use-package "wubi" "wubi") ;;(wubi-load-local-phrases) ;;(setq default-input-method "chinese-wubi") ;; 设置快捷键,Ctrl-+来唤出add-wubi添加词组、Ctrl--来唤出del-wubi删除一个词组 ;;(global-set-key [?C-+] 'add-wubi) ;;(global-set-key [?C--] 'del-wubi) ;; cscope设置,使用cscope浏览源代码 ;;(add-to-list 'load-path "~/lisp/cscope") ;; 将软件包所在的路径加到 EMACS的load-path ;;(require 'xcscope) ;; 载入对应的软件 ;;C-c s a 设定初始化的文件夹。通常是你代码的根文件夹 ;;C-s s I 对文件夹中的相关文件建立列表并进行索引 ;;C-c s s 序找符号 ;;C-c s g 寻找全局的定义 ;;C-c s c 看看指定函数被哪些函数所调用 ;;C-c s C 看看指定函数调用了哪些函数 ;;C-c s e 寻找正則表達式 ;;C-c s f 寻找文件 ;;C-c s i 看看指定的文件被哪些文件include ;; tabbar设置 ;;(add-to-list 'load-path "~/lisp/tabbar") ;;(require 'tabbar) ;;(tabbar-mode) ;; ========== cedet设置 ========== ;;(add-to-list 'load-path "~/lisp/cedet/speedbar") ;;(add-to-list 'load-path "~/lisp/cedet/eieio") ;;(add-to-list 'load-path "~/lisp/cedet/semantic") ;;(add-to-list 'load-path "~/lisp/cedet/common") ;;(require 'cedet) ;;(add-to-list 'load-path "~/lisp/ecb") ;;(require 'ecb) ;; Ecb的操作: ;; C-c . g d 文件夹列表窗体 ;; C-c . g s 源代码窗体 ;; C-c . g m 方法和变量窗体 ;; C-c . g h 历史窗体 ;; C-c . g l 最后选择过的编辑窗体 ;; C-c . g 1 编辑窗体1 ;; C-c . g n 编辑窗体n ;; C-c . l c 选择版面 ;; C-c . l r 重画版面 ;; C-c . l t 拴牢版面(锁定版面) ;; C-c . l w 拴牢可见的ecb窗体 ;; C-c . 拴牢编绎窗体 ;; 当中l为小写字母(L),大家别看错!! ;; ========== cedet设置结束 ========== ;; emacs的默认compile命令是调用make -k。我把它改成了mingw32-make -f MakeFile。

    你也能够把它改成其它的,比方gcc之类的 (setq compile-command "mingw32-make -f MakeFile") ;; 把一个代码块缩起来,须要的时候再展开 (load-library "hideshow") (add-hook 'c-mode-hook 'hs-minor-mode) (add-hook 'c++-mode-hook 'hs-minor-mode) (add-hook 'java-mode-hook 'hs-minor-mode) (add-hook 'perl-mode-hook 'hs-minor-mode) (add-hook 'php-mode-hook 'hs-minor-mode) (add-hook 'emacs-lisp-mode-hook 'hs-minor-mode) ;; M-x hs-minor-mode ;; C-c @ ESC C-s show all ;; C-c @ ESC C-h hide all ;; C-c @ C-s show block ;; C-c @ C-h hide block ;; C-c @ C-c toggle hide/show ;;输入左边的括号,就会自己主动补全右边的部分.包含(), "", [] , {} , 等等 (defun my-c-mode-auto-pair () (interactive) (make-local-variable 'skeleton-pair-alist) (setq skeleton-pair-alist '( (?` ?` _ "''") (?( ?

    _ " )") (?[ ? _ " ]") (?{ > _ ?} >))) (setq skeleton-pair t) (local-set-key (kbd "(") 'skeleton-pair-insert-maybe) (local-set-key (kbd "{") 'skeleton-pair-insert-maybe) (local-set-key (kbd "`") 'skeleton-pair-insert-maybe) (local-set-key (kbd "[") 'skeleton-pair-insert-maybe)) (add-hook 'c-mode-hook 'my-c-mode-auto-pair) (add-hook 'c++-mode-hook 'my-c-mode-auto-pair) (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(ecb-options-version "2.32")) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. ) ;;AUCTEX 2012-06-11 (load "auctex.el" nil t t) (load "preview-latex.el" nil t t) (setq TeX-auto-save t) (setq TeX-parse-self t) (setq-default TeX-master nil)


  • 相关阅读:
    jwt的简单使用
    使用golang对海康sdk进行业务开发
    产品项目开发流程
    Unity在场景切换之间清理下内存
    Unity3d中第三人称摄像机跟随的实现
    unity3d中利用网格去绘制血条
    java内存泄露原因简单总结
    线程安全的多参构建器实现
    java单例模式,多线程下实现
    forward和redirect的简单区别
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10870955.html
  • Copyright © 2020-2023  润新知