小情人emacs的自动补全
前天打字的时候发现手指疼…..OTL…思考了一下可能是我近几个月以来一直在使用全部手敲代码不使用自动补全的“恶果”(当然我还是建议全部手敲的,至少可以感觉到强烈的屌丝满足感)。
先来个效果图

是不是看上去碉堡了…
用的github上面的这个神奇的东西
下载之后有说明文档,按照说明文档进行安装,这里说下遇到过的问题
如果你是第一次和你的情人约会(给emacs安装插件)
需要你添加这样一句话在你的.emacs文件中
(add-to-list 'load-path "~/.emacs.d")
里面的"~/.emacs.d"表示你的.emacs.d的文件夹的位置(就是你按照文档安装的时候安装到的路径,这个是默认路径,亲测windows和osX都可以这样写)
之后如果可能说
symbol's value as variable is void ac-dictionary-directories
这个时候把下面这一行提前(在 上面增加的那一行之后)
(require 'auto-complete-config)
然后有可能会说找不到popup什么什么巴拉巴拉的一堆
搜了一下感觉是这样,auto-complete只是负责补全,但是那个下拉框一样的东西是需要popup这个插件的
在git上面找到这个:
然后按照文档轻松安装一下,然后再进入emacs发现不报错了。小情人的又一次调教完成了!可以开始享受了。
之后我把.emacs和.emacs.d两个文件和dropbox里面做了链接,然后以后走到哪,emacs的配置都可以轻松同步了,小情人随叫随到,真是让人爱不释手啊。
ps: 上周参加BCTF和队友们聊天说用什么编辑器,后来说到了vim和emacs两个。但是又说这两个家伙实在是麻烦了,配置起来很浪费时间。我就说,这才是他们的魅力。就好像在养一个情人,所有你做的事情都是私人定制的,她哪里让你不舒服你都能修改(快捷键),可以给她买衣服(装插件)。关键的问题是她不会反抗!!
最后再附上一个最近修改的.emacs文件的内容
1: (custom-set-variables
2: '(custom-enabled-themes (quote (dichromacy)))
3: '(inhibit-startup-screen t))
4: (custom-set-faces
5: )
6: ;;添加load-path
7: (add-to-list 'load-path "~/.emacs.d")
8: ;;自动补全
9: (require 'auto-complete-config)
10: (ac-config-default)
11: (auto-complete-mode t)
12: ;;设置非macOS的字体
13: (set-default-font " -outline-Verdana-normal-normal-normal-sans-17-*-*-*-p-*-iso8859-1")
14: (when (eq system-type 'darwin)
15: ;;设置一个MacOS字体
16: (set-default-font " -apple-Monaco-medium-normal-normal-*-14-*-*-*-m-0-iso10646-1")
17: ;;干掉小方框!!因为上面那个万恶的字体没有草泥马的斜体!!!
18: (set-fontset-font "fontset-default" 'gb18030' ("STHeiti" . "unicode-bmp"))
19: )
20: ;;设置一个屌逼的c风格的缩进
21: (setq c-basic-offset 4)
22: ;;设置一个开始的路径
23: (setq default-directory "/Users/lulala/Documents/")
24: ;;关掉默认的tab设置为4个空格
25: (setq default-tab-width 4)
26: (setq-default indent-tabs-mode nil)
27: ;;弄出来行号
28: (global-linum-mode t)
29: ;;设置好左右匹配
30: (global-set-key [(meta left)] 'backward-sexp)
31: (global-set-key [(meta right)] 'forward-sexp)
32: ;;M-g设置为gotoline
33: (global-set-key [(meta g)] 'goto-line)
34: ;;设置注释区域
35: (defun my-comment-or-uncomment-region (beg end &optional arg)
36: (interactive (if (use-region-p)
37: (list (region-beginning) (region-end) nil)
38: (list (line-beginning-position)
39: (line-beginning-position 2))))
40: (comment-or-uncomment-region beg end arg)
41: )
42: (global-set-key [(control /)] 'my-comment-or-uncomment-region)
43:
44: ;;设置搜索时严格按照大小写
45: (setq-default case-fold-search nil)
46:
47: ;;设置搜索时高亮系那是全部
48: (setq search-highlight t)
49:
50: ;;设置替换时高亮显示
51: (setq query-replace-highlight t)
52: ;;设置背景颜色
53: (set-background-color "#faf9de")
54: ;;应该是行号之后空一条
55: (put 'upcase-region 'disabled nil)
56: ;;set meta real meta
57: (when (eq system-type 'darwin)
58: (setq mac-option-modifier 'meta)
59: (setq mac-command-modifier 'control)
60: (global-set-key [kp-delete] 'delete-char) ;; sets fn-delete to be right-delete
61: )
62: ;;()的匹配
63: (show-paren-mode t)
64: (setq show-paren-style 'parentheses)
65: ;;光标移动到鼠标的时候把鼠标干掉!
66: (mouse-avoidance-mode 'animate)
67: ;;设置光标为|而不是小黑块
68: (setq-default cursor-type 'bar)
69: ;;设置打开ejs的时候默认使用html-mode
70: (
71: setq auto-mode-alist
72: ( append
73: '(("\\.ejs\\'" . html-mode)
74: ("\\.s?html?\\'" . html-mode)
75: (" \\.asp\\'" . html-helper-mode)
76: ("\\.phtml\\'" . html-helper-mode)
77: ("\\.css\\'" . css-mode)
78: ("\\.pc$" . c-mode)
79: )
80: auto-mode-alist))
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
小情人emacs的自动补全的更多相关文章
- Emacs Python 自动补全之 jedi
jedi jedi 的安装配置并不是很友好.github 上也没有明确说明.查了很多资料, 最后才配置成功.可是效果却不是很理想.在补全的时候有明显的卡顿现象. 不知道网上这么多人对其推崇备至是因为什 ...
- Emacs Python 自动补全之 eglot
eglot 个人水平有限,自己的测试难免有不足甚至错误的地方.欢迎各位emacser 能前来留言交流. 首先eglot 是一个lsp-mode的集成环境.作者说这不仅仅是一个lsp工具.但是我从其说明 ...
- Emacs Python 自动补全--Elpy
安装方法: 首先,安装一些依赖包: # Either of these pip install rope pip install jedi # flake8 用来检查语法错误 pip install ...
- ycmd for emacs 代码自动补全
YCMD FOR EMACS Table of Contents 1. 安装 1.1. 下载 1.2. 安装相关依赖 1.3. 更新submodules 1.4. 安装 2. 配置 1 安装 1. ...
- emacs: 文本输入中文件目录自动补全
emacs: 文本输入中文件目录自动补全 // */ // ]]> UP | HOME emacs: 文本输入中文件目录自动补全 Table of Contents 1 引言 2 补全过程演 ...
- gocode+auto-complete搭建emacs的go语言自动补全功能
上篇随笔记录了在emacs中使用go-mode和goflymake搭建了go语言的简单编程环境(推送门),今天来记录一下使用gocode+auto-complete配置emacs中go语言的自动补全功 ...
- Emacs 自动补全插件 ycmd
Emacs 自动补全,最好的插件当属 ycmd.以下记录我的安装过程. 1. 安装 ycmd server github 官方地址: https://github.com/Valloric/ycmd ...
- purcell的emacs配置中的自动补全功能开启
标记一下,原文参看purcell的emacs配置中的自动补全功能开启 修改init-auto-complete.el文件 ;;(setq-default ac-expand-on-auto-compl ...
- kubernetes系列(小知识):kubectl命令自动补全
kubectl命令自动补全 linux系统 yum install -y bash-completion source /usr/share/bash-completion/completions/d ...
随机推荐
- iOS开发内购图文教程
2015年最全的内购图文教程,首先是填各种资料,最后是代码,废话不多说,直接上图 ======================第一部分协议=============== 第一步.png 第二步.jpg ...
- iOS开发进阶-实现多线程的3种方法
相关文章链接: 1.多线程简介 2.实现多线程的3种方法 ......待续 前言 在多线程简介中,我已经说明过了,为了提高界面的流畅度以及用户体验.我们务必要把耗时的操作放到别的线程中去执行,千万不要 ...
- OC - 17.AFNetworking原理及常用操作
AFN的六大模块 NSURLConnection,主要对NSURLConnection进行了进一步的封装,包含以下核心的类: AFURLConnectionOperation AFHTTPReques ...
- [转]看看国外的javascript题目,你能全部做对吗?
叶小钗 的博客最近都在讨论面试题目 正好以前也看过一篇,就借花献佛拿出来分享一下 http://perfectionkills.com/javascript-quiz/ 附带了自己的理解,答案有争议的 ...
- 中文翻译:pjsip教程(二)之ICE穿越打洞:Interactive Connectivity Establishment简介
1:pjsip教程(一)之PJNATH简介 2:pjsip教程(二)之ICE穿越打洞:Interactive Connectivity Establishment简介 3:pjsip教程(三)之ICE ...
- hdu 1396 Counting Triangles(递推)
Counting Triangles Problem Description Given an equilateral triangle with n thelength of its side, p ...
- Linux 特殊权限位
特殊权限位 LINUX 基本权限有9位但是还有三位特殊权限. suid s(有x权限) S(没有x权限) 4 在用户权限的第三位 sgid s(有x权限) S(没有x权限) 2 在用户组权限的第三位 ...
- ThinkPHP HTML标签代码和UBB互相转换
1.UBB 转为 HTML TP的扩展里面自带一个ubb方法,用这个方法就能把用户输入的ubb格式代码转换为HTML标签的代码.这里用到的基本知识就是正则表达式啦,今天先不讲正则表达式. 来看一下TP ...
- crontab 基本用法
crontab格式:第1列分钟1-59第2列小时1-23(0表示子夜)第3列日1-31第4列月1-12第5列星期0-6(0表示星期天)第6列要运行的命令 还可以用一些特殊符号: *: 表示任何时刻 , ...
- 我学C的那些年[ch02]:宏,结构体,typedef
c语言的编译过程: 预处理 编译 汇编 链接 而预处理中有三种情况: 文件包含( #include ) 条件编译(#if,#ifndef,#endif) 宏定义( #define ) 宏就是预处理中的 ...