[efficiency] emacs入门
一。
没记错的话,这可能是第三次读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入门的更多相关文章
- emacs入门
emacs入门 复制: 用Ctrl-@ 设置起点, 然后移动光标到终点, 为了确认你的起点和终点,可以用 C-x C-x 将光标在起点和终点间切换,如果没问题了,可以用 Alt-w 来复制. 再找一个 ...
- emacs 入门第一课:Emacs里的基本概念
Table of Contents 无聊的开场白 buffer(缓冲区) window(窗口)与frame Emacs的mode Emacs Lisp 函数function.命令command.键绑定 ...
- emacs 入门教程,菜单汉化,配置文件等杂乱文章
首先来一发ArchWiki的Emacs简体中文的入门教程 https://wiki.archlinux.org/index.php/Emacs_(%E7%AE%80%E4%BD%93%E4%B8%AD ...
- Emacs入门快捷键
打开emacs开始一个程序最基本操作: 1.打开Emacs,执行 $ emacs 2.建立一个新的程序文件. 按C-x C-f 然后在屏幕的底部出现minibuffer,光标提示你输入文件名称, 文件 ...
- Linux编辑器Vim和Emacs入门
sudo 命令 debian系统没有自带,需要安装: apt-get install sudo 安装位置为 /usr/bin/sudo,对应配置文件为 /etc/sudoers sudoers授权格式 ...
- Emacs 入门(https://www.zybuluo.com/eqyun/note/40788)
下载地址 基本操作(C=Ctrl, M=Alt) C-f 向右移动一个字符 C-b 向左移动一个字符 C-n 移动到下一行 C-p 移动到上一行 M-f 向右移动一个词[对中文是移动到下一个标点符号] ...
- [daily] 如何用emacs+xcscope阅读内核源码
假设 首先我假设: 你已经学会了使用emacs. 同时也学会了使用cscope. 读过cscope官网上,关于emacs的使用指引. 它的指引就是请你去阅读xcscope.el的源码,当然这无可厚非, ...
- Emacs学习心得之 基础操作
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Emacs学习心得之 基础操作 1.前言与学习计划2.Emacs基础操作 一. 前言与学习计 ...
- Emacs 之查看帮助
// */ // ]]> Emacs 之查看帮助 Table of Contents 1. Emacs 入门 1.1. 查看简单的帮助 1.2. 执行elisp代码 1 Emacs 入门 ...
随机推荐
- ffmpeg -i 10.wmv -c:v libx264 -c:a aac -strict -2 -f hls -hls_list_size 0 -hls_time 5 C:\fm\074\10\10.m3u8
ffmpeg -i 10.wmv -c:v libx264 -c:a aac -strict -2 -f hls -hls_list_size 0 -hls_time 5 C:\fm\074\10\1 ...
- 【Android】解析Paint类中Xfermode的使用
Paint类提供了setXfermode(Xfermode xfermode)方法,Xfermode指明了原图像和目标图像的结合方式.谈到Xfermode就不得不谈它的派生类PorterDuffXfe ...
- CentOS 7.4nginx配置SSL
一.在/etc/nginx/conf.d目录下创建虚拟主机配置文件 server { listen 80; server_name www.xx.com xx.com; return 301 http ...
- atitit 如何才能保持基业长青,建立万年企业v2 q66.docx
1. 价值观 1 2. 分权 民主化 扁平化管理 1 3. 剥离经济部门,,降低经济的重要性 .超越利润的追求 1 4. 构建愿景 1 5. 强大的团队文化 企业文化 宗教文化 .教派般的文化 1 1 ...
- Base标签小记:更改当前页面的地址
一般来说,H5游戏的部署,index.html和代码资源都会放在同一个地址下然后使用iFrame导入到需要加载游戏的页面即可. 但是今天游戏项目部署遇到了一个问题,游戏自己的访问页面(index.ht ...
- 给页面点击链接加了转圈圈和解决遇到的bug
今天遇到一个问题,之前给整个网站上的链接加了loading,今天遇到在ios的chrome和safari下点击进入新页面然后点击浏览器的返回按钮,loading还在,并且一直存在,最后网上搜到了解决方 ...
- ffmpeg中av_log的实现分析
[时间:2017-10] [状态:Open] [关键词:ffmpeg,avutil,av_log, 日志输出] 0 引言 FFmpeg的libavutil中的日志输出的接口整体比较少,但是功能还是不错 ...
- MySQL字符集详解
Reference: https://www.cnblogs.com/wcwen1990/p/6917109.html MySQL字符集详解 一.字符集和校验规则 字符集是一套符合和编码,校验规 ...
- 【GMT43智能液晶模块】例程十三:FATFS实验——文件操作
实验原理: STM32F429上带有SDIO控制器,GMT43液晶模块上将SDIO连接到TF卡座.本实验 将Micro SD卡插入TF卡座上即可.通过FATFS创建test.txt文件,并且写入数据0 ...
- Java编程的逻辑 (93) - 函数式数据处理 (下)
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...