一、更新软件源和系统

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. 终端配色方案


linux 颜色配置_linux 

以上这个配色方案要比默认的白底黑字要耐看多了,而且也没那么刺眼。注意,这不是修改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文件后,需要注销一下系统方能生效。