emacs speedbar功能介绍

speedbar启动命令M-x speedbar,效果如下:

speedbar是一个frame,它会遮挡你工作中的buffer。鼠标左键点击,或者敲回车,都会自动跳转到相应的文件或者文件里的方法定义或者变量的定义。

函数speedbar-get-focus :在buffer和speedbar之间切换

Base Navigation

speedbar有很多mode,这些mode有通用的行为,菜单和钩子(hook),所以只要掌握了一个mode,其余的mode就很容易掌握。

所有mode都通用的键绑定:

  • Q:退出speedbar,并杀死speedbar所在的frame
  • q:退出speedbar,并隐藏speedbar所在的frame
  • g:刷新speedbar里显示的内容,比如你在启动speedbar后,在文件夹里又添加了文件,这个文件不会自动显示在当前的speedbar里,按了g后,就会显示出来了。
  • t:在从slowbar mode 切换到speedbar ,或者从speedbar 切换到slowbar mode。
  • n/p:向上或者向下移动,并显示项目的摘要信息,如果项目是文件,就显示文件的权限所属,文件大小等。
  • M-n/M-p:跳跃地(跨过已经展开的list)向上或者向下移动,并显示项目的摘要信息。
  • C-x b :切换buffer。
  • b:切换到Quick Buffers mode (显示打开了多少个buffer)
  • f:Switch into File mode. (显示buffer所在目录下的所有相关文件,比如buffer里是.c文件,则显示这个.c文件所在目录下的所有.c .h .hpp. cpp等文件)。
  • r:切回到上一个mode
  • 回车/e:如果在file mode则,打开或者编辑这个文件;如果在buffer mode,则编辑这个buffer。
  • +/=:展开list
  • -:合上list
  • 空格:展开/合上

File Mode

第一行是当前目录的全路径,可以鼠标点击某个文件夹,就会跳转。

1,如果是c/c++文件,当4.c文件有与之对应的最新4.o文件的话,4.c后面有下图的图标。

2,如果是c/c++文件,当用4.c文件生成4.o文件后,又修改了4.c文件话,4.c后面有下图的图标。

3,有些文件在speedbar里是没有被显示的。不显示的级别有个级别。

  • 级别1:以点开头的文件

  • 级别2:变量completion-ignored-extensions 里的文件。

    变量completion-ignored-extensions的值:
    (".o" "~" ".bin" ".lbin" ".so" ".a" ".ln" ".blg" ".bbl" ".elc" ".lof" ".glo" ".idx" ".lot" ".svn/" ".hg/" ".git/" ".bzr/" "CVS/" "_darcs/" "_MTN/" ".fmt" ".tfm" ".class" ".fas" ".lib" ".mem" ".x86f" ".sparcf" ".dfsl" ".pfsl" ".d64fsl" ".p64fsl" ".lx64fsl" ".lx32fsl" ".dx64fsl" ".dx32fsl" ".fx64fsl" ".fx32fsl" ".sx64fsl" ".sx32fsl" ".wx64fsl" ".wx32fsl" ".fasl" ".ufsl" ".fsl" ".dxl" ".lo" ".la" ".gmo" ".mo" ".toc" ".aux" ".cp" ".fn" ".ky" ".pg" ".tp" ".vr" ".cps" ".fns" ".kys" ".pgs" ".tps" ".vrs" ".pyc" ".pyo")

    所有上面为后缀名的文件都属于级别2里不被speedbar显示的文件

4,file mode 里的键绑定

  • U:移动到上一级文件夹

  • I:显示项目的摘要信息,如果项目是文件,就显示文件的权限所属,文件大小等。

  • B:编译光标所在行的 Emacs Lisp 文件

  • L:加载当前光标所在行.elc文件所对应的源码文件,如果存在的话。

  • C:拷贝当前光标所在行的文件

  • R:重命名当前光标所在行的文件(也可以改变当前文件的存放路径)

  • D:删除当前光标所在行的文件

  • O:删除当前光标所在行的文件(4.c),所对应的4.o文件。

Buffer Mode

键绑定:

  • k:杀死当前光标所在行的buffer
  • r:重新加载前光标所在行的buffer所对应的文件到buffer

一些钩子(Hooks)

hooks

  • speedbar-visiting-file-hook :

    Hooks run when speedbar visits a file in the selected frame.

  • speedbar-visiting-tag-hook :

    Hooks run when speedbar visits a tag in the selected frame.

  • speedbar-load-hook :

    Hooks run when speedbar is loaded.

  • speedbar-reconfigure-keymaps-hook :

    当切换mode后,就会触发重新生成键位图;当生成键位图后,就会调用这个钩子。

  • speedbar-before-popup-hook :

    在弹出speedbar前,调用这个钩子。

  • speedbar-before-delete-hook :

    在删除或者隐藏speedbar的frame前,调用这个钩子。

  • speedbar-mode-hook :

    speedbar启动后,调用这个钩子。

  • speedbar-timer-hook :

    运行peedbar timer function 后,调用这个钩子。

  • speedbar-scanner-reset-hook :

    Hook called whenever generic scanners are reset. Set this to implement your own scanning or rescan safe functions with state data.

c/c++ 学习互助QQ群:877684253

本人微信:xiaoshitou5854

