emacsConfig下建立install目录,结构大概这样

.
├── auto-complete-etags-setting.el
├── auto-complete-setting.el
├── auto-complete-yasnippet-setting.el
├── autopair-setting.el
├── buffer-setting.el
├── clang-complete-async-setting.el
├── code-style-setting.el
├── dir-setting.el
├── etags
│   ├── kernel
│   ├── muduo
│   └── qt
├── etags-select-setting.el
├── evil-setting.el
├── gdb-setting.el
├── gtags
│   └── muduo
│   ├── GPATH
│   ├── GRTAGS
│   ├── GSYMS
│   └── GTAGS
├── gtags-setting.el
├── imenu-tree-setting.el
├── install
│   ├── imenu-tree-install
│   │   ├── install.sh
│   │   ├── patch
│   │   │   └── imenu-tree.el
│   │   └── readme
│   ├── _init.el_
│   ├── install.sh
│   ├── readme
│   ├── recipes
│   │   └── clang-complete-async.rcp
│   └── remove.sh
├── kbd-mouse-setting.el
├── monokai-theme.el
├── original-tags.el
├── php-setting.el
├── snippets
│   ├── custom
│   └── yas-git
├── speedbar-setting.el
├── switch-file-setting.el
├── tabbar-setting.el
├── ui-setting.el
└── window-setting.el

