emacs之配置自动安装脚本
2024-08-29 08:55:09
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里面手工修改
最新文章
- nuget的搭建及多源冲突
- Java编写最大公约数和最小公倍数
- [linux] 默认权限修改(umask)
- 用javaScript实现 登陆记住密码功能。
- php动态安装mongo扩展
- C#委托(Delegate)学习日记
- ajaxfileupload批量上传文件+图片尺寸限制
- 0513JS数组内置方法、数学函数、时间函数
- vue 前端将时间戳格式化
- C# Winform设计运行时,界面模糊
- --- Android 设置为A2DP 接收器
- Java的优点
- 每天学点Linux-切割命令split
- Pandas之Series+DataFrame
- EF中修改对象的值的问题。。。(字段超级多的时候)
- jqGrid使用json实现的范例一
- Reading Notes : 180213 计算机的硬件构成与处理流程
- bzoj 4104 [Thu Summer Camp 2015]解密运算——思路
- 洛谷 P3275 [SCOI2011]糖果
- jquery toggle(listenerOdd, listenerEven)