热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Emacs常用指令

原文地址:http:hi.baidu.comjiyeqianblogitem4ff92b54b52e1c5dd0090625.html不重动Emacs让.emacs配

原文地址:http://hi.baidu.com/jiyeqian/blog/item/4ff92b54b52e1c5dd0090625.html

不重动 Emacs 让 .emacs 配置文件生效
有四个函数可以做到:eval-last-sexp,eval-region,eval-buffer 和load-file
M-x  eval-last-sexp 使.emacs中光标前的那一条语句立刻生效。
M-x  eval-region   使.emacs中选中的region中的语句立刻生效。
M-x  eval-buffer   使当前的buffer中的设置语句立刻生效。
M-x  load-file ~/.emacs  载入.emacs文件,从而使其中的设置生。

在线帮助(Online-Help)

C-h c 显示快捷键绑定的命令 
C-h k 显示快捷键绑定的命令和它的作用 
C-h l   显示最后100个键入的内容 
C-h w 显示命令被绑定到哪些快捷键上 
C-h f   显示函数的功能 
C-h v 显示变量的含义和值 或者 M-x describe-variable
C-h b 显示当前缓冲区所有可用的快捷键 
C-h t 打开emacs教程 
C-h i 打开info阅读器 
C-h p 显示本机Elisp包的信息 
C-h C-f 显示emacs FAQ 
C-h a 查找与之匹配的命令

打开与关闭
打开文件:C-x C-f
退出Emacs:C-x C-c
用另一文件替换当前打开的文件:C-x C-v
显示可打开的buffer:C-鼠标左键 或者 C-x C-b
打开另一个buffer:C-x b
关闭一个buffer:C-x k

重要快捷键(Important) 
C-g 停止当前运行/输入的命令 
C-x u 撤销前一个命令 
C-x C-q 当前buffer设为只读
M-x revert-buffer RET (照着这个输入)撤销上次存盘后所有改动 
M-x recover-file RET 从自动存盘文件恢复 
M-x recover-session RET 如果你编辑了几个文件,用这个恢复 

光标移动
跳到指定行:M-g g(M-x goto-line)
到的第N字节:M-x goto-char 
前一屏:M-v 后一屏C-v
行首:C-a 行尾:C-e
上一行:C-p 下一行:C-n
上一词:M-b 下一词:M-f
上一字:C-b 下一字:C-f
上一句:M-a 下一句:M-e
上一段:M-{ 下一段:M-}

大小写转换
大写:M-u(词) C-x C-u(区域)
小写:M-l(词) C-x C-l(区域)
首字母大写:M-c

查找与替换
查找:C-s(向前) C-r(向后)
C-g 回到搜索开始前的位置(如果你仍然在搜索模式中) 
使用正则表达式向后搜索 :C-M-s RET 
使用正则表达式向前搜索 :C-M-r RET 
替换:M-%
使用正则表达式搜索并替换:M-x query-replace-regexp

替换模式中的操作
替换当前匹配 :Space 或 y 
不要替换当前匹配:Del或n
仅仅替换当前匹配并退出(替换) :. 
替换并暂停(按Space或y继续) :, 
替换以下所有匹配 :! 
回到上一个匹配位置 :^ 
退出替换:RETURN 或 q 

可在正则表达式中使用的符号 
^ 行首 
$ 行尾 
. 单个字符 
.* 任意多个(包括没有)字符 
\<单词开头 
\> 单词结尾 
[] 括号中的任意一个字符(例如[a-z]表示所有的小写字母) 

选择
区域选择&#xff1a;C-&#64;
段落选择&#xff1a;M-h
全选&#xff1a;C-x h

删除
删除光标处所有空格&#xff1a;M-\
光标处产生唯一空格&#xff1a;M-SPC
删除光标处所有空行&#xff1a;C-x C-o
删除一个字母&#xff1a;DEL&#xff08;向后&#xff09;&#xff0c;C-d&#xff08;向前&#xff09;
删除一个单词&#xff1a;M-DEL&#xff08;向后&#xff09;&#xff0c;M-d&#xff08;向前&#xff09;
删除一行&#xff1a;M-0 C-k&#xff08;向后&#xff09;&#xff0c;C-k&#xff08;向前&#xff09;
删除一个句子&#xff1a;C-x DEL&#xff08;向后&#xff09;&#xff0c;M-k&#xff08;向前&#xff09;
kill region: C-w
复制区域到kill ring: M-w
kill through next occurrence of char: M-z char
yank back last thing killed: C-y
replace last yank with previous kill: M-y

