[问题]gvim下键盘读取错误

Vim、Emacs配置和使用
回复
头像
zerg0006
帖子: 43
注册时间: 2007-08-03 15:50
送出感谢: 0
接收感谢: 0
联系:

[问题]gvim下键盘读取错误

#1

帖子 zerg0006 » 2007-12-29 21:02

本来平时是直接在shell下打进vi直接进入vim界面,今天敲了gvim重新打开一个窗口是发现所有的文件都乱掉了,所有英文都是显示错误的,比如敲进a显示b,敲进b显示c,顺延下去,然后敲进`反而显示a,敲z显示|,但是中文显示均正常,请问各位有没有见过这种情况?如果我用vim的话也是正常的。可以肯定不是键盘输出的问题,因为我打开之前正常的文件他也变了,应该跟ascii吗有关,请各位帮个忙。启动gvim时出现

代码: 全选

** (gvim:11053): CRITICAL **: ascii_glyph_table_init: assertion `gui.ascii_glyphs->num_glyphs == sizeof(ascii_chars)' failed
头像
zerg0006
帖子: 43
注册时间: 2007-08-03 15:50
送出感谢: 0
接收感谢: 0
联系:

#2

帖子 zerg0006 » 2007-12-29 21:06

原来这里已经解决了,先骂自己一下,没看帖就提问,对不起了各位
yudian973
帖子: 15
注册时间: 2008-02-27 12:52
送出感谢: 0
接收感谢: 0
联系:

#3

帖子 yudian973 » 2008-03-11 22:05

zerg0006 写了:原来这里已经解决了,先骂自己一下,没看帖就提问,对不起了各位
大哥我也出现这样的问题,你看到哪里有的
我找到这个
/usr/share/vim/下,找到gvimrc并去掉如下几行的注释:

if has('gui_gtk2')

set guifont=Sans

else

set guifont=-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1

endif

还有这个
在./.vimrc中添加
"设置GVIM正确显示英文
if has("gui")
set guifont=Courier\ 10\ Pitch\ 10
endif

都不行呀,怎么回事呢?你的解决了吗
yudian973
帖子: 15
注册时间: 2008-02-27 12:52
送出感谢: 0
接收感谢: 0
联系:

#4

帖子 yudian973 » 2008-03-11 23:48

终于找到了

kwyd写的回复:
打开gvim, 输入以下EX命令

代码: 全选

:se guifont=*
(先别管显示是否正常,完全按照上面的方法输入,然后回车)
然后在弹出的字体菜单中挑一个,比如 DeJaVu Sans Nomo,然后确定看看是否显示正常了,如果不是,继续找其他字体,直到显示正常,然后再输入

代码: 全选

:se guifont?
会显示你当前的字体,记下名字,比如是 DeJaVu\ Sans\ Nomo\ 10
在你的 .vimrc (或者在.gvimrc,这样就不需要下面的 if 语句了) 里加入:

代码: 全选

if has("gui_running")
se guifont=(刚才使用正常的字体的名字,如 DeJaVu\ Sans\ Nomo\ 10)
endif
再重启gvim看看,应该就好了。


tyfj写 的回复:
yes,
要对 gvim 重新设置字体, 可以直接在 ~/.gvimrc 中设置, 比如:

代码: 全选

set guifont=Courier\ New\ 14
set guifontwide=WenQuanYi_Bitmap_Song\ 16
"注意,上面两种不等宽的字体是用来解决中文字体间距过大的
"更多可以 :h guifont OR :h guifontwide


都可以解决。我是用后面这个方法搞定的还只能写在gvimrc中,我在vimrc中进行修改好像还是不行哦
头像
zerg0006
帖子: 43
注册时间: 2007-08-03 15:50
送出感谢: 0
接收感谢: 0
联系:

#5

帖子 zerg0006 » 2008-03-24 3:23

yudian973 写了:
zerg0006 写了:原来这里已经解决了,先骂自己一下,没看帖就提问,对不起了各位
大哥我也出现这样的问题,你看到哪里有的
我找到这个
/usr/share/vim/下,找到gvimrc并去掉如下几行的注释:

if has('gui_gtk2')

set guifont=Sans

else

set guifont=-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1

endif

还有这个
在./.vimrc中添加
"设置GVIM正确显示英文
if has("gui")
set guifont=Courier\ 10\ Pitch\ 10
endif

都不行呀,怎么回事呢?你的解决了吗
在vimrc文件中增加:

if has("gui")
set guifont=Courier\ 10\ Pitch\ 10
endif

一切OK了。
头像
Strange
帖子: 1823
注册时间: 2006-05-19 9:54
来自: Shanghai
送出感谢: 2 次
接收感谢: 10 次

#6

帖子 Strange » 2008-03-24 11:55

zerg0006 写了:原来这里已经解决了,先骂自己一下,没看帖就提问,对不起了各位
平均每两天就会有人发类似贴,习惯了...
ニンニク入れますか?
x60 with gentoo
xiaodaoshan
帖子: 2
注册时间: 2008-03-29 10:43
送出感谢: 0
接收感谢: 0

#7

帖子 xiaodaoshan » 2008-03-29 11:30

直接把/etc/vim/gvimrc文件中的以下几行的注释去掉就好了,或者直接加入:

if has('gui_gtk2')
set guifont=Bitstream\ Vera\ Sans\ Mono\ 12
else
set guifont=-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1
endif
回复

回到 “Vim和Emacs”