虽未上夜班。。。然而却未知何故翻来覆去总是难以入眠。。。抄起手机查询套餐使用情况时竟然发现可享受免费短信数300已用3条,意味着二月份剩下最后一天竟然还有297条的短信未使用。。。想想这未必太便宜移动。。。故群发短信骚扰众人。。。极其无趣无聊之行为。。。。而后依旧是无法安静入睡。。。遂听小毛毛之建议。。。起床再次开机与其打牌数盘。。。不料之后,小毛毛发来QQ消息“困”
故散去道安。。。。

      安静的夜  无眠的我  左看右看  里瞧外探。。。 最后随便双击打开桌面图标上的Gvim  
想想来玩玩这个被N多人广而赞美是个强大的IDE工具,而自己其实一直以来都只懂得较为平常简单快捷的操作,基本实现自己(除了不编程外)的需求,故一直未能充分让牠发挥出其牛逼之处。。。刚好之前有见过一篇文章关于配置Vim使其成为强大的IDE工具。。。遂简单捣鼓片刻。。。最后得到的感受是:Vim  Is  A  Very  Powerful  Tools    
力荐     自己需好好琢磨之。。。

      好吧,想起明天白天还得值班,等下六点还得起床,故逼迫自己躺下不管是否能睡着,就当安静休息两个小时吧  

       Go  To  Bed …. Sleeping…..  For   Only  Two  Hours …..  
Good    Morning  Everyone  

       See  You Next  Time   Have Anything  You  Can  Select  Send  Me  SMS or Leave
Message  By  Email : QingXianYan at Gmail dot Com     Thanks

 

       貌似之前就有遇到过在windows系统下vim出现中文乱码的情况,只是用得较少而且也懒得去捣鼓它/// 这问题直到昨晚因为试用了个Casparant同学介绍的一款用于实现twitter客户端功能Vim插件—TwitVim的时候查看消息的时候出现的根本都是乱码。。。所以决定搞定关于Vim编辑器编码方式导致中文乱码的问题///
       上网了解了下才知道原来Vim有四个跟字符编码方式有关的选项,分别是:encoding、fileencoding、fileencodings、 termencoding (这些选项可能的取值请参考 Vim 在线帮助 :help encoding-names),它们各自的意义:
       * encoding: Vim 内部使用的字符编码方式,包括 Vim 的 buffer (缓冲区)、菜单文本、消息文本等。用户手册上建议只在 .vimrc 中改变它的值,事实上似乎也只有在 .vimrc 中改变它的值才有意义。
       * fileencoding: Vim 中当前编辑的文件的字符编码方式,Vim 保存文件时也会将文件保存为这种字符编码方式 (不管是否新文件都如此)。
       * fileencodings: Vim 启动时会按照它所列出的字符编码方式逐一探测即将打开的文件的字符编码方式,并且将 fileencoding 设置为最终探测到的字符编码方式。因此最好将 Unicode 编码方式放到这个列表的最前面,将拉丁语系编码方式 latin1 放到最后面。
       * termencoding: Vim 所工作的终端 (或者 Windows 的 Console 窗口) 的字符编码方式。这个选项在 Windows 下对我们常用的 GUI 模式的 gVim 无效,而对 Console 模式的 Vim 而言就是 Windows 控制台的代码页,并且通常我们不需要改变它。
       由于 Unicode 能够包含几乎所有的语言的字符,Unicode的 UTF-8 编码方式又是非常具有性价比的编码方式,因此encoding 的值设置为utf-8。同时将encoding设置为utf-8时,Vim自动探测文件的编码方式会更准确。在中文 Windows里编辑的文件,为了兼顾与其他软件的兼容性,文件编码还是设置为GB2312/GBK比较合适,因此fileencoding建议设置为 chinese (chinese 是个别名,在Unix里表示gb2312,在Windows里表示cp936,也就是GBK的代码页)。
       最终对于文件中显示乱码、菜单乱码、右键菜单乱码以及Conlse输出乱码问题的解决方案,修改Vim编辑器所对应的配置文件_vimrc,添加如下配置:
       “处理文本中显示乱码

set encoding=utf-8
set fileencodings=utf-8,chinese,latin-1
if has("win32")
set fileencoding=chinese
else
set fileencoding=utf-8
endif

       “处理菜单及右键菜单乱码

source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim

       “处理consle输出乱码

language messages zh_CN.utf-8

       关于Vim的支持多字符编码方式工作的运作原理是:
       首先、Vim 启动,根据_vimrc配置文件中设置的encoding的值来设置buffer、菜单文本、消息文的字符编码方式。
       紧接、读取要编辑的文件,根据fileencodings中列出的字符编码方式逐一探测该文件编码方式。并设置fileencoding 为探测到的字符编码方式。
       然后、对比fileencoding和encoding的值,若不同则调用iconv将文件内容转换为encoding所描述的字符编码方式,并且把转换后的内容放到为此文件开辟的buffer里,完成后就可以开始编辑这个文件。
       最后、编辑完成后保存文件时,再次对比fileencoding和encoding的值。若不同再次调用iconv将即将保存的buffer中的文本转换为fileencoding所描述的字符编码方式,并保存到指定的文件中。
       注:需要调用外部的iconv.dll,需要保证这个文件存在于$VIMRUNTIME或者其他列在PATH环境变量中的目录里。

 

       不幸遇到Mysql出现ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’错误导致无法启动
解决方法: 修改/etc/my.conf:

[client]
socket=/var/lib/mysql/mysql.sock
[mysqld]
socket=/var/lib/mysql/mysql.sock

       这样mysqld 及mysql就都可以搞定启动起来啦///
       不过问题也就来了,php程序链接数据库的时候同样还是会出现这个问题,因为这还需要修改/etc/php.ini的php配置文件中的mysql.default_socket的值,其默认的时候是为空的,将其修改设置为:

mysql.default_socket=/var/lib/mysql/mysql.sock

       但是有时这样并未能搞定php链接数据库的出现的Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2) 的问题,因为php程序很BT的貌似非得找链接/tmp/mysql.sock而这个文件是不存在的,好吧,那就给他做个链接操作不就得了

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

       这样php程序页面就可以链接到数据库啦!!!
附:

ls -l /var/lib/mysql/mysql.sock

看到的属性是:

srwxrwxrwx 1 mysql mysql 0 11-21 14:39 /var/lib/mysql/mysql.sock

       档案类型标志是s,还真没去了解过这样的类型。。。。

© 2011 Yousri's Blog Suffusion theme by Sayontan Sinha

无觅相关文章插件,快速提升流量