标签 程序员 下的文章

彻底迁移到Ubuntu

自从知道Ubuntu这个linux发行版后,就有了彻底迁移到Linux上的想法。但迫于各种各样的因素一直未能下定决心,这期间Ubuntu发行版已经从6.10进化到了10.04。经过长时间(近四年,时间长的的确有些夸张^_^)的准备,再借着Ubuntu 10.04 LTS发布的东风, 我终于下决心彻底走进Ubuntu的世界。

安装Ubuntu对我来说已经是驾轻就熟的事情了,这里也没什么好说的。对我来说,迁移到Ubuntu的主要工作集中在:
1、完成两个平台数据共享和迁移
2、选择和安装用于替代Windows上常见应用的软件

Ubuntu在与Windows分区互操作方面作了很多工作,Ubuntu下打开Windows分区与访问Ubuntu分区基本没什么区别,无论是NTFS还是FAT32(vfat)分区,保存在Windows分区中的数据都可以直接被访问和使用。

我平时使用最多的就是文本文件了,在Windows下使用GVIM或记事本打开;在Ubuntu下可继续使用GVIM(gedit已经被我卸载)。当然,VIM需要做一些字符集转换方面的设置才能保证对文件中的中文字符做正确的转换,具体如何配置可参考我的上一篇文章

平时工作中最常用的沟通方式就是Mail了,之前在Windows下使用Thunderbird收发Mail。当初之所以舍弃Outlook而转用Thunderbird也是为今天转移到Linux上工作做的准备,因为只有Thunderbird才能很好的支持在多个平台间共享数据,共享数据的配置方法可参考我去年写的一篇关于thunderbird的文章

之前在体验Ubuntu9.10时知道了iBus这个新输入法框架,当时的体验还不错,不过使用10.04后,发现Gvim/Vim和iBus有冲突,在Vim下Insert模式和Normal模式切换时iBus提词窗口总是自动退出,严重影响输入效率,后换成fcitx后冲突解决。

公司的办公软件早在年初就都切换到OpenOffice 3.0上了,公司的所有模板、通启也都以OpenOffice的文件格式发布了,所以在日常文档编辑和数据交换方面不存在什么问题。不过对于Microsoft专有格式的Project和Visio我目前还没有找到合适的替代品。

日常开发过程中,组内同事喜欢使用Feiq作为内部即时通信工具,可惜Feiq只有Windows版本,我曾经尝试用Wine 1.2去装载和运行Feiq,但都提示错误。无奈下,只能选择iptux。iptux采用的是以前飞鸽传书(ipmsg)的协议,只支持文字和文件传输,不支持在对话框中直接贴图。

思维导图软件近几年很受大家欢迎,之前一直在使用MindManager。迁移到Ubuntu上后,急需找到一款MindManager的替代品,而且还必须可以打开MindManager格式的文件。XMind恰是我所需要的。测试了一下,使用习惯和界面布局与MindManager差不多,且导入MindManager的文件也很顺利。

tortoriseSVN想必是每个使用svn作为代码版本控制工具的程序员必装的一款svn客户端软件,功能很强大,易用性也很好。不过在Ubuntu下可没有这么好的运气,也曾尝试过用Wine运行TortoriseSVN,但以失败告终。看见Ubuntu软件中心中有一款名为RapidSVN的工具,安装试用了一下,发现与TortoriseSVN差距很大,在没有找到更好的软件之前,先凑合用着。

Windows优化大师之类的软件我是一概不会安装的,但在Ubuntu下,国人开源的一款工具Ubuntu Tweak值得支持一下。特别是对linux桌面和窗口配置还不是很熟悉的情况下。

注重实效(pragmatic)的程序员都会在电脑里安装一款能帮助快速打开程序、快速定位文件的程序。Ubuntu下有Gnome Do,但是我更喜欢Launchy,之前在Windows上就用Launchy。现在发现Launchy也有Ubuntu版本,这样就不须重新学习了。

公司的某些OA系统对Firefox的支持很差,于是我下载安装了Chromium Web Browser,这个浏览器的体验不错,而且上述问题也得到了解决。不过由于使用Firefox + Vimperator时间久了,习惯了用一个'd'关闭一个标签页的VIM化的快捷命令,我暂时只将Chromium作为备份浏览器使用。

公司办公以台式机居多,这样在开会的时候我们会经常通过远程桌面访问到自己的PC上; Ubuntu内置远程桌面访问工具,而且可以命令行操作,rdesktop -f ip -u USER_NAME -p PASSWD即可直接进入你的PC桌面,就好比你在操作你自己的机器一样。你可以在.bashrc中用alias给上面命令串起个别名,这样只需敲入一串别名即可完成远程登录和操作了。

上周安装Ubuntu 10.04.1后,曾经有一种删除本子上Win7的冲动,但后来还是将Win7保留了下来。因为还有一些操作是在Ubuntu下无法做到的,比如说招行专业版。另外国内很多知名站点(如中国网络电视台)对非IE浏览器的支持都不好,有些时候你还不得不使用IE。

Ubuntu 10.04总体来说还是很稳定的,不过在使用过程中也有一些小插曲,比如:XWindows曾两次提示重启,点击确定后,N长时间也无法回到GUI界面,无奈只能重启系统。再比如:Ubuntu接投影后,桌面只能显示出2/3区域,似乎是我安装的Docky出现了什么问题。关闭Docky后,一切OK。

