`
ppgunjack
  • 浏览: 80213 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

尝试使用Emacs

阅读更多

Emacs的强大毋庸置疑,但是要把它折腾到好用是件成本很高的事情。

现在由于工作需要要同时浏览c++、java代码,要在linux、window、远程、本地、IDE,shell间来回切换,太过麻烦,于是开始强迫自己用Emacs处理这些问题。

 

刚开始用Emacs的时候的确很变扭,没有定制过的原始Emacs确实不怎么好用,尤其很难让用惯了IDE和window编辑器的人满意,不过当熬过这个阶段,你很快就能体会到它的优势和在很多事情上的便捷。

下面看看Emacs在开发中的表现:

 

1.文本和命令编辑过程中自动补完路径

在编写文档、脚本和代码过程中很多时候都需要填写冗长的路径。

在文本编辑模式和命令编辑过程中都可以利用autoComplete插件来提供自动路径完成。

 

2.文件夹操作

在有大量文件的文件夹中使用命令行是更简便的方式,可以很容易用正则来定位、打开、删除文件和文件夹

 

3.修改定制Emacs

要将Emacs打造顺手,有时需要查阅Emacs一些函数、变量定义,甚至添加修改功能实现的lisp脚本,那么对于编辑lisp的操作就很重要,下图是在ECB下的lisp编辑

 

在lips编辑中的autoComplete:

 

4.Emacs进行c,c++开发

这是Emacs开发中最强的领域,如果搭配好,结合GDB,基本上能打造成集VS,Source Insight,windbg于一体的开发环境。

 

ECB下阅读和编辑代码:

 

 

用Emacs集成环境下的GDB调试非常方便,能同时从不同方面观测程序:

 

在GDB环境下编译:

 

C++自动完成是比较麻烦的部分,这里使用autoComplete+clang的方案,clang的出现很好解决了C++代码的语法解析准确性和解析速度的问题,并且在Linux和window下都能通用。

stl的自动完成:

 

boost中智能指针的智能补全:

 

可以看到Emacs可以很好完成开发中的所有事情,但是适应和改造它确实是件痛苦的过程。

不过一旦跨过这个阶段,就会非常习惯和依赖它,因为里面每种功能都很容易用在其他模式下。它支持的类型非常广泛,包括各种代码、脚本、网页编辑、shell、telnet、远程ftp编辑、版本控制、文件比较,再结合autoComplete和yasnippet模板能极大提高文字、代码、脚本编辑和shell调用的效率。

Emacs在编辑上的便捷性不是用文字和图片能表述的,需要自己去亲身体会,尽管开头不容易,但学会Emacs将是一项长期高回报的投资。

  • 大小: 41.4 KB
  • 大小: 96.1 KB
  • 大小: 286.3 KB
  • 大小: 160.6 KB
  • 大小: 34.2 KB
  • 大小: 185.7 KB
  • 大小: 60.4 KB
  • 大小: 13.5 KB
  • 大小: 8.3 KB
分享到:
评论

相关推荐

    尝试在Emacs中进行良好的基于​​像素的平滑滚动-Android开发

    good-scroll.el在Emacs中尝试良好的基于​​像素的平滑滚动。关于此软件包实现按像素行的平滑滚动。 它尝试影响good-scroll.el尝试在Emacs中进行基于像素的良好平滑滚动。About此程序包实现了按像素行的平滑滚动。 ...

    parinfer-notes:我关于parinfer的笔记

    我认为parinfer是一个有趣的主意,并且对于各种编辑器而言,有许多实现方式的事实可能使它成为那些刚开始使用Lisp的人的一个很好的起点(那些从未尝试使用emacs编写Lisp的人可能会错失很多功能)。 但是,我认为它...

    good-scroll.el:尝试在Emacs中进行基于像素的平滑平滑滚动

    good-scroll.el:尝试在Emacs中进行基于像素的平滑平滑滚动

    Ruby-尝试搭建一个类似Emacs中文网的多人博客

    尝试搭建一个类似 Emacs中文网 的多人博客

    EmacsGoogleSync:该应用程序尝试在emacs日记和Google日历之间同步数据

    Emacs Google日历同步 该应用程序主要用于在Google日历和emacs日记之间进行同步。 先决条件 此应用程序使用保管箱保存emacs日记。 emacs日记支持的格式

    尝试修复点(emacsflycheck扩展)_Emacs Lisp_下载.zip

    尝试修复点(emacsflycheck扩展)_Emacs Lisp_下载.zip

    emacs.d:我的Emacs配置目录

    这是一个正在进行中的工作,在使用相对较长的时间后,我正尝试采用Emacs。 两者都是很棒的项目,我很难放弃彼此,所以您应该检查一下它们。 我写。 也许您会发现它很有趣,因为它描述了该文件的创建。 个人信息 ( ...

    ligature.el:在Emacs中显示印刷连字

    Emacs中的印刷连字 如果您的Emacs版本和字体都支持,则此程序包会将普通字素(字符)... 理想情况下,如果有可能,您应该尝试使用包含此修复程序的Emacs构建。 有关详情,请参见下文。 您的Emacs必须在启用Harfbuz

    dot-emacs:我用 Org 模式编写的 Emacs 配置

    这是一种让我的~/.emacs.d保持整洁的尝试,但仍然能够将其全部保存在一个文件中。 我的目标是在我进行的过程中简要解释我的所有配置! 我不建议按原样使用此配置,因为它可能包含很多您并不真正需要的内容。 但是...

    emacs.d:我的Emacs设置

    cache是我尝试保留所有临时文件创建的目录 packages具有我编写的所有自定义软件包或从某个位置粘贴的副本 elpa已将所有软件包安装在emacs中 snippets具有所有yasnippet片段 UI受到强烈启发 浅色主题 用法 git clone ...

    emacs.d:我的个人Emacs设置

    避免使用Emacs发行版,例如 , 或 。 这不是对这种分发的质量或目的的评论,它们只是不适合我。 保持外部包装的数量最少。 Eschew重量级软件包从根本上改变了Emacs的工作方式。 首选与Emacs其余部分组成良好的...

    circe, 在Emacs中,Circe的客户端.zip

    circe, 在Emacs中,Circe的客户端 Circe,Emacs中的IRC客户端 概述 Circe是Emacs中IRC的... 它尝试使用正确的默认值,并与编辑器的它的余部分合并,使用标准的Emacs密钥绑定。复杂性,它是介于 rcirc ( 极小) 和 ER

    .emacs.d:Emacs配置

    个人Emacs配置这是我的个人emacs配置。...杂项有时,我使用末日emacs来尝试在配置中重现某些行为,或者使用末日来提供出色的编程支持。 如果您打算使用厄运,则应执行以下操作。 git clone --depth=1 https://githu

    .emacs.d:我的个人emacs配置

    向Mike Zamasky学习emacs 第一课 第1部分 介绍系列并设置包裹管理器 显示梅尔帕 设置梅尔帕 第2部分 安装一些软件包 使用包 尝试和2048游戏 提供提示的键,无需记住键盘快捷键 第二课 显示一些组织模式 查看init.el ...

    doom-icon:拟议的末日Emacs图标

    DOOM图标 一款精美的末日末日Emacs图标。 灵感 在过去10天学习了Emacs Doom之后,我一直非常喜欢学习有关emacs,org,doom的知识,尤其是emacs-lisp。...如何使用此图标? 下载最新的厄运图标文件 在OS

    rnc-mode:Emacs主模式,用于编辑RELAX-NG Compact语法

    此存储库包含rnc-mode的更新版本,该版本可在GNU Emacs 23及更高版本中使用:我尚未在XEmacs上尝试过。 它还具有一些新功能,例如即时语法检查。 安装 将rnc-mode.el放在Emacs路径中,然后将以下内容添加到Emacs...

    emacs-dotfiles:我的个人emacs配置

    这是我每天使用并调整的Emacs配置。 对于尝试学习Emacs的人们来说,这可能是一个很好的起点,特别是如果您进行ELisp和Ruby开发。 Jekyll和博客也有一些简单的东西。 模块化是一个很好的例子,说明如何保持您的init...

    dot-emacs:我基于组织-babel的.emacs

    我正在尝试使用org-mode处理我的.el文件。 我将我的设置与emacs 24一起使用。 .el文件在哪里? 您会注意到,除了init.el外,此git存储库不包含任何.el文件。 实际上,您会发现.gitignore指示Git忽略多个.el文件。 ...

    mac-pseudo-daemon:与Mac OS配合使用的Emacs守护程序模式

    如果您曾经尝试在Mac OS上以守护程序模式使用Emacs,则可能已经注意到,在关闭最后一个图形化Emacs客户端框架之后,Emacs停靠图标和菜单栏将无法使用,直到您创建新的图形化框架。 该软件包使用一个简单的技巧实现...

Global site tag (gtag.js) - Google Analytics