分页: 1 / 1
emacs开启word-wrap之后中文显示混乱
发表于 : 2012-04-21 21:43
由 tririver
由于经常编辑英文文本,开启了word wrap功能:(setq-default word-wrap t)。这样读英文当一行很长的时候就会从单词断行而不是从单词中的某个字母断行。
可是,这时中文的断行变得惨不忍睹,比如
啊啊 啊啊...啊啊啊
在emacs中就会显示成
啊啊
啊啊...啊啊啊
也就是说emacs把汉字也当作单词处理,只有在空格和标点符号的地方才给断行了。不知有没有什么解决方法?多谢!
Re: emacs开启word-wrap之后中文显示混乱
发表于 : 2012-04-21 23:42
由 lilydjwg
换 Vim,

Re: emacs开启word-wrap之后中文显示混乱
发表于 : 2012-04-22 1:19
由 Fermat618
tririver 写了:由于经常编辑英文文本,开启了word wrap功能:(setq-default word-wrap t)。这样读英文当一行很长的时候就会从单词断行而不是从单词中的某个字母断行。
可是,这时中文的断行变得惨不忍睹,比如
啊啊 啊啊...啊啊啊
在emacs中就会显示成
啊啊
啊啊...啊啊啊
也就是说emacs把汉字也当作单词处理,只有在空格和标点符号的地方才给断行了。不知有没有什么解决方法?多谢!
找找一些选项吧,vim 在一些选项没设置好的时候也会这样。
Re: emacs开启word-wrap之后中文显示混乱
发表于 : 2012-07-15 9:50
由 leeward
这个是
word-wrap造成的,这个功能可以正确的对英文分词(因为英文就是单词),但对中文不行。
最简单的方法是在你的
.emacs 里添加如下的代码
代码: 全选
(add-hook 'visual-line-mode-hook
(lambda()
(if visual-line-mode
(setq word-wrap nil))))
这段代码的意思是在进入
visual-line-mode的时候,关闭
word-wrap。不过这个方法有个缺点,就是每次进入该模式都会这样配置。
比如我写中文都在org-mode,其他情况下我用英文,于是我把这个配置只和org-mode关联起来,代码类似下面
代码: 全选
(add-hook 'org-mode-hook '(lambda ()
(setq visual-line-fringe-indicators t)
(visual-line-mode)
(if visual-line-mode
(setq word-wrap nil))))
.
Re: emacs开启word-wrap之后中文显示混乱
发表于 : 2014-06-08 9:51
由 葡萄柚
leeward 写了:这个是
word-wrap造成的,这个功能可以正确的对英文分词(因为英文就是单词),但对中文不行。
最简单的方法是在你的
.emacs 里添加如下的代码
代码: 全选
(add-hook 'visual-line-mode-hook
(lambda()
(if visual-line-mode
(setq word-wrap nil))))
这段代码的意思是在进入
visual-line-mode的时候,关闭
word-wrap。不过这个方法有个缺点,就是每次进入该模式都会这样配置。
比如我写中文都在org-mode,其他情况下我用英文,于是我把这个配置只和org-mode关联起来,代码类似下面
代码: 全选
(add-hook 'org-mode-hook '(lambda ()
(setq visual-line-fringe-indicators t)
(visual-line-mode)
(if visual-line-mode
(setq word-wrap nil))))
.
这个也不解决问题。这时候Emacs会在窗口的右边断行。中文不会有问题,但英文单词和数字却会在中间断开。