适应Ubuntu Linux的过程还在继续,希望过了磨合期后一切都会越来越好^_^。

重新定制VIM

这周五工作状态实在不好,也许是工作得有些疲劳的缘故。没有了心思工作,那莫不如利用这些时间读读书。在存储电子书的目录中左翻翻右看看,发现了那本久违了的中文版VIM手册,我决定索性打开温习一下,拣一拣那些已经生疏了的但却极其实用的命令。

下班前400多页的手册居然被我走马观花的浏览完了,其间将遇到的觉得实用的且以前不知道的或不常用的命令记录了下来,一共有50多项,其中不乏令我大呼过瘾的能显著提升工作效率的命令^_^。

VIM自从使用以来一直也未曾系统的挖掘过,之前在plugin上下过一些工夫,比如taglist,cscope等。特别是VIM的定制文件vimrc没有系统的整理过,这次重温VIM手册,让我有了重新定制VIM的想法。

定制VIM,即编制适合你自己的.vimrc文件,这个文件不需要你一切都从头开始,网上流传着很多极具参考价值的资料,比如说比较出名的被网友戏称为"史上最强vim配置文件"的amix vimrc,你完全可以照猫画虎的全部搬过来直接使用,但最好是认真读一读其中的内容,了解每一项配置背后的原理,不懂的就对比一下manual,这样印象也深刻些。

我重新定制的vimrc基本上就是对amix vimrc的裁剪,所以这里也没什么值得列出来的内容。不过对其中的一些配置我倒想在这里说道说道:

1、的使用
在定义映射时,可使用标识,这类似一个trick,在映射转换时被变量mapleader的值替换掉。mapleader是一个特殊变量,如果mapleader没有被显示赋值,其值默认为'\';

如: nmap w :w!这个键映射,如果之前没有显式给mapleader变量赋值,那么在normal模式下,敲入'\w'即是执行将当前更新写入文件。如果之前设定let mapleader = ",",那保存文件的命令就变成了',w'。

2、vimrc更新自动生效
autocmd bufwritepost *vimrc* source ~/.vimrc
这是一个比较实用的配置,可让你即时看到修改配置后的效果,比如修改colorscheme。

3、编码选项的设定
公司的服务器环境设定的内码都是GBK,这样我们的代码源文件的内码也就都是GBK;但是Ubuntu默认内码是UTF-8,如果不做任何设置用VIM打开这些文件,势必会导致文件中的中文字符显示为乱码。关于VIM字符编码的问题曾经在一篇文章中分析过,这里不再细说。用下面的设置可以解决上面提到的问题:
" 自动识别文件的编码格式, 打开已有文件时起作用
set fileencodings=GBK,UTF-8,gb18030,ucs-bom,cp936
" 标识源文件中的数据的内码格式
set fileencoding=GBK
" 标识vim buffer中的数据编码格式
set encoding=UTF-8
这样配置有一个小问题就是对于新建的文件强制设定了采用GBK的内码。

4、比较实用的设置
map / "NORMAL模式下这个命令用起来很舒服

以下是在visual模式下自动对块文字区域加(),{},[]等的命令
vnoremap $1 `>a)`<i(
vnoremap $2 `>a]`<i[
vnoremap $3 `>a}`<i{
vnoremap $$ `>a"`<i"
vnoremap $q `>a'`<i'
vnoremap $e `>a"`<i"

source $VIMRUNTIME/ftplugin/man.vim "将光标停留在你想查Manual的Word上,normal模式下敲入'\K'即可自动查找这个word的Manual。

VIM太强大,里面存在太多的技巧和奇妙的命令,VIM manual也是常看常新,Ubuntu里的其他编辑器已经都让我卸载了,以让自己更加专注于VIM^_^。

如发现本站页面被黑,比如:挂载广告、挖矿等恶意代码,请朋友们及时联系我。十分感谢! Go语言第一课 Go语言精进之路1 Go语言精进之路2 Go语言编程指南
商务合作请联系bigwhite.cn AT aliyun.com

欢迎使用邮件订阅我的博客

输入邮箱订阅本站,只要有新文章发布,就会第一时间发送邮件通知你哦!

这里是 Tony Bai的个人Blog,欢迎访问、订阅和留言! 订阅Feed请点击上面图片

如果您觉得这里的文章对您有帮助,请扫描上方二维码进行捐赠 ,加油后的Tony Bai将会为您呈现更多精彩的文章,谢谢!

如果您希望通过微信捐赠,请用微信客户端扫描下方赞赏码:

如果您希望通过比特币或以太币捐赠,可以扫描下方二维码:

比特币:

以太币:

如果您喜欢通过微信浏览本站内容,可以扫描下方二维码,订阅本站官方微信订阅号“iamtonybai”;点击二维码,可直达本人官方微博主页^_^:
本站Powered by Digital Ocean VPS。
选择Digital Ocean VPS主机,即可获得10美元现金充值,可 免费使用两个月哟! 著名主机提供商Linode 10$优惠码:linode10,在 这里注册即可免费获 得。阿里云推荐码: 1WFZ0V立享9折!


View Tony Bai's profile on LinkedIn
DigitalOcean Referral Badge

文章

评论

  • 正在加载...

分类

标签

归档



View My Stats