zoukankan      html  css  js  c++  java
  • Emacs常用基本操作

    按键约定

    组合按键

    Emacs中大量的按键操作都是各式各样的组合按键(快捷键),下面是几种通常的约定:

    • Ctrl键:表示为C
    • Alt键:表示为M
    • Shift键:表示为S
    • 组合按键:比如向下移动一行的组合按键是Ctrl+n,就表示为:C-n,其含义表示同时按下键盘上的Ctrln键。

    按键顺序

    有时候用多个组合按键来表示一种操作,比如以下按键序列:C-x C-f [文件路径] <RET>就表示打开文件的操作,它表示这样的操作含义:先同时按下Ctrlx键,然后松开,紧接着马上再同时按下Ctrlf键,然后再松开,然后在下方的输入栏中输入文件路径,输入完之后按回车键(用<RET>表示),最后就打开了一个文件。

    还有一种按键顺序:C-x o,表示切换到另外一个缓冲区,它是这样一组按键:先同时按下Ctrlx键,然后松开,然后紧接着按字母o键。

    还有另外一种按键顺序,比如以下按键序列:C-u [10] C-p,就表示这样的操作含义:先同时按下Ctrlu键,然后松开,然后依次按10键,然后松开,最后再同时按Ctrlp键。这组按键达到的效果就是把光标从当前位置往上移动10行。

    特殊按键

    • 表示输入内容,用方括号括起来:[输入的内容]
    • 表示回车键:<RET>
    • 表示其他键:比如<Backspace>表示退格键(删除键),<Delete>表示删除键,<TAB>表示TAB键,<Left>表示左箭头键,<Right>表示右箭头键,<Up>表示上箭头键,<Down>表示下箭头键,<f5>表示F5键。

    Quick Start

    文本操作,无外乎打开文件、编辑文件、保存文件,涉及的核心、最高频命令非常简单,整理如下:

    • C-x C-f [文件路径] <RET>:打开一个文件
    • C-n:将光标向下移动一行
    • C-p:将光标向上移动一行
    • C-g:取消之前的按键(将会成为最常用的按键之一)
    • C-x C-s:保存文件
    • C-x C-c:退出Emacs

    常用操作分类汇总

    文件操作

    • C-x C-f [文件路径] <RET>:打开一个文件
    • C-x C-s:保存文件
    • C-x 4 f [文件路径] <RET>:在一个新的窗格(缓冲区)中打开文件
    • C-x 5 f [文件路径] <RET>:在一个新的窗口中打开文件

    移动操作

    • C-n:将光标向下移动一行
    • C-p:将光标向上移动一行
    • C-b:将光标左移一个字符
    • C-f:将光标右移一个字符
    • M-f:将光标右移一个单词
    • M-b:将光标左移一个单词
    • C-v:向下移动一屏
    • M-v:向上移动一屏
    • C-l:将当前光标所在行移动到屏幕中央(注意:这里是字母L
    • C-a:将光标移到行首
    • C-e:将光标移到行尾
    • M-S-<:将光标移动到文件开头
    • M-S->:将光标移动到文件末尾
    • M-m:将光标移动到行首的第一个非空白字符

    查找与替换操作

    • C-s [查找的内容]:向前查找
    • C-r [查找的内容]:向后查找
    • C-M-s [查找的内容]:向前正则查找
    • C-M-r [查找的内容]:向后正则查找
    • M-S-%:查找并替换,操作步骤如下:按下M-S-%键启动查找替换,输入要被替换的词,回车,然后输入要替换的词,再回车。被替换的词此时会高亮起来,这时,输入y替换并跳到下一个,输入n忽略并跳到下一个,输入q结束,输入!替换剩下的全部。

    文本选择操作

    • C-S-e:选中从当前位置到行尾的文本
    • C-S-n:从当前位置开始往下选中一行文本
    • C-S-p:从当前位置开始往上选中一行文本
    • C-S-f:从当前位置开始往后选中一个字符
    • C-S-b:从当前位置开始往前选中一个字符
    • M-S-f:从当前位置开始往后选中一个单词
    • M-S-b:从当前位置开始往前选中一个单词
    • M-S-e:选中从当前位置开始到当前句尾的文本
    • M-S-a:选中从当前位置开始到当前句首的文本
    • C-S-@ [其他移动操作]:从一个起始位置,选中连续的字符,比如C-S-@ C-e就表示选中从当前光标位置到行尾的所有字符
    • C-S-v:向下选择一屏
    • M-S-v:向上选择一屏
    • C-S-l:让当前光标所在行居中
    • C-x h:全选

    文本编辑操作

    • 插入文本:只要光标在当前缓冲区,就可以直接输入插入文本。
    • C-k:删除光标到行尾的所有字符
    • C-u [N] [操作序列]:重复执行一个操作序列N次
    • C-/C-x u:撤销(undo)上次操作,多次按可以撤销之前的多次操作
    • C-g C-/:重做(redo),用于重做上次的撤销动作(撤销之后后悔了,想恢复重做)
    • <Backspace>:删除当前光标前的一个字符
    • C-<Backspace>:删除当前光标前的一个单词
    • C-d<Delete>:删除当前光标后的一个字符
    • M-<Backspace>:剪切当前光标前的一个字符到剪贴板
    • M-d:剪切当前光标后的一个字符到剪贴板
    • C-k:剪切从光标到行尾的字符到剪贴板
    • C-y:粘贴剪贴板中的文本到当前光标位置
    • M-w:复制当前选中的字符
    • C-w:剪切当前选择的字符到剪贴板
    • C-a C-k:剪切一整行到剪贴板中,其实也可以用于删除一整行
    • C-e <RET>:在当前行下方插入一空行
    • C-x C-q:让当前buffer在“只读”和“读写”两种编辑模式之间切换

    多窗格与多窗口

    首先要明确一下Emacs中窗格与窗口的概念的区别:每个窗格其实就是一个缓冲区,一个窗口中可以同时打开多个窗格,而窗口就是像Windows那样的GUI窗口。

    • C-x 1:仅保留当前窗格,关闭其他窗格
    • C-x 2:在垂直方向打开2个窗格
    • C-x 3:在水平方向打开2个窗格
    • C-x o:在不同窗格之间切换
    • C-x 0:关闭当前窗格
    • C-x S-{:减小当前窗格的水平宽度
    • C-x S-}:缩小当前窗格的水平宽度
    • C-x S-^:增大当前窗格的垂直高度
    • C-M-v:在另一个窗格中向下滚动一屏(但光标还保留在当前窗格)
    • C-M-S-v:在另一个窗格中向上滚动一屏(但光标还保留在当前窗格)
    • M-x make-frame:打开一个新窗口
    • M-x delete-frame:关闭当前窗口
    • C-z:挂起当前的窗口(相当于最小化当前的窗口)

    文本编码

    • M-x describe-coding-system <RET>:查看当前缓冲区的编码格式
    • C-x <RET> r <TAB>:列出当前的所有编码
    • C-x <RET> f utf-8 <RET>:改变当前缓冲区的编码为utf-8

    命令与函数操作

    • M-x [函数名] <RET>:执行一个函数
    • M-S-! [命令] <RET>:执行一个命令行命令
    • M-x shell <RET>:在一个新窗格中、当前目录位置打开命令行

    一些常用操作

    • M-x goto-line <RET> [行号] <RET>:跳转到某一行,将其绑定到快捷键C-c j
    ;; 快速跳到某一行
    (global-set-key (kbd "C-c j") 'goto-line)
    
    • M-x electric-pair-mode <RET>:打开括号配对模式

    缓冲区

    • C-x C-b:在一个新窗格中列出当前所有的缓冲区
    • C-x b xxx <RET>:切换到名为xxx的缓冲区
    • C-x k xxx <RET>:关闭一个名为xxx的缓冲区(如果直接按回车,默认关闭的是当前缓冲区)
    • C-x s:一个个询问是否保存当前每个缓冲区的内容
    • M-x kill-some-buffers <RET>:一个个询问是否关闭当前打开的缓冲区
    • C-x <Left>:在多个缓冲区之间切换
    • C-x <Right>:在多个缓冲区之间切换

    配置相关

    • C-x d S-~ <RET>:打开Emacs配置文件所在路径
    • C-h v load-path <RET>:查看Emacs的加载路径

    帮助操作

    • C-h t:查看Emacs快速指南
    • C-h f:查看一个函数(命令)的帮助文档
    • C-h S-?M-x [help]:查看帮助
    • C-h c [命令序列]:显示命令序列对应的函数名
    • C-h k [命令序列]:显示命令序列的详细文档(打开一个新窗格)
    • C-h a [关键词]:打开一个新窗格列出所有含有此关键词的命令
    • C-h i:查看信息字典文档
    • C-h r:查看使用手册
    • C-h m:查看当前缓冲区的major mode和minor mode及其介绍
    • C-h b:查看和当前缓冲区绑定的快捷键列表
    • C-h v [变量名]:查看某个变量的值
    • C-h w [函数名]:查看某个函数绑定的快捷键
    • C-h i m [elisp] <RET>:查看elisp文档

    命令行操作

    以下操作都是在系统命令行中的操作:

    • emacs -nw -Q:在命令行中打开Emacs,-nw参数表示:no window-Q参数表示:不显示欢迎界面。在命令行打开Emacs后,各项操作和按键与在GUI窗口中是一致的


    作者:m2fox
    链接:https://www.jianshu.com/p/89b689a586b3
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    6-Python爬虫-分布式爬虫/Redis
    ES 查询时 排序报错(fielddata is disabled on text fileds by default ... )解决方法
    Intellij Idea webstorm 激活
    Intellij Idea 配置jdk
    java 获取(格式化)日期格式
    js 跳转 XSS漏洞 预防
    CSS去掉背景颜色
    js对象无法当成参数传递 解决方法
    Elasticsearch java api
    java多条件查询SQL语句拼接的小技巧
  • 原文地址:https://www.cnblogs.com/jiftle/p/10344493.html
Copyright © 2011-2022 走看看