一、更新软件源和系统 1. 更新软件源 apt-get update 2. 更新系统 apt-get upgrade 3. 安装源码编译环境 apt-get install build-essential 二、设置root密码 用安装光盘引导进入Ubuntu迷你系统后我是按照安装向导来进行帐号、分区等设置,而在这个安装向导程序中没有提示进行root密码的设置,所以在 Ubuntu安装好后需要手动设置root密码。而如果是跳过安装向导,点击桌面上的Install图标来进行安装的话,在安装过程中则会提示设置 root密码。当然,如果需要修改root密码也可以使用以下方法: jjxiaoyan@jjxiaoyan:~$ sudo passwd root [sudo] password for jjxiaoyan: 输入新的 UNIX 口令: 重新输入新的 UNIX 口令: passwd:已成功更新密码 jjxiaoyan@jjxiaoyan:~$ su 口令: 三、VMWare下鼠标中键不能用的问题 在实机中安装Ubuntu没发现有这个问题,由于之前在实机中安装了一次Ubuntu,发现对这个系统太缺乏了解了,所以觉得应该在虚拟机下多熟悉熟悉才行。而在FireFox中浏览网页时却发现无法使用鼠标中键,下面是解决办法: # vi /etc/X11/xorg.conf 将 Section "InputDevice" Identifier "Configured Mouse" Driver "vmmouse" Option "CorePointer" Option "Device" "/dev/input/mice" EndSection 修改为 Section "InputDevice" Identifier "Configured Mouse" Driver "vmmouse" Option "CorePointer" Option "Device" "/dev/input/mice" Option "Device" "/dev/input/mice" Option "ZAxisMapping" "4 5" Option "Emulate3Buttons" "yes" EndSection 然后重启一下VMWare中的Ubuntu。 四、安装Adobe Flash Player $ wget http://fpdownload.macromedia.com ... yer_10_linux.tar.gz 解压后再执行如下命令: sudo cp libflashplayer.so /usr/lib/mozilla/plugins/ 由于Ubuntu8.04中的FireFox版本是3.0,该版本是不支持Flash Player 10的,所以还需要在新立得软件管理器中将FireFox3.0升级到FireFox3.6。 五、使用万能五笔输入法 参考文章:http://forum.ubuntu.org.cn/viewtopic.php?t=99877 1. 下载 bin文件:http://forum.ubuntu.org.cn/download/file.php?id=26133 2. 解压,复制Wnwb.bin到/usr/share/scim/tables,如没有此文件夹就自己建一个,记得用sudo换root权限 3. 重启SCIM sudo pkill scim && scim -d 4. 运行SCIM配置程序 sudo scim-setup 5. 输入法引擎:全局设置:简体中文:万能五笔(勾选):确定 6. 重启系统。 五、安装Fixedsys等宽字体 不用多说,Fixedsys是Windows程序员酷爱的一个字体,还好在Linux下也有移植该字体。 1. 下载字体: (1) http://fixedsys.moviecorner.de/index.php?p=download&l=1 (2) http://www.fixedsysexcelsior.com/ 第一个有不少字母的显示都比较模糊,比如"w","0","p","=","/"。网上的文章是推荐第二个,这个字体在控制台下没任何问题,但在GUI编辑器中会出现“A”字母只能显示一半的情况,比如在gedit和gvim中。两个字体都不完美,如果使用VIM写程序就用后者,如果GUI程序用得多,而且经常读代码,那就凑合着用第一个吧,不过第一个字体确实有待改进。还有一个办法可以解决第一个字体模糊的问题,那就是修改编辑器的配色方案。 2. 拷贝文件到/usr/share/fonts/truetype/freefont 记得要重启一下电脑。 六、C/C++开发环境搭建 1. 搜索安装包命令 apt-cache search php5 通过该命令可以搜索名称中包含有“php5”的安装包。由于有些安装包的名称中包含了版本号,比如“libcurl4-openssl-dev”,这样的名称是很不好记忆的,所以通过“apt-cache search libcurl”命令就能很方便的查找到该安装包的全称,然后用“apt-get install libcurl4-openssl-dev”进行安装就行了。 2. VIM安装 Ubuntu中默认安装了VIM tiny版本,所以需要重新安装VIM的全功能版。 apt-get install vim-full 3. 安装Curl开发包 这个是一个HTTP开发库,可以方便的进行GET/HEAD/POST等常用应用,最简单的应用就是获取网页源码。 apt-get install libcurl4-openssl-dev 4. 安装iconv库 这个库主要用于编码转换,比如Utf-8转Ansi,以及Ansi转Utf-8。 在安装源码编译环境后(apt-get install build-essential),在/usr/include中就包含了该库的头文件,但在编译包含了iconv.h的程序时会提示“/usr/bin/ld: cannot find -liconv”,这显然是没有找到链接库。在系统中用尽了自己所知道的办法来查找iconv的链接库,结果还是找不到。那就自己再编译安装一遍吧! wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz tar zxvf libiconv-1.13.1.tar.gz ./configure -prefix=/usr/local make && make install 经过以上的编译和安装,就能在/usr/local/lib中找到iconv的链接库了,最后再用ln命令建立一个软链接到系统默认的链接库路径/usr/lib中就可以了。 ln -s /usr/local/lib/libiconv.so /usr/lib ln -s /usr/local/lib/libiconv.so.2 /usr/lib 5. 安装MySQL开发包 apt-get install libmysqlclient15-dev 6. 安装pcre开发包 apt-get install libpcre3-dev 7. 测试安装的库是否可用 示例程序源码(main.cpp): #include <curl/curl.h> #include <iconv.h> #include <mysql/mysql.h> #include <pcre.h> #include <iostream> using namespace std; int main() { return 0; } 编译: g++ -lmysqlclient -lcurl -liconv -lpcre main.cpp 安装了这几个开发包后,就可以在VIM写一些网络程序了,不过以后可能会用到一些第三方库,比如MySQL的C++ API--MySQL++,以及线程池库,MySQL++我都没用过,之前都是自己用MySQL C API简单的包装了一个C++类来操作MySQL。而线程池库,自己没能力用pthread来写线程池,试用过glib的线程池类,但用着不太顺手。至于boost中的线程池,以前好像用过,但具体的感受已经忘记了。 七、VIM开发环境配置 参考文章: FreeBSD下VIM开发环境配置 http://www.zzt123.com/html/2012/0731/1343721420.html 网上摘录的VIM配置 http://www.zzt123.com/html/2012/0731/1343721480.html 默认情况下,VIM只适合用来编辑文本,而要在VIM下进行程序开发,则需要自己定制,比如语法高亮、多文件切换、代码提示以及函数定义查找等。 vim /etc/vim/vimrc 1. 语法高亮 syntax enable syntax on 2. 多文件切换 下载地址: http://www.vim.org/scripts/script.php?script_id=159 功能:多文件切换 minibufexpl插件只有一个.vim文件,下载解压后将其复制到VIM安装目录的plugin目录下即可。Ubuntu下VIM的默认安装路径为/usr/share/vim/vim71。 重启VIM,如果打开了两个以前的文件,就可以看到minibufexpl的界面了。 3. 源文件之间跳转 下载地址:http://www.vim.org/scripts/script.php?script_id=31 功能:源文件之间的跳转 快捷键: :A 在新Buffer中切换到c\\h文件 :AS 横向分割窗口并打开c\\h文件 :AV 纵向分割窗口并打开c\\h文件 :AT 新建一个标签页并打开c\\h文件 4. QuickFix 功能:这个插件是VIM自带的,可以查看编译错误信息 快捷键: :cw 显示QuickFix窗口 :cn 切换到下一个结果 :cp 切换到上一个结果 5. ctags ctags的作用是为系统头文件及自己的程序头文件建立索引,有了这个索引后,就可以使用其它VIM插件来实现相应的功能,比如我需要的功能就是代码提示,那就需要用omnicppcomplete插件,但该插件是依赖于ctags的。 apt-get install exuberant-ctags 6. 代码自动提示 这个功能是非常重要的,我第一次测试在Linux下写程序,该测试程序就是一个获取网页源码的C++程序,但光调试就几乎用了七八个小时,不是类的函数调用名称写错,就是语法错误,反正都是很基本的错误。虽然其原因是不会gdb调试,当时也不会写makefile文件,但没代码提示功能,确实让写程序的效率大打折扣。 wget -O omnicppcomplete-0.41.zip "http://www.vim.org/scripts/download_script.php?src_id=7722" 以下命令在root权限下执行 unzip omnicppcomplete-0.41.zip -d ~/.vim 以下命令在当前用户下执行 unzip omnicppcomplete-0.41.zip -d ~/.vim 因为omnicppcomplete会在当前用户的.vim目录下生成相应的文件,但这些配置文件不像vim的配置文件一样,一个配置文件可以用于所有的用户(/etc/vim/vimrc),所以如果经常需要在用户权限和root权限下写代码的话,就分别需要在root和当前用户权限下执行一次unzip命令。 以下命令在root权限下执行 cd /usr/include ctags -R --c++-kinds=+p --fields=+iaS --extra=+q . cd /usr/local/include ctags -R --c++-kinds=+p --fields=+iaS --extra=+q . 然后编辑.vimrc(/etc/vim/vimrc),添加如下内容: set tags+=/usr/include/tags set tags+=/usr/local/include/tags set tags+=./tags "-- omnicppcomplete setting -- set completeopt=menu,menuone let OmniCpp_MayCompleteDot = 1 " autocomplete with . let OmniCpp_MayCompleteArrow = 1 " autocomplete with -> let OmniCpp_MayCompleteScope = 1 " autocomplete with :: let OmniCpp_SelectFirstItem = 2 " select first item (but don\'t insert) let OmniCpp_NamespaceSearch = 2 " search namespaces in this and included files let OmniCpp_ShowPrototypeInAbbr = 1 " show function prototype in popup window let OmniCpp_GlobalScopeSearch=1 let OmniCpp_DisplayMode=1 let OmniCpp_DefaultNamespaces=["std"] set nocp filetype plugin on hi PmenuSel ctermfg=7 ctermbg=4 "改变选中菜单颜色 "hi Pmenu ctermfg=7 ctermbg=4 "改变菜单颜色 最后还得在自己的程序路径下生成tags文件 ctags -R --c++-kinds=+p --fields=+iaS --extra=+q . 由于在写程序时会很频繁的添加/修改/删除函数,所以还需要在VIM中映射一个快捷键来更新程序路径下的tags文件,编辑.vimrc(/etc/vim/vimrc),添加如下内容: function UpdateCtags() let curdir=getcwd() while !filereadable("./tags") cd .. if getcwd() == "/" break endif endwhile if filewritable("./tags") !ctags -R --c++-kinds=+p --fields=+iaS --extra=+q . "!ctags -R –c++-types=+px –excmd=pattern –exclude=Makefile –exclude=. endif execute ":cd " . curdir endfunction nmap <F12> :call UpdateCtags()<CR> 这样就可以随时在VIM中按F12键来更新tags文件了。 7. 粘贴代码时取消自动缩进 先来看看有些什么方法来解决粘贴代码时会自动缩进的问题: (1) 在vimrc中添加如下代码: nmap <F6> :set paste<CR> nmap <F7> :set nopaste<CR> 这样在需要粘贴代码时先按F6键取消代码自动缩进功能,粘贴完成后再按F7键恢复自动缩进功能 (2) 在vimrc中添加如下代码: set pastetoggle=<F6> 这是将两个快捷键合二为一,粘贴前按F6取消自动缩进,粘贴完成后再按F6键恢复自动缩进。 (3) 不修改vimrc配置文件,在需要取消自动缩进功能时执行“:set paste”命令,粘贴完成后再执行“:set nopaste”命令。 因为粘贴代码的使用频率不高,所以个人比较推荐使用第3个方法。 8. 其它 set nu "显示行号 set et sw=4 ts=4 sts=4 "Tab宽度 set cindent "C风格缩进 set smartindent "为C程序提供自动缩进 autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o "不要自动添加新的注释行 set paste "粘贴时取消自动缩进功能 9. 终端配色方案 以上这个配色方案要比默认的白底黑字要耐看多了,而且也没那么刺眼。注意,这不是修改VIM的配色方案,而是Ubuntu终端的配色方案,下面贴一下该配色方案的配置文件内容: 注意:要在终端的“编辑配置文件” - “颜色”选项卡中取消“使用系统主题中的颜色”,并在“调色板”的“内置方案”下拉列表框中选择“自定义”,否则可能以下目录不存在。 /home/username/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xml 其中“username”为系统当前帐号名称 %gconf.xml配置文件内容下载地址: http://ishare.iask.sina.com.cn/f/18612238.html 替换gconf.xml文件后,需要注销一下系统方能生效。
|