gvim不能显示中文菜单

新安装的Debian Squeeze,普通用户使用gvim时,会出现

(gvim:2299): Gtk-WARNING **: Invalid input string (gvim:2299): Gtk-WARNING **: Invalid input string (gvim:2299): Gtk-WARNING **: Invalid input string


并且不能显示中文菜单。但是root确没有此问题。


查了一下普通用户和root的locale

root@debian:/usr/share/vim/vim72/lang# locale LANG=zh_CN.UTF-8 LANGUAGE=zh_CN:zh LC_CTYPE="zh_CN.UTF-8" LC_NUMERIC="zh_CN.UTF-8" LC_TIME="zh_CN.UTF-8" LC_COLLATE="zh_CN.UTF-8" LC_MONETARY="zh_CN.UTF-8" LC_MESSAGES="zh_CN.UTF-8" LC_PAPER="zh_CN.UTF-8" LC_NAME="zh_CN.UTF-8" LC_ADDRESS="zh_CN.UTF-8" LC_TELEPHONE="zh_CN.UTF-8" LC_MEASUREMENT="zh_CN.UTF-8" LC_IDENTIFICATION="zh_CN.UTF-8" LC_ALL= wolf@debian:/etc/fonts/conf.d$ locale LANG=zh_CN.utf8 LC_CTYPE="zh_CN.utf8" LC_NUMERIC="zh_CN.utf8" LC_TIME="zh_CN.utf8" LC_COLLATE="zh_CN.utf8" LC_MONETARY="zh_CN.utf8" LC_MESSAGES="zh_CN.utf8" LC_PAPER="zh_CN.utf8" LC_NAME="zh_CN.utf8" LC_ADDRESS="zh_CN.utf8" LC_TELEPHONE="zh_CN.utf8" LC_MEASUREMENT="zh_CN.utf8" LC_IDENTIFICATION="zh_CN.utf8" LC_ALL=


原来默认的普通用户和root的locale不是“完全一样”的,说它不是一样的,也不对,因为一般的utf-8和utf8,习惯上都一样,但是在

gvim里,这个就是不一样,没办法,重新设置locale吧,在~/.bashrc里export变量:

export LANG=zh_CN.UTF-8 export LANGUAGE=zh_CN:zh export LC_CTYPE="zh_CN.UTF-8" export LC_NUMERIC="zh_CN.UTF-8" export LC_TIME="zh_CN.UTF-8" export LC_COLLATE="zh_CN.UTF-8" export LC_MONETARY="zh_CN.UTF-8" export LC_MESSAGES="zh_CN.UTF-8" export LC_PAPER="zh_CN.UTF-8" export LC_NAME="zh_CN.UTF-8" export LC_ADDRESS="zh_CN.UTF-8" export LC_TELEPHONE="zh_CN.UTF-8" export LC_MEASUREMENT="zh_CN.UTF-8" export LC_IDENTIFICATION="zh_CN.UTF-8" export LC_ALL=


打开新的shell,发现不爽的事情发生了

declare -x COLORTERM="gnome-terminal" declare -x DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-srZlAlbdRx,guid=422f1adee00fd73ef0a76a3300000027" declare -x DESKTOP_SESSION="default" declare -x DISPLAY=":0.0" declare -x GDMSESSION="default" declare -x GDM_KEYBOARD_LAYOUT="us" declare -x GDM_LANG="zh_CN.utf8" declare -x GNOME_DESKTOP_SESSION_ID="this-is-deprecated" declare -x GNOME_KEYRING_CONTROL="/tmp/keyring-1t1I2T" declare -x GNOME_KEYRING_PID="2076" declare -x GPG_AGENT_INFO="/tmp/seahorse-IKSFZu/S.gpg-agent:2157:1" declare -x GTK_IM_MODULE="scim" declare -x GTK_MODULES="canberra-gtk-module" declare -x GTK_RC_FILES="/etc/gtk/gtkrc:/home/wolf/.gtkrc-1.2-gnome2" declare -x HOME="/home/wolf" declare -x LANG="zh_CN.UTF-8" declare -x LANGUAGE="zh_CN:zh" declare -x LC_ADDRESS="zh_CN.UTF-8" declare -x LC_ALL="" declare -x LC_COLLATE="zh_CN.UTF-


这个应该是shell读取配置文件时的信息,虽然使用gvim,没有出现原来的错误,但是这样总是不舒服。


参考网上给出的解决方案:


# ln -s menu_zh_cn.utf-8.vim menu_zh_cn.utf8.vim


这样,确实解决了问题,同时也没有引入新的问题,使得普通用户的gvim在加载区域变量(locale)时,把utf8认为是utf-8。




你可能感兴趣的:(gvim不能显示中文菜单)