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

先来个效果图

是不是看上去碉堡了…

用的github上面的这个神奇的东西

auto-complete

下载之后有说明文档,按照说明文档进行安装,这里说下遇到过的问题

如果你是第一次和你的情人约会(给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上面找到这个:

popup

然后按照文档轻松安装一下,然后再进入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的自动补全的更多相关文章

  1. Emacs Python 自动补全之 jedi

    jedi jedi 的安装配置并不是很友好.github 上也没有明确说明.查了很多资料, 最后才配置成功.可是效果却不是很理想.在补全的时候有明显的卡顿现象. 不知道网上这么多人对其推崇备至是因为什 ...

  2. Emacs Python 自动补全之 eglot

    eglot 个人水平有限,自己的测试难免有不足甚至错误的地方.欢迎各位emacser 能前来留言交流. 首先eglot 是一个lsp-mode的集成环境.作者说这不仅仅是一个lsp工具.但是我从其说明 ...

  3. Emacs Python 自动补全--Elpy

    安装方法: 首先,安装一些依赖包: # Either of these pip install rope pip install jedi # flake8 用来检查语法错误 pip install ...

  4. ycmd for emacs 代码自动补全

    YCMD FOR EMACS Table of Contents 1. 安装 1.1. 下载 1.2. 安装相关依赖 1.3. 更新submodules 1.4. 安装 2. 配置 1 安装   1. ...

  5. emacs: 文本输入中文件目录自动补全

    emacs: 文本输入中文件目录自动补全 // */ // ]]> UP | HOME   emacs: 文本输入中文件目录自动补全 Table of Contents 1 引言 2 补全过程演 ...

  6. gocode+auto-complete搭建emacs的go语言自动补全功能

    上篇随笔记录了在emacs中使用go-mode和goflymake搭建了go语言的简单编程环境(推送门),今天来记录一下使用gocode+auto-complete配置emacs中go语言的自动补全功 ...

  7. Emacs 自动补全插件 ycmd

    Emacs 自动补全,最好的插件当属 ycmd.以下记录我的安装过程. 1. 安装 ycmd server github 官方地址: https://github.com/Valloric/ycmd ...

  8. purcell的emacs配置中的自动补全功能开启

    标记一下,原文参看purcell的emacs配置中的自动补全功能开启 修改init-auto-complete.el文件 ;;(setq-default ac-expand-on-auto-compl ...

  9. kubernetes系列(小知识):kubectl命令自动补全

    kubectl命令自动补全 linux系统 yum install -y bash-completion source /usr/share/bash-completion/completions/d ...

随机推荐

  1. 第4条:多用类型常量,少用#define预处理指令

    定义常量的几种方式: 1.#define ANIMATION_DURAION 0.3         //定义了一个动画时长的常量, 预处理过程会把碰到的所有ANIMATION_DURAION一律替换 ...

  2. 自定义Operation

    1.要自定义一个Operation 首先要创建一个继承于NSOperation的类. 2.在创建好的类的.h文件声明自定义的方法:-(instancetype)initWithDownLoadMess ...

  3. 关于通过bindService启动的service,在unbindService后service是否继续运行的讨论

    有三种情况:如果直接使用服务,则没有必要进行绑定,但是如果要使用服务里面的方法,则要进行绑定.具体的启动情况有下: 1.当启动时,单独调用bindService方法,在unbindService后,会 ...

  4. windows phone 之ListBox模板选择

    有时做项目时,会遇到一种情况:需要把获取到的数据集合显示到首页,比如新闻,但是: 新闻也分类别啊,比如:图片类新闻.文字类新闻.视频类新闻. 那我们可能采用的模板就不一样了,那么,如何根据类别来选择模 ...

  5. gem install 出现Errno::ECONNRESET: Connection reset by peer - SSL_connect (https://ruby.taobao.org

    这几天在ubuntu14.04.1 64位上安装rails的时候,由于大天朝的原因,更换了淘宝源,然后执行 gem install rails 这个时候,总是会提示 Errno::ECONNRESET ...

  6. 【转】Hibernate各种主键生成策略与配置详解

    原文转自:Fra~~kaka's Blog 1.assigned 主键由外部程序负责生成,在 save() 之前必须指定一个.Hibernate不负责维护主键生成.与Hibernate和底层数据库都无 ...

  7. hw-text1

    Text 1 测试题 python是什么类型的语言? 解释型语言,是脚本语言 百娘(脚本语言是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语 ...

  8. linux c++ 遍历一个目录下的文件名 (包括子目录的文件名)

    最近写代码有一个要遍历目录下的每一个文件并取得这个文件的绝对路径的需求, 我们知道linux c++中有system命令所以我在代码中 先生成了一个log,然后去读log文件的每一行文件名,然后给存储 ...

  9. 如何在win7上面安装python的包

    最近在win7上面搞python,然后写的一些代码涉及到了对Excel的读写.所以需要用到包xlrd xlwt  xlutils. 但问题是这些包import后显示的是找不到.错误提示是:Import ...

  10. 自动发布工具版本从python2升级成python3后遇到的种种问题(涉及paramiko,Crypto,zipfile等等)

    从在公司实习到正式入职,一直还在被同事使用的是我写的一个自动发布工具.该工具的主要功能是:开发人员给出需要更新的代码包(zip格式),测试人员将该代码包部署到测服,这些代码包和JIRA数据库里的项目信 ...