一、更新軟件源和系統 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文件後,需要註銷一下系統方能生效。
|