BBS水木清华站∶精华区
如何得到与 point 有关的讯息
前面谈过 EMACS 移动 point 的方法,现在介绍探知 point 位置
的方法。point 所在的栏位、列数与页数等讯息,可从整个或部份
的缓冲区而得知。现在就开始讨论 point 位置。
o Meta-x what-page
告知 point 所在的页数与列数。若缓冲区没有以分页(^L)符号
分页,则 point 所在的页数永远为第一页。 若 point 在第一页的
第 200 列,其显示的讯息如下:
Page 1, line 200
o Ctrl-x l (count-lines-page)
`` Meta-x what-page'' 用来告知 point 所在位置的页数与列数,
但无法从中得知此页的总列数。若想知道某一页的总列数,
必需靠 Ctrl-x l 来得知。
此指令除了得知某页的总列数外,同时还知道 point 所在位置之前
与之後的尚有的列数。使用此指令时, echo area 会出现
如下的讯息:
Page has 23 lines(20 + 4)
echo area 出现的第一个数字为总列数,括号内的二个数字
分别代表point 所在处之前与之後的列数。括号内的两个数
是以point 为分界点
而得来的。所以当 point 不出现在某一列的第一个栏位时,
括号内二个列数的总和会比总列数多出一列,因为 point 所在的列
被重复计算了两次. 此指令在决定如何分页时可以帮上大忙,
因为可以轻易得知 point 前後的列数。
o Meta-x what-line
告知 point 在缓冲区的列数。若此时 point 在第 200 列,
则 echo area 会出现如下的讯息:
o Ctrl-x =
指出游标所在栏位的字元资料。这些资料包括字元的八进位码、
字元所在的位置占整个缓冲区的比例(此比例以字元为基本单位)
以及字元所在的栏位。例如以此指令来得知此 ``a'' 字元的资料,
echo area 会出现如下的资讯:
Char: a (0141) point=23905 of 38784 (62) column 19
临时想知某一字元的八进位,也不妨试试此法。
o Meta-=
用来得知某特定区域( region)的总列数与总字元数。
至於如何设定区域会在 5.3 节讨论。以此指令得知的结果如下所示:
Region has 200 lines, 2000 characters
o Meta-x line-number-mode
以上所讨论的指令,只在使用指令时才会显示想要的讯息,
讯息的出现是无法长存的。 基於此,EMACS 提供了一个可使
讯息永久存在 line 的方法,那就是使用 `` Meta-x line-number-mode''。
此指令可以在 mode line 上显示 point 所在的列数,直到离开
此状态或离开此视窗才会消失。若想使每次进入EMACS 都能
显示列数,最好的方法是在 ``.emacs'' 档加上如下的叙述:
(setq line-number-mode t)
如此一来,只要进入 EMACS , mode line 会自动将列数显现出来。
至於自动显示栏位的方法,目前的 EMACS 尚未提供此服务。
BBS水木清华站∶精华区