一。

没记错的话,这可能是第三次读emacs tutorial了。前两次读的非常慢,也不记得有没有读完了。总之最后都忘光了。

这次读的很顺畅,利用工作的空闲时间加上今天晚上(周日)。总算是读完了。

没有链接地址可以附: 打开emacs,启动屏幕上有个超链接写着 EMACS TUTORIAL,点上去就可以了。

二。

趁热打铁,随手找了个emacs lisp的快速入门:

http://smacs.github.io/elisp/

看到第三章,写的实在不咋地。不看了。

三。

info elisp能看见有个手册。

里边介绍了官方的书

https://www.gnu.org/software/emacs/manual/html_node/eintr/

info里边也有这书,叫eintr。

但是我还不会用info,不知道怎么进去。不过可以在top目录里翻,也是能翻到的。我笨么 --!

读文档,门槛太高周期太长了。原来读了个tutorial根本就不够,不然从实际需求出发。先搞定眼前的事情,把它用起来再说。

四。在emacs中启用cscope

cscope的官网文档里没有任何说明。它说代码本身就是最好的说明了。

于是,读这个文件:

/usr/share/emacs/site-lisp/xcscope.el

里边说:

第一步,先把这个文件放到load-path目录下边。因为我是pacman安装的,它当前这个地方,就是load-path的地方了。

第二步,在配置文件里加上如下这行

(require ‘xscrope)

第三步,

默认情况下。cscope会自动在当前的工作目录下创建和更新数据库文件。我们一般,更倾向于自己手工创建。所以用如下配置,把这个特性关掉。

(setq cscope-do-not-update-database t)

第四步。

在你的工程根目录里,生成数据库文件

$ cscope -R -k -b -q

k指kernel工作,不需要生成/usr/include/下文件的索引。

q指quick,会生成三个文件,symble是分开存储的,适合大工程。查找起来比较快。

┬─[tong@T7:~/Src/thirdparty/linux.git]─[:: PM]
╰─>$ ls cscope*
cscope.in.out cscope.out cscope.po.out

第五步。

运行的是时候,开始的时候。你打开了源文件之后。要告诉emacs,你的cscopse数据库在什么位置上。

使用如下命令:ctrl+c, c, a 然后根据提示,指定目录。

第六步

操作:

使用ctrl+c, c, s 进行查找。

使用ctrl+c, c, u 可以调回上一个栈。

五。插件管理

上一节的cscope是通过pacman装的。因为它不仅仅被emacs使用,还会别vim使用。是独立存在的。

但是呢,我还有装更多的插件。这个时候,比如需要插件的管理。emacs自己集成了插件管理功能。

可以用M^x, package-list-package 命令进行查看。

查看库。库的定义,在变量package-archives里边能看查看到。在scratch模式下,使用C^h+v可以查看变量的帮助信息,如下:

package-archives is a variable defined in ‘package.el’.
Its value is (("gnu" . "https://elpa.gnu.org/packages/"))

默认的库,是elpa。我们现在加一个melpa。参考这里

elpa在这里。https://elpa.gnu.org/packages/

melpa在这里。http://melpa.org/#/getting-started

一。

参照melpa的文档。我们把melpa也加进去,在配置文件中增加如下一行:

