首页 > 其他分享 >emacs命令积累

emacs命令积累

时间:2023-08-27 10:33:03浏览次数:37  
标签:积累 shell 窗口 会话 Buffer frame 命令 emacs


用了几天emacs,终于感觉到它的强大了,这是一个长期使用积累的过程,熟能生巧。


1.单个Buffer处理


Buffer的名字都是包含在**当中的


可以把buffer中的那内容C-x C-w写入到文件中



2.多个buffer处理


C-x b显示Buffer列表


选中某一个Buffer按Enter进入Buffer编辑


删除Buffer使用C-x k



2.Emacs窗口管理



C-x 2垂直拆分窗口


C-x 3水平拆分窗口


C-x o在窗口间切换


C-x 1删除所有窗口,只剩下本窗口


C-x 0删除本窗口



3.Emacs Frame管理(只适合有图形界面的)



C-x 5 o 移动到另一个frame


C-x 5 2 新建一个frame


C-x 5 0 删除当前的frame


C-x 5 1 只留下当前frame


C-x 5 f 在另一个frame中查找文件


C-x 5 r 在另一个frame中查找只读文件


C-x 5 b 产生frame并在里面显示buffer




4. 打开多个shell


这听起来应该是理所当然的,既然 Emacs 可以同时运行多个窗口……但是即使是在我买的那本关于 Emacs 的书里面也没有提到如何能够真的打开多个 shell 会话。让我们试试看,输入 ESC-x shell 启动 shell 会话,在 shell 提示符下执行 cd /tmp 命令,然后输入 Ctrl-x 2 组合键将屏幕切分成上下两个窗口,然后再次输入 ESC-x shell 启动 shell 会话,你会发现 Emacs 不为所动。在上下两个窗口里面仍然还是 cd /tmp 命令执行后的结果,也就是说仍然还是原先的那个 shell 会话。说起来 O’reilly 公司应该退还我一部分书钱,因为他们没有将我想知道的问题讲明白。后来我终于发现了解决的办法。只要我将当前的 shell 会话所在的缓冲区重新命名,然后就可以再次启动一个新的 shell 会话。让我们来试试看。输入 ESC-x rename-buffer,在 Rename buffer (to new name): 提示符后输入一个新名字,例如 *shellA*。这个时候你会看到上下两个窗口中的缓冲区都被重命名为 *shellA* 了,是的,他们显示的是同一个缓冲区。现在在任意一个窗口里面输入 ESC-x shell 启动 shell 会话,这时你会看到一个新的 *shell* 缓冲区创建了出来,并且有了一个新的 shell 提示符。现在让我们在这个新的 shell 提示符下执行 cd / 命令,你会发现,缓冲区 *shellA* 当中的 shell 会话并没有受到新的命令的影响,因为他们是两个不同的 shell 会话。重复同样的方法,可以得到更多的 shell 会话,满足你的使用需要。




5. C-c C-o  


清除刚刚执行过的命令的输出,用来清理屏幕。




6. 跳转到某一行


a) M-x goto-line, 然后输入行号


b) M-g g, 然后输入行号




7. 在emacs的shell里终止程序


按两次C-c




8. 移动光标到文件头和文件尾


M-<   #文件头


M->   #文件尾



9. 在emacs的shell中,执行以前的命令:


M-p   #前一个命令


M-n   #后一个命令




10. 刷新文件


M-x revert-buffer


11. C-s 命令isearch-forward的快捷键。向前做incremental search。

12. C-r 向后做incremental search。





标签:积累,shell,窗口,会话,Buffer,frame,命令,emacs
From: https://blog.51cto.com/u_5173797/7251135

相关文章

  • 常用的linux命令
    《linux常用基础命令1.文件操作命令创建文件:touchfilename创建目录:mkdirdirName删除文件:rmfilename删除文件夹:rm-rfdirName文件复制:cp原始文件目标文件文件夹复制:cp-r原始目录目标目录文件移动:mvpath/sourceFileNamepath/targetFileName文件重命名:mvfil......
  • 搜索文件的相关命令(Ubuntu)
    一:whereis命令 这个命令的搜索速度很快。因为这个命令是在一些特定的目录里查找文件,而不是全盘查找。也可以用来搜索可执行的文件、源文件和帮助手册在系统上的位置。格式:whereis[选项]文件或者目录名  下表是常用的有针对性的选项:选项说明-b显示二进制格式的文件-m显示帮助......
  • [20230826]dc命令复杂学习2.txt
    [20230826]dc命令复杂学习2.txt--//昨天做了累加的例子,并解析命令里面的意思.今天尝试做一个阶乘的例子.$seq5|dc-f--e"[*z1<r]srz1<rp"120--//很简单就是里面的+换成了*,实际上我使用seq5传了5个参数.如果传入1个呢?--//假设做10的阶乘.$echo10*9*8*7*6*5*4*3*2*1|......
  • Postgresql 批量插入命令COPY使用
    在很多场景下,我们经常会遇到将某个Excel或Csv文件中的数据,插入到Postgresql。对于这个需求,我们常规的处理办法就是将文件中的数据,按照文件表头名称转换成集合对象然后插入到数据库,当然这对于数据体量不大的文件而言,很显眼没有任何问题,但是如果数据体量一旦上来,将面临如下问题:将......
  • Kafka命令
    以下是一些常用的Kafka命令及其用途:启动Kafka服务:bin/kafka-server-start.shconfig/server.properties创建一个主题(topic):bin/kafka-topics.sh--create--zookeeperlocalhost:2181--replication-factor1--partitions1--topicmyTopic列出所有主题:bin/kafka-topics.sh--list......
  • 遇到的Docker常用命令
    遇到的Docker常用命令一、安装Docker1)Docker要求CentOS系统的内核版本高于3.10,首先查看系统内核版本是否满足uname-r2)使用root权限登录系统,确保yum包更新到最新sudoyumupdate-y3)假如安装过旧版本,先卸载旧版本sudoyumremovedockerdocker-commondocker-sel......
  • Linux磁盘划分,命令汇总
    当有一块新的硬盘添加至Linux后需要在Linux下进行一定的操作后才能正常使用,其大概流程为:先对磁盘进行分区(或者不进行),再将分区设置为物理卷,将设置好的物理卷添加到现有某一卷组下或创建一个新卷组,再将卷组内的多余空间分配至原有的逻辑卷内或者建立新的逻辑卷如果是分配到新的逻......
  • 设计模式-命令模式
    命令模式模式定义命令模式是一种行为定义模式,可以将请求转换成一个与请求相关的,包含该请求所有信息的独立对象,并且能够根据不同请求将方法参数化,延迟请求执行或者将其放入到队列中且能实现撤销等操作模式动机敏捷开发的原则要求,不要在代码上添加基于猜测的,实际上不需要的功......
  • 【面试宝典】Git 版本控制常用命令
    一.Git概述Git是目前世界上最先进的分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等),包括:代码回溯:Git在管理文件过程中会记录日志,方便回退到历史版本版本切换:Git存在分支的概念,一个项目可以有多个分支(版本),可以任意切换多人协作:Git支......
  • Linux命令
     文章目录1.用户管理2.磁盘管理3.文件管理4.进程管理a.查看进程b.服务管理c.后台运行(守护进程)d.启动项5.软件管理a.rpm包之手动安装b.rpm包之yum安装c.源代码安装d.二进制安装6.防火墙a.netflter/iptables功能b.iptables:“五表五链”c.fi......