10.Emacs进阶之图片模式

Posted 艾特 数据

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10.Emacs进阶之图片模式相关的知识,希望对你有一定的参考价值。

为了简便期间,对文中命令进行了缩写,其中:

·C代表CTRL键

·M代表ALT键。

 

Emacs提供了一种叫做图片的模式,英文是“Picture Mode”。这里的图片并不是我们所常见的png、bmp等二维图片,而是特指的ASCII图片,常见于命令行程序中,通过字符的堆叠而产生图片的形式。相信这样的图片对技术宅更有吸引力。

一、与文本模式的区别和联系

Emacs本质上是处理文本和字符的。ASCII图片虽然是一种图片形式,但在Emacs看来,还是字符的堆积。也就是说,图片模式和文本模式一样都是用来处理字符的。

从大的方面二者本质相同,但在处理细节上又有着非常大的差异。最简单的一点,图片模式中就没有行尾的概念。可以这样理解,Emacs进入图片模式之后,就将工作区看成了一张画布,并且这张画布理论上无穷大,可以任意发挥。既然无穷大,也就没有了“行尾”这个概念,只有一行的最后一个可见字符。这是第一个大的区别。

再有一个区别,就是字符的书写方向。在文本模式中,字符是从左到右、从上到下依次书写的,符合人们的常规阅读顺序。在图片模式就不是这样了,出了从左到右、从上到下外,还有左上、左下、右上、右下,还要从下往上、从右往左,这样一共八个方向。

第三个我理解的区别,就是字符的更新方式,就像我们使用其他画图软件一样,后画的内容永远在上层。在图片模式中,出现字符的重叠时,执行的是字符的替换。即:在画布的同一位置,后出现的字符将覆盖原来的字符。

二、光标移动命令

在图片模式下,光标移动的快捷键与文本模式相同,但是都绑定了不同的后台命令,在实际执行效果上也略有差异。

C-f

向前移动光标。由于没有行尾,光标会一直向前移动。

C-b

向后移动光标。

C-n

向下移动光标。移动光标位置在上一位置的正下方。

C-p

向上移动光标。移动光标位置在上一位置的正上方。

C-a

将光标移动到行首。

C-e

将光标移动到本行最后一个非空字符位置。

三、字符的插入

在图片模式下,字符的插入与文本模式具有较大的差异。仍然是按照替换的理念,插入的字符会直接替换光标位置的原字符。

四、画线相关命令

画线是作图的基本操作,Emacs在图片模式下提供了八个方向画线的命令:

C-c <

向左画线。

C-c >

向右画线。

C-c `

向左上画线。(键盘左上角的按键)

C-c ‘

向右上画线。(键盘上引号”所对应的按键)

C-c /

向左下画线。

C-c \

向右下画线。

C-c ↑

向上画线。(小键盘向上按键)

C-c ↓

向下画线。(小键盘向下按键)

关于上面命令,在使用中要注意:

画线命令可以看作是一个动作的开始。也就说执行了一个命令后,在执行下一个命令之前,对文本和字符的插入都沿用上一个动作。


以上是关于10.Emacs进阶之图片模式的主要内容,如果未能解决你的问题,请参考以下文章

Python进阶:设计模式之迭代器模式

Python进阶:设计模式之迭代器模式

Java进阶篇设计模式之八 ----- 责任链模式和命令模式

Java进阶篇设计模式之二 ----- 工厂模式

Java进阶篇设计模式之九----- 解释器模式和迭代器模式

9.Emacs进阶之文本模式大纲模式