(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages") t)

二。

使用命令,更新数据库

M^x package-refresh-contents

三。

查看所有的包

M^x package-list-packages

安装需要的包

M-x package-install

六。安装目录树插件

用五中提到的方法安装neotree

在list package的窗口里选定包的名字。可以打开帮助信息。

七。安装像VIM里的taglist、tagbar一样的插件

它的名字叫imenu-list。用五中的方法安装。

安装好之后,使用如下命令查看一下帮助

C^h P imenu-list

帮助里并没有说,需要该配置文件来初始化,所以就可以直接用了。

使用如下命令,就可以打开一个新的window了。

M-x imenu-list-minor-mode

至此。基本上就可以替换vim使用了。

当然还有很多东西需要学,不过既然可以用起来,就是说已经入了门,之后便可以一边用一边学了。

终有一天会越用越熟的。

最后的效果,截个图看一下。

[efficiency] emacs入门的更多相关文章

  1. emacs入门

    emacs入门 复制: 用Ctrl-@ 设置起点, 然后移动光标到终点, 为了确认你的起点和终点,可以用 C-x C-x 将光标在起点和终点间切换,如果没问题了,可以用 Alt-w 来复制. 再找一个 ...

  2. emacs 入门第一课:Emacs里的基本概念

    Table of Contents 无聊的开场白 buffer(缓冲区) window(窗口)与frame Emacs的mode Emacs Lisp 函数function.命令command.键绑定 ...

  3. emacs 入门教程,菜单汉化,配置文件等杂乱文章

    首先来一发ArchWiki的Emacs简体中文的入门教程 https://wiki.archlinux.org/index.php/Emacs_(%E7%AE%80%E4%BD%93%E4%B8%AD ...

  4. Emacs入门快捷键

    打开emacs开始一个程序最基本操作: 1.打开Emacs,执行 $ emacs 2.建立一个新的程序文件. 按C-x C-f 然后在屏幕的底部出现minibuffer,光标提示你输入文件名称, 文件 ...

  5. Linux编辑器Vim和Emacs入门

    sudo 命令 debian系统没有自带,需要安装: apt-get install sudo 安装位置为 /usr/bin/sudo,对应配置文件为 /etc/sudoers sudoers授权格式 ...

  6. Emacs 入门(https://www.zybuluo.com/eqyun/note/40788)

    下载地址 基本操作(C=Ctrl, M=Alt) C-f 向右移动一个字符 C-b 向左移动一个字符 C-n 移动到下一行 C-p 移动到上一行 M-f 向右移动一个词[对中文是移动到下一个标点符号] ...

  7. [daily] 如何用emacs+xcscope阅读内核源码

    假设 首先我假设: 你已经学会了使用emacs. 同时也学会了使用cscope. 读过cscope官网上,关于emacs的使用指引. 它的指引就是请你去阅读xcscope.el的源码,当然这无可厚非, ...

  8. Emacs学习心得之 基础操作

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Emacs学习心得之 基础操作 1.前言与学习计划2.Emacs基础操作 一. 前言与学习计 ...

  9. Emacs 之查看帮助

    // */ // ]]> Emacs  之查看帮助 Table of Contents 1. Emacs 入门 1.1. 查看简单的帮助 1.2. 执行elisp代码 1 Emacs 入门   ...

随机推荐

  1. Centos 7.x nginx隐藏版本号

    一.打开配置文件 #vim /etc/nginx/nginx.conf 二.增加一行: server_tokens    off; 三.重启nginx #nginx -s reload 四.效果

  2. CentOS 服务器添加简易"回收站"

    删除是危险系数很高的操作,一旦误删可能会造成难以估计的损失.比如,一条简单的语句:rm –rf /* 就会把整个系统全部删除,而 Linux 并不会因为这条语句的不合理而拒绝执行. 在 Windows ...

  3. [svc]证书学习索引

    数字证书基础知识 对称加密/非对称加密细枝末节 openssl对称非对称加密实战 使用OpenSSL实现CA证书的搭建过程 通过openssl生成证书 HTTPS证书生成原理和部署细节 证书各个字段的 ...

  4. Navicat(数据库可视化操作软件)安装、配置、测试

    Navicat(数据库可视化操作软件)安装.配置.测试(win7_64bit) 目录 1.概述 2.本文用到的工具 3.Navicat安装.激活与配置 4.简单测试 5.注意事项 6.相关博文 > ...

  5. Windows 10 Manager v2.3.3

    Windows 10 Manager 是专门用于微软 Windows10 的集所有功能于一身的实用工具,它包括了40多个不同的实用程序来优化.调整.清理.加快和修复您的 Windows 10,可以让你 ...

  6. Linux DMA Engine framework(3)_dma controller驱动

    http://www.wowotech.net/linux_kenrel/dma_controller_driver.html

  7. Windows 10下安装配置Caffe并支持GPU加速(修改版)

    基本环境 建议严格按照版本来 - Windows 10 - Visual Studio 2013 - Matlab R2016b - Anaconda - CUDA 8.0.44 - cuDNN v4 ...

  8. netty 粘包的解决策略

    粘包问题的解决策略      由于底层的 TCP 无法理解上层业务数据,所以在底层是无法保证数据包不被拆分和重组的 , 这个问题只能通过上层的应用协议栈设计来解决,根据业界主流的协议的解决方案, 可以 ...

  9. VMware vCenter Server 6.5配置群集功能

    虚拟数据中心是一种容器,其中包含用于操作虚拟机的完整功能环境所需要的全部清单对象.可以创建多个数据中心,以实际需求创建 . 群集是一组主机,将主机添加到群集时,主机的资源将成为群集资源的一部分,群集管 ...

  10. 通过java实现解压zip,rar的代码

    package com.zuidaima.main; import java.io.File; import java.io.FileInputStream; import java.io.FileO ...