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水木清华站∶精华区