【DAY1--带你学习emacs】basic操作的使用

序言

最近,重新学习SCIP这本书,升起了仔细学习LISP的想法,主要感觉LISP的抽象能力实在太强了,想看看LISP到底能做到哪些事情。

为了学习LISP,我决定先搭建一套common lisp的开发环境,毕竟是现在最流行的lisp方言。首先就是emacs,早有听说emacs号称是“神的编译器”,在这里我也不想再谈emacs和vim的优劣,不过由于对lisp的好感,让我觉得emacs的功能要更加强大,所以即使现在我对vim的了解足够我在工作学习中使用了,我还是有很大的兴趣去学习emacs。接下来这个系列我都是跟随gnu的官方文档从零开始学习emacs,希望能给需要的人一些帮助。

下面,我从基础的一些操作开始记录,我这个系列的文章都使用emacs编辑,在记录命令的同时,也使用这些命令,大家可以使用这个方法一起学习。

inserting text

  • 普通的有可以显示的字符(比如,“a,b,…,z,a,B,…,Z”)可以直接输入。
  • 想要输入有一些没法直接显示的字符(比如,", “),需要先输入前缀键"C-q”。
  • 可以用前缀键(“C-x 8 RET”)输入一些常见的Unicode字符

Moving Point

  • C-f:向前移动一个字符,调用的forward-char
  • C-b:向后移动一个字符,调用的backward-char
  • C-n:移动到下一行,调用的next-line
  • C-p:移动到上一行,调用的previous-line
  • C-a:移动到这一行的开头,调用的move-beginning-of-line
  • C-e:移动到这一行的结尾,调用的move-end-of-line
  • M-f:移动到前一个word,调用的forward-word
  • M-b:移动到后一个word,调用的backward-word
  • M-r:在不移动屏幕上文本的情况下,将点重新定位在窗口最中间文本行的左边缘; 在随后的连续调用中,以循环顺序将点移动到最上一行,最下一行等的左边界,调用的move-to-window-line-top-bottom
  • M-<:移动到缓冲区的顶部(调用的beginning-of-buffer)。 使用数字参数n,从顶部移至n / 10。 在图形显示中,C-HOME会执行相同的操作。
  • M->:移动到缓冲区的底部(调用的end-of-buffer)
  • C-v:向前滚动显示屏幕,必要时在屏幕上移动点,调用的scroll-up-command
  • M-v:向后滚动一个屏幕,并在必要时在屏幕上移动点,调用的scroll-down-command
  • M-g c:读取数字n并将点移动到缓冲区位置n。 位置1是缓冲区的开始(跳转指令,以字节为单位)。
  • M-g g:读取数字n,然后将指针移至第n行的开头(转到行)。第1行是缓冲区的开始。调用的goto-line
  • M-g TAB:读取数字n,然后将指针移动至第n列的开头(以列为单位)
  • C-x C-n:锁定列数,在上下移动光标的时候都在同一列
  • C-u C-x C-n:撤销上一个命令的设置

Erasing

  • DELor BACKSPACE:删除光标前的一个字符,调用的delete-backward-char
  • Delete:删除光标后的一个字符,调用的delete-forward-char
  • C-d:删除光标处的字符,调用的delete-char
  • C-k:将从光标开始到这一行结束的内容剪贴掉,调用的kill-line
  • M-d:将从光标开始到这个word结束的内容剪贴掉,调用的kill-word
  • M-DELor M-BACKSPACE:将从光标开始到上一个word开头的内容剪贴掉,调用的backward-kill-word

Basic Undo

C-/or C-x uor C-_: 撤销,调用的undo

Files

C-x C-f:根据输入的文件名,打开文件,调用的find-file

C-x C-s:保存buffer,调用的save-buffer

Help

C-h k (describe-key):查看describe-key绑定的函数

Blank Lines

C-o:在光标的下面插入新的一行,调用的open-line

C-x C-o:删除重复的空白行,调用的delete-blank-lines

Continuation Lines

Position Info

M-x what-line:显示当前光标所在的行数

M-x line-number-mode:显示行号
M-x column-number-mode:显示列号
M-=:显示从buffer开始到光标当前的行数,word数以及字符数,调用的是count-words-region
M-x hl-line-mode:高亮当前行
M-x count-words:显示当前buffer总的行数。word数以及字符数
M-x size-indication-mode:显示当前buffer的大小
C-x =:显示光标后的字符的字符代码,光标的字符位置和光标的列,调用的是what-cursor-position

Arguments

指定数字参数的最简单方法是在按住Meta键的同时键入数字和/或减号。
使用C-u NUMBER也是可以的

Repeating

除了使用Argument章节介绍的方法可以重复执行指令,使用C-x z(repeat)可以重复上一条执行的指令,按几次z就是重复几次

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值