emacs speedbar功能介绍的更多相关文章

  1. semantic功能介绍

    semantic功能介绍 gnu Semantic Manual 1,代码自动补全 3,代码导航 启动semantic功能:(semantic-mode 1) 1,Semantic mode 是辅助模 ...

  2. .NET平台开源项目速览(13)机器学习组件Accord.NET框架功能介绍

    Accord.NET Framework是在AForge.NET项目的基础上封装和进一步开发而来.因为AForge.NET更注重与一些底层和广度,而Accord.NET Framework更注重与机器 ...

  3. 微信小程序产品定位及功能介绍

    产品定位及功能介绍 微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验. 小程序注册 注册小程序帐号 在微信公众平台官网首页(mp.weixin.qq ...

  4. 带你走近AngularJS - 基本功能介绍

    带你走近AngularJS系列: 带你走近AngularJS - 基本功能介绍 带你走近AngularJS - 体验指令实例 带你走近AngularJS - 创建自定义指令 ------------- ...

  5. MWeb 1.4 新功能介绍一:引入文件夹到 MWeb 中管理,支持 Octpress、Jekyll 等静态博客拖拽插入图片和实时预览

    之前在 MWeb 中打开非文档库中的 Markdown 文档,如果文档中有引用到本机图片,是没办法在 MWeb 中显示出来和预览的.这是因为 Apple 规定在 Mac App Store(MAS) ...

  6. Joomla软件功能介绍与开源程序大比拼Joomla,wordpress,Drupal哪个好?

    Joomla 软件功能介绍:    Joomla!是一套在国外相当知名的内容管理系统 (Content Management System, CMS),它属于Portal(企业入口网站)类型,顾名思义 ...

  7. CentOS以及Oracle数据库发展历史及各版本新功能介绍, 便于构造环境时有个对应关系

    CentOS版本历史 版本 CentOS版本号有两个部分,一个主要版本和一个次要版本,主要和次要版本号分别对应于RHEL的主要版本与更新包,CentOS采取从RHEL的源代码包来构建.例如CentOS ...

  8. python中列表、元组、字典内部功能介绍

    一.列表(list) 常用功能的介绍:

  9. 网页引导:jQuery插件实现的页面功能介绍引导页效果

    现在很多网站不仅是介绍,更多的是有一些功能,怎么样让客户快速的知道网站有哪些功能呢?这里pagewalkthrough.js插件能帮我们实现,它是一个轻量级的jQuery插件,它可以帮助我们创建一个遮 ...

随机推荐

  1. Java 国际化标准程序实现

    国际化程序实现 所谓的国家化应用指的就是根据当前的语言环境读取指定的语言资源文件. 如果要想实现国际化的操作,那么首先要解决的问题就是如何读取资源文件的问题:所谓的资源文件 就是指文件后缀名称为:&q ...

  2. 数据处理之以OLEDB方式读取Excel数据丢失的原因及解决方法

    1.引言 在应用程序的设计中,经常需要读取Excel数据或将Excel数据导入转换到其他数据载体中,C#读取Excel的方式有两种,一种是通过OLEDB方式读取,另一种为通过COM组件方式读取.近段时 ...

  3. SAP MM 无料号采购申请单中'评估价格'之填写

    SAP MM 无料号采购申请单中'评估价格'之填写 1),SAP系统中,采购申请里的'评估价格'来源有二, a)如果是有物料号的采购,则该价格来自于物料主数据里里的成本价(移动平均价或者标准价),自动 ...

  4. React Native适配IPhoneX系列设备之<SafeAreaView />

    SafeAreaView的目的是在一个“安全”的可视区域内渲染内容.具体来说就是因为目前有 iPhone X 这样的带有“刘海”的全面屏设备,所以需要避免内容渲染到不可见的“刘海”范围内.本组件目前仅 ...

  5. RCA:收单设备调用云端接口频繁超时排查总结

    研发中心/王鹏 2019年7月 关键词:OKHTTP,安卓,连接复用,开源软件BUG 一.背景知识: OKHTTP已是安卓项目中被广泛使用的网络请求开源库,它有如下特性: 1.支持HTTP/2,允许所 ...

  6. 个人项目开源之Django文件中转站源代码

    可以当做文件中转站或网盘 源代码

  7. GO 使用静态链接库编译 生成可执行文件 使用第三方 .a 文件,无源码构造

    go build 和 go install 都需要使用源码来进行编译.但是有时候我们只有.a或者.so文件.并不能获取到第三方库的源码,这时我们需要静态链接库编译的技巧: 上图是实验前的文件分布. 使 ...

  8. JVM java内存区域的介绍

    jvm虚拟机在运行时需要用到的内存区域.广泛一点就是堆和栈,其实不然,堆和栈只是相对比较笼统的说法,真正区分有如下几个 先上图一: 总的就是 java的内存模型 内存模型又分堆内存(heap)和方法区 ...

  9. SQL注入神器———Sqlmap!

    Sqlmap 开源,python编写 支持5种SQL注入检测技术: 1.基于布尔的注入检测 2.基于时间的注入检测 3.基于错误的注入检测 4.基于UNION联合查询的检测 5.基于堆叠查询的检测 支 ...

  10. MongoDB学习笔记(二、MongoDB查询)

    目录: MongoDB数据类型 MongoDB新增语法 MongoDB查询语法 MongoDB查询选择器 MongoDB关联查询 MongoDB数据类型: MongoDB新增语法: 语法:db.col ...