_init.el_

 (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")
(goto-char (point-max))
(eval-print-last-sexp))) (add-to-list 'el-get-recipe-path "~/.emacs.d/el-get-user/recipes")
(el-get 'sync) ;不知道为什么,按照文档的设置无效,那么,就用我自己的吧
;(setq el-get-user-package-directory "~/.emacs.d/el-get-init-files/") ;------------------------------------------------------------------------------
;设置扩展文件所在目录
(add-to-list 'load-path "~/emacsConfig") ;逐个装载上面目录下所有的配置文件
(mapc 'load (directory-files "~/emacsConfig" t "^[a-zA-Z0-9].*.el$"))

install.sh

 mkdir -p ~/.emacs.d/el-get-user/recipes
cp ./recipes/* ~/.emacs.d/el-get-user/recipes
cp ./_init.el_ ~/.emacs.d/init.el echo "Install success!";

remove.sh

 rm -rf ~/.emacs.d

 echo "remove success!";

~/emacsConfig/install/recipes/clang-complete-async.rcp

 (:name clang-complete-async
:website "https://github.com/Golevka/emacs-clang-complete-async"
:description "An emacs extension to complete C and C++ code using libclang."
:type github
:pkgname "Golevka/emacs-clang-complete-async"
:build '(("make"))
:depends auto-complete
:features auto-complete-clang-async
:prepare (setq ac-clang-complete-executable
(expand-file-name
(concat (el-get-package-directory "clang-complete-async") "clang-complete"))))

imenu-tree注意

~/emacsConfig/install/imenu-tree-install/patch/imenu-tree.el为修改过的imenu-tree.el

~/emacsConfig/install/imenu-tree-install/install.sh

cp patch/imenu-tree.el ~/.emacs.d/el-get/imenu-tree/imenu-tree.el

echo "imenu-tree installed with position on right!";

readme

第一次安装,需要alt+x执行安装命令
el-get-install以下几个 evil
php-mode-improved
tabbar
auto-complete
auto-complete-etags(我这边没有补全效果)
etags-select(这个比较准确,比自带的好)
auto-complete-emacs-lisp
autopair
cc-mode+
sr-speedbar
yasnippet
auto-complete-yasnippet
imenu-tree(用来显示文件内symbol的插件,下面几个都是imenu-tree需要的插件)
imenu+
tree-mode
windata gtags(安装之前需要下面的命令)
debian:
sudo apt-get install global
mac:
brew install global
同时,需要ln -s做几个软连接
/usr/local/bin/global连接到/usr/bin
/usr/local/bin/gtags连接到/usr/bin clang-complete-async(安装之前需要下面的命令)
debian:
sudo apt-get install llvm-dev
sudo apt-get install libclang-dev mac:
brew install --with-clang --all-targets --rtti --universal --jit llvm,多点耐心,需要很久 -----------------------------------------------------------------------------
ecb:
由于method buffer的东西无法更新,因此放弃此库
----------------------------------------------------------------------------- imenu-tree
-----------------------------------------------------------------------------
安装查看install目录的imenu-tree-install子目录
----------------------------------------------------------------------------- 安装配置
auto-complete-etags etags:
生成tag:
自定义函数:generate-etags
加载tag:
自定义命令:load-etags
插件命令:visit-tags-table
查找定义:
快捷键:alt+o,d
命令:etags-select-find-tag-at-point
list-tags:
显示某个h文件内所有的tag gtags
生成tag:
自定义函数:generate-gtags
加载tag:
自定义命令:load-gtags
插件命令:gtag-visit-rootdir
查找变量引用:
快捷键:c-x,v
命令:gtags-find-symbol
查找函数引用:
快捷键:c-x,f
命令:gtags-find-rtag tag跳转:alt+enter
前进后退的快捷键为alt加方向键
F11切换h和cpp文件
ctrl+enter,打开include的头文件
F2打开speed-bar
F12打开imenu-tree 在启动就需要加载的tag需要在original-tags.el里面手工修改

emacs之配置自动安装脚本的更多相关文章

  1. mysql 自动备份和nginx自动安装脚本

    一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...

  2. python3自动安装脚本,python3.x与python2.x共存

    1.前言: python3过程中,通过搜索一些文章参考安装过程发现比较麻烦,而且还出现一些不可预期的报错.python3环境需要升级openssl,所以为了部署到其他环境更方便,写自动安装脚本方式,且 ...

  3. Windows ftp脚本和RSCD agent自动安装脚本

    Windows ftp脚本 和bladelogic RSCD Agent自动安装脚本 比较简单的命令是msiexec /I "C:\RSCD85-SP1-WIN64.msi" /Q ...

  4. python第三方库自动安装脚本

    #python第三方库自动安装脚本,需要在cmd中运行此脚本#BatchInstall.pyimport oslibs = {"numpy","matplotlib&qu ...

  5. 【Devops】【docker】【CI/CD】docker启动的Jenkins容器 - 系统管理 - 全局工具配置 - 自动安装JDK、Maven、Git、Docker

    本篇适用于jenkins是启动的docker容器,自动安装JDK  Maven  Git   Docker等全局工具 ========================================= ...

  6. LAMP自动安装脚本

    #!/bin/bash # 功能描述:LAMP自动安装脚本 # 初始化 if [ "$(cat /etc/system-release | awk '{print $(NF-1)}' | a ...

  7. 转来的emacs配置文件,自动安装插件

    网上转来的emacs配置文件,便于自动安装插件,收藏起来 http://www.gogae.org/post-7/ EMACS是一个伪装成代码编辑器的操作系统. EMACS是一个非常强大的代码编辑器, ...

  8. 自动安装脚本-------------基于LVMP搭建Nagios 监控

    Mysql初始化参数(mysql-5.6.31) /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local ...

  9. hadoop自动安装脚本

    还不能实现完全自动安装,只能算半自动的. 进行交互主要障碍有两点: 1. ssh-keygen的时候需要点击回车. 2. passwd 需要设置密码  如果谁能解决以上两点,欢迎email给我. 另外 ...

随机推荐

  1. 解决margin重叠的问题

    margin重叠有两种情况: 1.兄弟级的垂直块之间,margin这个属性上下边距,会发生重叠的情况 解决办法:float浮动或display:inline-block 2 .父子级的块之间,子级的上 ...

  2. POJ - 1463 Strategic game (树状动态规划)

    这题做的心塞... 整个思路非常清晰,d[i][0]表示第i个结点不设置监察的情况下至少需要的数量:d[i][1]表示第i个结点设置检查的情况下的最小需要的数量. 状态转移方程见代码. 但是万万没想到 ...

  3. TC SRM 584 DIV2

    250pt: 水题set处理. 500pt: 题意: 给你一个图,每条边关联的两点为朋友,题目要求假设x的金钱为y,则他的左右的朋友当中的钱数z,取值为y - d <= z <= y + ...

  4. activemq、rabbitmq、kafka原理和比较

    一.activemq 虽然是java写的消息队列,但是提供Java, C, C++, C#, Ruby, Perl, Python, PHP各种客户端,所以语言上是没什么问题的.配置和使用,基本上是j ...

  5. RJ45接口

    什么是rj45接口? rj45是各种不同接头的一种类型,通常用于数据传输,最常见的应用为网卡接口. 常见的RJ45接口有两类:用于以太网网卡.路由器以太网接口等的DTE类型,还有用于交换机等的DCE类 ...

  6. HDU - 4804 Campus Design 轮廓线dp

    题意:一个nm的矩阵被12的骨牌和11的骨牌完全覆盖,11的骨牌只能放c-d次,矩阵中有障碍物 题解:dp[i][j][k]表示到了第i行,第j个状态,放过k个11的骨牌,当前位有障碍物时只有一种转移 ...

  7. MyBatis Generator去掉生成的注解

    是不是很讨厌mybatis Generator帮我们生成代码的时候在Mapper和mapper.xml文件中生成的一大堆注解?今天在看MyBatis Generator代码的时候发现,原来mybati ...

  8. SpringBoot 使用 EhCache2.x 缓存(三十一)

    SpringBoot 使用 EhCache2.x 缓存入门很简单,废话少说上干货: 1.在POM.xml中增加jar包 <!--开启 cache 缓存--> <dependency& ...

  9. C语言中的可变参数函数

    C语言编程中有时会遇到一些参数个数可变的函数,例如printf()函数,其函数原型为: int printf( const char* format, ...); 它除了有一个参数format固定以外 ...

  10. vue.js-读取/发送数据

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...