LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 887|回复: 8

EMACS的一个问题

[复制链接]
发表于 2004-7-28 16:45:46 | 显示全部楼层 |阅读模式
RH9下自带的是21.2.1版本,buffer显示中文,输入中文都没问题,
但标题栏里那个emacs@...... 这个里面显示不了中文,为乱码
怎么解决??
另外,如何实现从外面复制中文到BUFFER??


tks
 楼主| 发表于 2004-7-28 16:54:02 | 显示全部楼层
还有一个问题就是,输入时,一行到头了它会自动下到下一行,那们我使用上下箭头移动时这两行就看成一行了,上下箭头直接跳过去了,除非每次到了一排的最后回车换行,上下箭头才会一排一排的走,
有没有这种实现,就是还是自动换行,但用上下箭头时一排一排的走/??
发表于 2004-7-28 16:54:18 | 显示全部楼层
标题的字体是由窗口管理起管理的

和外部程序的粘贴可以看看置定区的一篇讲配置的文章
发表于 2004-7-28 19:18:45 | 显示全部楼层

回复: EMACS的一个问题

最初由 WhereToGo 发表
RH9下自带的是21.2.1版本,buffer显示中文,输入中文都没问题,
但标题栏里那个emacs@...... 这个里面显示不了中文,为乱码
怎么解决??
另外,如何实现从外面复制中文到BUFFER??


tks


标题栏的字体乱码是由窗口管理器决定,不关emacs的事。
和X互相复制我这边是用mule-gbk,然后将下面加入.emacs
;; Setup X Selection for mule-gbk
(mule-gbk-selection-setup)

具体可以看mule-gbk的帮助
发表于 2004-7-28 19:20:46 | 显示全部楼层
最初由 WhereToGo 发表
还有一个问题就是,输入时,一行到头了它会自动下到下一行,那们我使用上下箭头移动时这两行就看成一行了,上下箭头直接跳过去了,除非每次到了一排的最后回车换行,上下箭头才会一排一排的走,
有没有这种实现,就是还是自动换行,但用上下箭头时一排一排的走/??
我给你写了一个,你试试

[PHP]

(defun my-next-line (&optional line)
  "next-line over continuation lines"
  (interactive "p")
  (let ((oldpoint (point))
        fromstarttopoint)
    (vertical-motion 0)
    (setq fromstarttopoint (- oldpoint (point)))
    (vertical-motion line)
    (save-excursion
      (vertical-motion 0)
      (if (< (- (line-end-position) (point)) fromstarttopoint)
          (setq fromstarttopoint (- (line-end-position) (point)))))
    (forward-char fromstarttopoint)))

(defun my-previous-line (&optional line)
  "previous-line over continuation lines"
  (interactive "p")
  (my-next-line (- 0 line)))

[/PHP]
加入.emacs中并且绑定就可以了。
(global-set-key [?\s-n] 'my-next-line)
(global-set-key [?\s-p] 'my-previous-line)
这样绑到Win-n和Win-p。
发表于 2004-7-28 21:59:33 | 显示全部楼层
关于换行的问题,可能是这样的:Emacs可以设置每行显示字符的个数,默认的是70个中文还是多少的,具体我忘了,你可以改一下,具体请参考自带的info,或是到新闻组cn.comp.os.linux上问问看,那里有不少Emacs高手的。
发表于 2004-7-28 22:33:20 | 显示全部楼层
你概念不清……

所谓的“行”一般有两种所指,一是text line,这取决于文本中的换行苻,一个text line的长度是没有限制的。另外一个所指是screen line,就是在现有窗口的宽度内可以显示的“一行”,这取决于frame的width。当一个text line的长度超过窗口宽度,则会分成好几行来显示,在每一换行处会有小小的弧形箭头来表示。

用默认的C-n和C-p,它是按text line来寻找下一行的,并不管这个text line占了多少screen line。按照screen line来前后移动的函数前面我已经给出。

至于每行70个字符,那是fill-column数值,这是决定在你用fill-region或者fill-paragraph时会自动将多少个字符断为一行。这种断航会将一个text line断为多个。会改变原文的结构。
 楼主| 发表于 2004-7-28 22:48:35 | 显示全部楼层
very tks.
你这么一讲,我对这两个概念就明白多了.
你的代码没问题,很棒
再次very tks
发表于 2004-7-29 08:20:49 | 显示全部楼层
(set-clipboard-coding-system 'euc-cn)
应该就可以复制中文了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表