emacs命令记录

C-代表按住Ctrl键

M-代表按住Alt键,也可以用按一下ESC放开代替

最先要记住的

M-x <cmd>      输入指令执行,在输入时用Tab可以自动补全或列出项目

C-g            取消当前操作指令

C-h k <key>    查看当前按键绑定的指令及介绍

移动插入点(光标)

C-n/p/b/f      到 下一行、上一行、前一字符、后一字符

M-b/f          到 前、后一单词

C-a/e          到 行首、末

M-a/e          到 句首、末

M-         到 文件首、末

C-v/M-v        下、上翻屏

C-l        循环 将当前光标行显示在窗口下、中、上位置

C-u <num> <xx> 重复执行之后的 xx 命令 num 次,不输入num默认为4

C-u C-v        向下滚动4

编辑

Back/C-d       删除 前、后字符

M-Back/M-d     移除 前、后单词

C-k/M-k        移除到 行末、句末

C-/            undo/redo

C-x u          undo/redo

C-w            剪切

C-y        召回(粘贴)(粘贴移除的、复制、剪切的内容)

C-c        复制(emacs一般也默认定制了与OS的剪切复制粘贴相同的快捷键)

查找

C-s

  C-s 查找下一个

  C-r 查找上一下

  C-g 一次返回,二次结束查找

  回车    停止到当前查找到的内容

替换

M-%

标记

M[email protected]

文件操作

C-x C-c        退出emacs

C-x C-f        打开文件

C-x C-s        保存文件

C-x C-v        在当前缓冲区重新打开一个文件,可以用于清除undo历史!!

C-x 1          最大化当前缓冲,关闭其它

C-x 2/3        垂直、水平创建新缓冲区

C-x o          切换到其它缓冲区

C-x C-b        列出缓冲区

C-x b          提示输入缓冲区名称,切换当前窗口的缓冲区

C-x k          删除当前缓冲区

C-j        换行回车,有些模式下比较直接回车好用,有增加缩进之类的功能

------

理解一些概念

buffer

  缓冲区,内存中的数据,打开文件时读入内容到内存,修改后保存才会修改到磁盘上的文件。

window

  窗口,缓冲区的一个展示区域

frame

  OS上的一个emacs程序窗口

mode 模式

  mode有主模式,辅助模式,主模式就像vim中设置当前filetype一样,当前编辑的是ruby或者python源代码,根据不同文件类型,设置按Tab缩进时缩进不同的字符数,把不同的词当作关键字时行语法高亮等等,同一时间只能选一个主模式。试着多开几个窗口,执行text-mode ruby-mode python-mode试下。emacs打开文件时会自动根据文件扩展名或内容检查并设置主模式。

  辅助模式就是窗口是否要自动换行,是否显示行号等,辅助模式可以多个同时启用。

undo

  EMACS 中想要将已经做过的动作放弃,以恢复原状。

  EMACS 所提供的 undo,可以连续恢复最近使用过的指令。

  undo 的顺序是最新使用过的指令最先被 undo ,第二次使用 undo 则恢复第二新的指令,任何指令的输入(除了 undo 本身之外) 都会使指令输入的顺序重整, 这也同时影响 undo 的顺序。

  使用 undo 有一个限制,就是 undo 只能 undo 对缓冲区内容造成改变的指令。对于只是改变游标动作的指令,是无法以 undo 来恢复旧观。若所有修改过内容的指令,都以 undo 恢复原状后, 再一次使用 undo 的指令,echo area 会出现如下的讯息:No further undo information.

当使用了 undo 之后,还想要在 redo 这个已被 undo 的动作时, 有一个技巧可以达成如此的效果。

 1.首先键入一个不会改变缓冲区内容的指令(如光标移动的指令),使原来

 2.存放指令的顺序因新指令的加入而改变。

 3.再使用一次 undo 的指令,就可以达到 redo 的效果了。

undo的行为很难描述,示例:

 新建一个文件

 执行几个修改内容的指令 <1回车2回车3回车>, 这时undo历史里有6条记录

 undo顺序为654321, 继续undo则提示No further undo information

 按下左右方向键(虽然移不动光标),这时undo历史里有12条记录了,前6条undo就变成redo了,顺序123456654321

 再按下方向键,undo历史记录数量再翻倍

 

emacs的undo不会丢失任何操作,你先做一些操作,undo,再做另一些操作,如果是其它编辑器,第一次undo的动作就失踪了,emacs里却一直存在着,原因同上。多试几次就明白了。

