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

Emacs 在开发项目中的实际应用(一)

阅读更多

我使用的是 Mac OS 上的 Aquamacs。

 

 

以项目目录为开发阵地

由于使用的是 GUI 版,我需要进入 Python 的项目目录,以方便我每次打开文件时,不需要每次都输入长长的路径前缀。

方法是:

以打开文件的方式,打开目录

Ctrl-x Ctrl-f <目标目录>

 

当前 Tab 的显示内容就变成了 ls -la 的输入内容。

再次 Ctrl-x Ctrl-f ,下面的提示信息显示,已自动加上了路径前缀。

 

 

关闭一个 Tab 页

先用手动点击小叉叉好了,目前还没到 block 我操作的地步 :)

 

 

执行 shell 命令

例如我想在当前目录的所有源码文件中查找 startswith 这个字符串,通常大家需要执行 shell 命令

grep startswith *.py

VIM 最大的缺点是,我找不到方便的方法在 VIM 与 Shell 之间切换的方法。而这恰好是 Emacs 的优势。

Meta-x shell (Mac 上的 Meta 键使用 alt/option 键代替)

在新的 tab 中输入

grep startswith *.py 即可

 

M-p 上次执行的命令(类似正常 shell 下的上箭头键)

M-n 下个执行的命令(类似正常 shell 下的下箭头键)

 

 

文件内查找字符串

Ctrl-s

在 i-search 提示栏输入要搜索的关键字。

按 Ctrl-s 查找下一个匹配。

按下 Enter 键结束搜索。

 

 

运行 python 代码,并查看输出结果

Ctrl-c Ctrl-c 

此时,屏幕会一分为2,右侧显示运行结果 

 

 

使用代码模板

 参考: http://www.emacswiki.org/emacs/AutoInsertMode

 修改 ~/.emacs 文件之后,需要重启 Aquamacs 才能生效

 

 

根据上下文已存在的变量名,半自动补全当前正在输入的变量名

(类似于 VIM 中的 Ctrl-n)

M-/

 

 

连续多行赋值语句对齐

http://stackoverflow.com/questions/60367/the-single-most-useful-emacs-feature

 

A not so well known feature that I find very useful is M-x align-regexp. If you mark a region and execute it, you will be asked for a regular expression, and emacs will then line up the first match of that expression on every line, by padding with spaces (or tabs, if you like). For example, say that you have a list of variables in your code:

int a = 2;
int a_longer_variable_name = 73;
int i = 0;
Then you can mark those lines and to M-x align-regexp and specify = as the expression, and it will align it like:

int a = 2;
int a_longer_variable_name = 73;
int i = 0;
Maybe not the most important feature in the world, but I use it regularly, and it sometimes impresses non-emacs people. :)
 

 

 

 

分享到:
评论

