emacs 基础学习(常用命令)

awk 需要我们使用命令行编辑,而命令行编辑默认是Emacs 格式的,所以要熟悉Emacs 的编辑方式:

emacs 有不同的主模式, 实现不同的功能, 当然都在统一的emacs 风格之下。

shell mode, 是命令行编辑完全进入全屏的编辑模式。

calendar 显示了emacs 控制光标的移动

dired 显示了一种全屏的可视化文件管理模式,想删就删,想看就看,只需要敲敲快捷键,不需要再输入命令了。

曾经觉得norton commander 是一种很好的文件管理工具, 而文件浏览器的操作功能,靠右键菜单的几个选择项太弱了,

而emacs dired 操作的命令可以说多如泥沙, 先用用最常用的删除,重命名和拷贝命令吧, 操作的时刻离不了选择文件。 ctrl-h m 显示了他的帮助文档

文件的删除,重命名拷贝等操作与文本编辑合二为一,显示了一种和谐。

 

emacs 尽量用一些快捷键来完成特定的操作,当然了,你可以用M-x来完成所有命令.
下面是常用的快捷命令键。常用命令不是记在脑中,而是记在手上。
1. 光标移动
------------------------------------------------------------
M-x: calendar 调出日历,这里正是熟悉Emacs 光标移动的场景:
------------------------------------------------------------
1. C-p C-n
2. C-a C-e M-a M-e
3. C-f C-b M-f M-b
4. M-{ M-}
5. C-x [     C-x ]

等同于字符编辑界面的。
字符前进,后退  C-f C-b
单词前进,后退  M-f M-b
行前进,后退    C-p C-n
到行首,到行尾  C-a C-e
句子前进,后退  M-a M-e
段落前进,后退  M-{ M-}
页前进,后退 C-x [ C-x ]

C-l 清屏幕,置光标到顶
C-v 向前滚屏
M-v 向后滚屏

2. 编辑命令
a. 删除: ctrl-d, M-d, Ctrl-k
b. yank: ctrl-y, M-y
c. undo, redo: ctrl-/
d. C-t M-t C-x t
e. M-z 删除到指定字符

3. 查找命令
C-s C-r
M-s M-r
C-M-s C-M-r
M-%
----------------------------------------
Emacs 查找,替换
更细致的查找,替换
----------------------------------------
查找分4种: 增量查找,简单查找,词组查找,正则查找
a. 增量查找: C-s C-r
    默认大小写自动匹配, 可用M-c切换大小写敏感性(仅此次有效)
    C-w 能将光标处单词复制到查找区,C-y 能复制到尾.

b. 简单查找: C-s RET string RET
     C-r 同

c. 词组查找: M-s w
   也可以使用非增量

d. 正则查找
    C-M-s C-M-r

替换:简单替换,正则替换,查询替换
M-x replace-string RET oldstring RET newstring RET
M-x replace-regexp RET oldstring RET newstring RET
M-% (query-replace)
M-x query-replace-regexp 等多种

----------------------------------------
重复刚才的操作命令:
----------------------------------------
Emacs, 重复查找命令? C-x z, z
Emacs 重复执行查找,替换等复杂命令:C-x Esc Esc


“M-x list-faces-display” 查看当前主题的详细设置
(load-theme 'misterioso t)

1. 显示模式及设置模式
c-h m -> describe mode
M-x mode-name 用以切换模式

2. 显示变量及设置变量
c-h v -> describe variable

M-x set-variable

注释:
M-x comment-region
M-x kill-comment

c/c++ 语言的缩进格式设置调整     vim 默认就是 k&r 格式    
M-x c-set-style k&r
永久修改:
(add-hook 'c++-mode-hook
    '(lambda() (c-set-style "k&r")))

1. lambda 同defun 一样,也可以定义函数,格式
   (lambda (args) code)
   可见,lamda 定义的函数没有名字,叫匿名函数.
    把函数付给一个变量,不是函数求值,必须要用引用。
    例如:
    (setq mode-name-hook '(lamda(args) code))
    (add-hook 'mode-name-hook '(lamda(args) code))
    两者区别在于, setq 重新给mode-name-hook 赋值,覆盖了原有的hook
    后者只是添加了一个
    很多主模式都有挂钩,专门让别人把代码挂进去的钩子,方面你定制这个主模式。
    这个函数的名字叫xxxx-hook, c++ 的hook 名字叫c++-mode-hook
 

------------------------------------------------
Emacs 修改文件名,象编辑文本一样得以实现
体现了emacs的一贯风格,可视的编辑模式来搞定一切.
------------------------------------------------
1. 进入dired 模式, C-x d 等方式
2. 进入可编辑dired 模式:C-x C-q (或  M-x wdired-change-to-wdired-mode )

a.直接编辑文件名来更改。
b.查找,替换文件名(M-x query-replace 或 M-% )
c.C-x C-s 保存修改

修改文件名象编辑文本一样得以实现
修改名称与Emacs 的编辑功能得到了统一

emacs dired 中查找文件:
M-x后运行find-name-dired

找到的文件全删除:选定所有文件%m .* D

 


------------------------------------------------------------
dired 文件过滤显示:
------------------------------------------------------------
dired 比 ls 好用, 显示的时候相当于ls -l
可以移动光标,对文件名称进行编辑,删除,拷贝文件等。
ls 可以过滤文件, 例如过滤cpp 文件 ls *.cpp
dired 应该如何过滤,操作稍微有点繁琐,叫技巧也行,如下:

1. 标记要显示的文件,例如所有的cpp 文件
   %m .*\.cpp
2. 反选所有标记
   t
3. 过滤出带有标记的文件
   k

k命令并不是删除文件,只是把带标记文件隐藏起来, g 命令还可以把隐藏的文件恢复出来.

还有一些快捷的标记命令:
~   标记备份文件
#   标记自动保存文件
**  标记可执行文件
*/  标记目录文件
M-{}    可以在标记的文件间跳转
用鼠标点击可以在另一个窗口直接打开文件。 与v像似,但v在本窗口.
C-h m 有完整帮助. 可以看到有大量的命令,常习之可以提高工作效率.

------------------------------------------------------------
emacs shell 优点:
------------------------------------------------------------

 

Alt-x: shell 可以进入

1. 全屏幕编辑
2. C-r 反向查找命令
3. C-c C-o 清理命令输出 (保留干净的命令历史)
4. 使用缩略语, (比alias 更实用)
    M-x: abbrev-mode
    添加:
    C-u <num> C-x a g (定义全局缩写词)
    C-u <num> C-x a i (定义该模式下缩写词)
    数字参数表示光标前的单词个数, 传参数0,表示以选定区域来扩展
    删除:
    传递一个负参数可以删除
    直接编辑保存的缩写词文件来删除
    使用:
    缩写词空格完成扩展
    缩写词C-q空格将不扩展
    保存:
    M-x write-abbrev-file
    读取:
    M-x read-abbrev-file

list-abbrev
kill-all-abbrev
 

 

----------------------------------------
emacs 帮助系统。
----------------------------------------
查找最基本,最常见的快捷键和函数.
C-h c
C-h k
查找函数绑定了哪个按键
C-h w
模糊查找某个编辑命令和文档
C-h a
模糊查找函数,文档,变量,符号等

M-x apropos RETURN regexp RETURN
这个可能会搜索出太多的结果,中断执行C-g
更进一步,就是查看源代码了

另外:
C-h v 查看变量
C-h f 查看函数说明
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值