窗口操作
C-x o 切换至其他窗格 
C-x 0 关闭窗格 
C-x 2 水平分割窗格 
C-x 3 垂直分割窗格 
C-x 1 关闭除了光标所在窗格外所有窗格 
C-x ^ 扩大窗格 
M-x shrink-window 缩小窗格 
C-M-v 滚动其他窗格内容 
C-x 4 f 在其他窗格中打开文件 
C-x 4 0 关闭当前缓冲区和窗格 
C-x 5 2 新建窗口(frame) 
C-x 5 1 删除其它所有窗口
C-x 5 f 在新窗口中打开文件 

输入特殊字符
C-x 8 R 输入 ® 
C-x 8 o 输入 ° 
C-x 8 C-h 可以得到一份完整的列表

拼写检查
一、使用flyspell进行“在线”拼写检测
1.启用flyspell-mode。Tools-Spell Checking-Automatic spell checking(Flyspell)或者M-x flyspell-mode。在进行输入的时候可以及时对拼写错误进行提醒。
2.提示如何修改&#xff1a;C-c $
二、使用ispell进行“离线”拼写检测
1.基本命令&#xff1a;M-x ispell-region            M-x ispell-buffer
2.数字键进行拼写更改&#xff0c;空格键在不更改的情况下直接跳到下一个拼写错误处。
3.退出检测&#xff1a;C-g
4.检测某个单词的拼写&#xff1a;M-$

DontZap

其它
设置变量的值&#xff1a;M-x set-variable VAR VALUE
用另一种编码打开重新打开当前文档&#xff1a;M-x revert-buffer-with-coding-system
显示行号&#xff1a;M-x setnu-mode
C-u &#43; 数字 &#43; 操作     重复执行”数字“次”操作“
段落&#xff08;行&#xff09;居中对齐&#xff1a;M-S
简单的凯撒位移加密解密方法&#xff1a;M-x rot13-region
打开shell&#xff1a;M-x eshell 或者 M-x shell
启动Octave&#xff1a;M-x run-octave

删除选中区域的所有空行&#xff1a; M-x flush-lines ^$ 
使用 Emacs daemon&#xff1a; http://tigersoldier.is-programmer.com/2010/2/5/tips-on-emacs-daemon.15404.html
插入当前日期和时间&#xff1a;C-u M-! date


参考&#xff1a;
http://grid.tsinghua.edu.cn/home/liulk/publish/emacs/EmacsFaq.html
http://blog.ipattern.org/archives/296
http://forum.ubuntu.org.cn/viewtopic.php?f&#61;68&t&#61;146721
http://pluskid.lifegoo.com/wiki/EmacsTip.html

转:https://www.cnblogs.com/wangkangluo1/archive/2011/07/24/2115486.html