相关推荐

    Python-EmacsApplicationFramework是一个开发框架开发人员可以开发任何PyQt程序并集成到Emacs中

    在实际开发过程中,`Python-Emacs Application Framework`可以应用于各种场景。比如,开发者可以构建一个定制化的数据分析工具,利用PyQt提供友好的交互界面,然后在Emacs中控制数据导入、分析过程和结果展示。又如...

    Go-Goism在Emacs使用Go语言替代EmacsLisp语言

    Go-Goism是一种尝试在Emacs环境中使用Go语言来替代传统的Emacs Lisp语言的技术。这一概念的出现,主要是为了利用Go语言的性能优势和现代化特性,为Emacs扩展提供更高效、更易维护的解决方案。在Emacs社区,开发者们...

    emacs-64bit-on-mingw32

    在实际使用中,你可能需要了解一些基础的Emacs操作,比如使用Ctrl+X、Ctrl+C退出编辑器,使用Ctrl+S进行实时搜索,以及学习使用Emacs的缓冲区、窗口管理和模式等概念。此外,为了充分利用64位版本的优势,确保你的...

    GNU Emacs Pocket Reference

    第十三章探讨了如何在GNU Emacs中集成版本控制系统,如Git和SVN,以便更好地管理源代码历史和协作开发项目。 ### 在线帮助 第十四章介绍了GNU Emacs的在线帮助系统,包括如何查找内置手册、文档和教程,以及如何...

    GNU Emacs Lisp Reference Manual For Emacs Version 22.1 Revision 2.9, April 2007

    同时,还介绍了特殊形式如`cons`、`car`和`cdr`等,并讨论了它们在实际编程中的应用。 #### 6. 序列、数组和向量 这一章节重点讲解了序列、数组和向量的概念及用法。序列是一个更广泛的概念,包括了列表和向量;而...

    Harley Hahns的emacs field 指南

    3. **功能探索:** 逐步了解Emacs提供的各种高级功能,并尝试将其应用到实际工作中。 4. **深入研究:** 阅读官方文档和其他专业书籍,不断深化对Emacs的理解。 5. **实践应用:** 将所学知识运用到日常工作中,通过...

    开源项目-brantou-emacs-go-tag.zip

    【开源项目-brantou-emacs-go-tag.zip】是一个开源项目,专注于在Emacs环境中编辑Go语言的结构体字段标签。这个项目由brantou开发,旨在提升Go开发者在Emacs中的工作效率,特别是处理Go语言特有的struct字段tag时。...

    eclipse的键位设置(emacs改进)

    在编程过程中,高效快捷的键位绑定能极大提升开发效率,这就是“键位配置”在Eclipse中的重要性。Emacs是一种历史悠久的文本编辑器,以其丰富的键盘快捷键和高度可定制性而闻名。许多开发者喜欢将Eclipse的键位设置...

    windows+coq+emacs+proofgeneral

    随着形式化方法在软件工程中的应用越来越广泛,Coq 作为一种强大的定理证明工具,已经成为很多研究者和开发者的首选。而在 Windows 操作系统上进行 Coq 的开发工作时,通常会使用 Emacs 作为文本编辑器,并结合 ...

    emacs配置介绍(cscope,ecb,cedect)

    在项目根目录下执行`cscope -Rbq`来生成索引文件。 ##### Emacs集成cscope 使用`hack-cscope.el`脚本可以方便地在Emacs中使用cscope的功能。 ##### hack-cscope.el文件 - 下载`hack-cscope.el`文件,并将其放置...

    Emacs Lisp编程入门

    6. 实践和项目:将所学知识应用于实际项目中,比如编写Elisp插件,定制Emacs配置文件等。通过实际项目来提高编程能力和对Emacs Lisp的熟练掌握。 四、Emacs Lisp代码示例和解释 由于提供的【部分内容】中内容重复且...

    xkeymacs - 桌面快捷键模拟emacs

    在实际应用中,xkeymacs可以与许多开发工具、文档编辑软件以及项目管理工具结合,例如与Visual Studio Code、Sublime Text、Notepad++等编辑器配合,或者与Git、SVN等版本控制工具集成,实现更高效的代码编辑和版本...

    Emacs Manual

    - **创建者及背景**:Emacs(Editor MACroS)是由Richard Stallman开发的一款文本编辑器,他是GNU项目的创始人,Emacs也是他众多贡献之一。这款编辑器在开源界有着极高的地位,被誉为程序员最爱使用的编辑器之一。 -...

    emacs lisp introduction

    1. **列表处理(List Processing)**:介绍了列表的基本概念及其在Emacs Lisp中的应用,包括创建列表、访问元素、操作列表等。 2. **实践评估(Practicing Evaluation)**:通过实际例子,解释了Emacs Lisp中的表达式求...

    SIGNAL-现代信号包替代hook_Emacs Lisp_下载.zip

    在实际应用中,信号机制可以用于实现各种复杂的交互逻辑,如自动格式化代码、实时语法检查、自动化测试等。通过分离关注点,各个组件可以独立开发和更新,而不会干扰彼此。 总结来说,"SIGNAL-现代信号包替代hook_...

    用于自动变音符号恢复的基于神经的模型_Python_Emacs Lisp_下载.zip

    这个项目为学习者提供了一个实际应用神经网络进行自然语言处理的实例,同时也展示了如何将这些技术与强大的文本编辑工具(如Emacs)结合。对于想要提升Python编程、NLP技能或深入理解Emacs Lisp的开发者来说,这是一...

    emacs-tmux-pane:将emacs窗口与tmux窗格融合

    Emacs和tmux是两种非常强大的工具,分别在文本编辑和终端多窗口管理方面有着卓越的表现。`emacs-tmux-pane`是一个创新的整合方案,它允许用户无缝地...在实际应用中,不断探索和优化配置,将使你的开发体验更上一层楼。

Global site tag (gtag.js) - Google Analytics