时间: 2024-08-28 08:27:04

emacs命令记录的相关文章

CentOS7设置开放端口以及常用的命令记录

CentOS7与以前常用的CentOS6还是有一些不同之处的,比如在设置开放端口的时候稍许有些不同,常用的iptables命令已经被 firewalld代替.这几天正好有在CentOS7系统中玩Seafile自建网盘,默认的时候是没有开启8082端口的,然后看到CentOS7开 放端口稍微与CentOS6不同,这里本着学习和记录的习惯,将CentOS7开放端口以及常用的使用命令记录整理. 这样在以后遇到有需要CentOS7开放端口和命令的时候直接翻阅使用到,内容比较基础,对于大佬来说简单,但是我

AIX LVM 常用命令记录

针对物理卷的操作指令 lsdev--列出ODM中的设备 chdev--修改一个AIX设备的属性 mkdev--创建一个AIX设备 chpv--修改物理卷的状态和属性 lspv--查看AIX中物理卷的相关信息 migratepv--将一个物理卷中的物理分区(数据)迁移到另一个物理卷   针对卷组的操作指令 mkvg--创建新卷组 extendvg--扩展vg reducevg--缩小vg chvg--修改卷组的属性 lsvg--查看卷组的相关信息 importvg--导入vg到AIX系统中 exp

清除Centos系统用户登录记录和命令记录

echo > /var/log/wtmp #清除用户登录记录和命令记录 echo > /var/log/btmp echo > /var/log/secure #如果没有这个文件,重启syslog进程service syslog restart echo > .bash_history history -c #清除命令记录

Bash shell命令记录和CentOS的一些技巧

①CentOS的实用技巧: 一.按下ctrl+alt+F2可由图形界面切换至命令行(shell窗口),按下ctrl+alt+F1可由命令行切换至图形界面(前提是安装CentOS时软件选择项选择安装了图形界面,一般是GNOME) ②shell命令记录: 一.ifconfig命令是Linux中用于显示或配置网络设备的命令,英文全称是network interfaces configuring.配置网卡的IP地址语法例:ifconfig eth0 192.168.0.1 netmask 255.255

二十七、Linux下常用的shell命令记录

本文章记录我在linux系统下常用或有用的系统级命令,包括软硬件查看.修改命令,有CPU.内存.硬盘.网络.系统管理等命令.但本文不打算介绍生僻命令,也不介绍各个linux发行版下的特有命令,且以后会持续更新. 说明,我是在一个Centos 6.4 64位的虚拟机系统进行测试.本文介绍的命令都会在此Centos下运行验证(也有部分命令会在我的suse/ubuntu系统里测试的,会做特明说明),但运行结果就不再列出了. 硬件篇 CPU相关 lscpu #查看的是cpu的统计信息. cat /pro

Redis-常用命令记录

清空数据命令: 旧版本:#redis-cli -h 10.133.212.173 keys "*"| xargs redis-cli del 新版本: # redis-cli -h 10.133.212.32 10.133.212.32:6379> flushall [此处是清空所有DB,FLUSHDB清空指定DB数据] OK 10.133.212.32:6379> keys * (empty list or set) Redis-常用命令记录

Linux以及Android开发中的小技巧和长繁命令记录收集

不断更新收集中.... 2014071743 ssh以nx_guest的身份登录到172.24.221.137,然后在172.24.221.137与172.24.61.252的8080端口建立网络连接,同时创建端口为5678的本地代理服务 ssh -C -f -N -o 'TCPKeepAlive=yes' -L 5678:172.24.61.252:8080 [email protected] 反编译android下的二进制程序 ./prebuilts/gcc/linux-x86/arm/ar

简易的git命令记录

看状态 >>git status 看修改 >>git diff 提交到暂存区 >>git add .(全部提交,也可以用文件名) 暂存区内容提交到分支 >>git commit -m '***'(说明) 看提交log >>git log 看命令记录 >>git reflog 版本回退(head表示当前版本,一个^表示退回一个版本,退回100个可以用head~100) >>git reset --hard head^ 版本前

mysql-mmm常用命令记录

常用命令记录: vim /etc/mysql-mmm/mmm_common.conf vim /var/log/mysql-mmm/mmm_mond.log monitor: service mysql-mmm-monitor start/stop/restart agent: service mysql-mmm-agent start/stop/restart mysql-mmm有6种状态 1.online 2.admin_offline 3.hard_offline 4.awaiting_r