推荐阅读
  • Android目录遍历工具 | AppCrawler自动化测试进阶(第二部分):个性化配置详解
    终于迎来了“足不出户也能为社会贡献力量”的时刻,但有追求的测试工程师绝不会让自己的生活变得乏味。与其在家消磨时光,不如利用这段时间深入研究和提升自己的技术能力,特别是对AppCrawler自动化测试工具的个性化配置进行详细探索。这不仅能够提高测试效率,还能为项目带来更多的价值。 ... [详细]
  • 掌握PHP框架开发与应用的核心知识点:构建高效PHP框架所需的技术与能力综述
    掌握PHP框架开发与应用的核心知识点对于构建高效PHP框架至关重要。本文综述了开发PHP框架所需的关键技术和能力,包括但不限于对PHP语言的深入理解、设计模式的应用、数据库操作、安全性措施以及性能优化等方面。对于初学者而言,熟悉主流框架如Laravel、Symfony等的实际应用场景,有助于更好地理解和掌握自定义框架开发的精髓。 ... [详细]
  • 自定义包裹组件的HTML标签:实现商品数量动态增减功能 [Keep Coding]
    在本文中,我们将探讨如何通过自定义包裹组件的HTML标签来实现商品数量的动态增减功能。具体来说,我们将详细介绍如何利用React或Vue等前端框架,结合JavaScript和CSS,实现这一功能。文章将涵盖从基础的HTML结构搭建到事件处理和状态管理的全过程,帮助开发者快速掌握实现方法。此外,我们还将提供一些最佳实践和常见问题的解决方案,以确保开发过程顺利进行。 ... [详细]
  • 本文首先对信息漏洞的基础知识进行了概述,重点介绍了几种常见的信息泄露途径。具体包括目录遍历、PHPINFO信息泄露以及备份文件的不当下载。其中,备份文件下载涉及网站源代码、`.bak`文件、Vim缓存文件和`DS_Store`文件等。目录遍历漏洞的详细分析为后续深入研究奠定了基础。 ... [详细]
  • 本项目在Java Maven框架下,利用POI库实现了Excel数据的高效导入与导出功能。通过优化数据处理流程,提升了数据操作的性能和稳定性。项目已发布至GitHub,当前最新版本为0.0.5。该项目不仅适用于小型应用,也可扩展用于大型企业级系统,提供了灵活的数据管理解决方案。GitHub地址:https://github.com/83945105/holygrail,Maven坐标:`com.github.83945105:holygrail:0.0.5`。 ... [详细]
  • 本课程详细介绍了如何使用Python Flask框架从零开始构建鱼书应用,涵盖高级编程技巧和实战项目。通过视频教学,学员将学习到Flask的高效用法,包括数据库事务处理和书籍交易模型的实现。特别感谢AI资源网提供的课程下载支持。 ... [详细]
  • 在处理大规模并发请求时,传统的多线程或多进程模型往往无法有效解决性能瓶颈问题。尽管它们在处理小规模任务时能提升效率,但在高并发场景下,系统资源的过度消耗和上下文切换的开销会显著降低整体性能。相比之下,Python 的 `asyncio` 模块通过协程提供了一种轻量级且高效的并发解决方案。本文将深入解析 `asyncio` 模块的原理及其在实际应用中的优化技巧,帮助开发者更好地利用协程技术提升程序性能。 ... [详细]
  • 表面缺陷检测数据集综述及GitHub开源项目推荐
    本文综述了表面缺陷检测领域的数据集,并推荐了多个GitHub上的开源项目。通过对现有文献和数据集的系统整理,为研究人员提供了全面的资源参考,有助于推动该领域的发展和技术进步。 ... [详细]
  • Python正则表达式详解:掌握数量词用法轻松上手
    Python正则表达式详解:掌握数量词用法轻松上手 ... [详细]
  • HTTP协议作为互联网通信的基础,其重要性不言而喻。相比JDK自带的URLConnection,HttpClient不仅提升了易用性和灵活性,还在性能、稳定性和安全性方面进行了显著优化。本文将深入解析HttpClient的使用方法与技巧,帮助开发者更好地掌握这一强大的工具。 ... [详细]
  • MySQL:不仅仅是数据库那么简单
    MySQL不仅是一款高效、可靠的数据库管理系统,它还具备丰富的功能和扩展性,支持多种存储引擎,适用于各种应用场景。从简单的网站开发到复杂的企业级应用,MySQL都能提供强大的数据管理和优化能力,满足不同用户的需求。其开源特性也促进了社区的活跃发展,为技术进步提供了持续动力。 ... [详细]
  • 深入解读代码页与字符集的概念及其实际应用
    许多开发者可能未曾留意到这一问题,但如果您的网站频繁遭遇不明原因的乱码现象,深入了解代码页与字符集的概念及其实际应用将大有裨益。代码页(Codepage),即内码表,是计算机系统中用于映射字符与其编码值的一种机制,不同的代码页支持不同的字符集,正确选择和配置代码页对于确保文本数据的准确显示至关重要。在多语言环境下,合理运用字符集和代码页能够有效避免字符编码冲突,提升用户体验。 ... [详细]
  • 在使用sbt构建项目时,遇到了“对象apache不是org软件包的成员”的错误。本文详细分析了该问题的原因,并提供了有效的解决方案,包括检查依赖配置、清理缓存和更新sbt插件等步骤,帮助开发者快速解决问题。 ... [详细]
  • 在 Python 中,魔法方法 `__dict__` 和 `__getattr__` 具有重要的作用和灵活的应用。`__dict__` 是一个用于存储对象属性的字典,其中键为属性名,值为对应的属性值。通过 `__dict__`,可以动态地访问和修改对象的属性。而 `__getattr__` 方法则在尝试访问对象中不存在的属性时被调用,提供了一种优雅的处理方式,避免了属性访问错误。这两个魔法方法在实现复杂的数据结构和动态行为时尤为有用。 ... [详细]
  • 初次接触AJAX是在去年,当时主要是通过手动编写客户端代码来实现,还需处理被请求的页面,过程相当繁琐。尽管之前就听说过AJAX.NET,但一直没有机会深入了解。本文将作为初学者的指南,详细介绍AJAX.NET的基本概念、核心功能及其在实际项目中的应用技巧,帮助读者快速上手并掌握这一强大的开发工具。 ... [详细]
author-avatar
Devil灬旋律
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有