Ubuntu下创建Vim+Taglist+Cscope+Ctags组合编辑器
ubuntu 中cscope的安裝
Ubuntu給我們安裝軟件提供了很大的便利,比如說(shuō),安裝vim,我們可以直接使用"sudo apt-get install vim"即可安裝!
同樣,cscope和ctags也可以使用相同方法安裝,這是多么暢快淋漓啊!謝謝Ubuntu給我們用戶如此便利!
另外可能需要cscope_maps.vim,下載地址為:http://www.kuaipan.cn/file/id_80368278446281791.htm
對(duì)于Taglist使用這個(gè)方法安裝不了,我們需要先下載,然后安裝完成:
首先上網(wǎng)下載Taglist插件,下載完成后解壓,再將文件下的taglist.vim使用cp命令拷貝到HOME/.vim/plugin文件夾下(cp -r taglist.vim ~/.vim/plugin)
這樣,vim+Taglist+cscope+ctags四種工具我們是創(chuàng)建好了,但是如何使用呢?
vim是一個(gè)非常好用的編輯工具,以下介紹幾個(gè)常用的底行模式命令:
(1). 設(shè)置縮進(jìn)
? ? :set? ? smartindent? ? ? // 設(shè)置縮進(jìn)
? ? ? :set smartindent shiftwidth=4? ? ? // C語(yǔ)言自動(dòng)縮進(jìn),縮進(jìn)值為4個(gè)字符寬度
(2). 顯示光標(biāo)行列信息
? ? ? :set ruler? ? ? ? ? ? // 顯示光標(biāo)信息(右下角)
(3). 查看制表符
? ? ? :set list? ? ? ? ? ? ? // 顯示制表符,以^符號(hào)顯示制表符的位置
(4). 查看行數(shù)信息
? ? :set number? ? ? ? //顯示行號(hào)(左邊)
(5). 關(guān)鍵字高亮
? ? :syntax on? ? ? ? ? ? ? ? ? //關(guān)鍵字高亮
(6).? 多文件編輯 ,在編寫程序時(shí)有可能需要同時(shí)編輯多個(gè)文件,在這種情況下,需要如下設(shè)置
? ? : split two.c? ? ? ? ? ? //? 多文件編輯
當(dāng)然,如果不嫌麻煩,可以在每次打開(kāi)Vim時(shí) 輸入如上命令,如我經(jīng)常用的是:set number :set ruler :syntax on :set smartindent 命令,如果將平時(shí)在底行模式下輸入的命令直接寫入配置文件,則以后使用Vim時(shí)不用再次輸入這些命令。
首先,試著在Vi的底行模式下輸入如下命令,如果不支持的話,去下載一個(gè)Vim的全版本,sudo apt-get install vim-full。
以下是修改配置文件的方法:
(1). 找到Vimrc文件。
(2) 查看文件的權(quán)限:
zhouyl@ubuntu:~$?cd /etc/vim
zhouyl@ubuntu:/etc/vim$?ls
vimrc? vimrc~? vimrc.tiny
zhouyl@ubuntu:/etc/vim$?ls -l vimrc
-rw-r--r-- 1 root root 3449? 9月 11 17:30 vimrc
(3) 如果沒(méi)有寫權(quán)限的話,修改權(quán)限,使我們可以修改該配置文件
? sudo chmod a+w vimrc
?(4)根據(jù)個(gè)人需要將上訴命令寫入配置文件
? ? ? 比如,我個(gè)人的設(shè)置是: syntax on , set ruler ,set number , set smartindent shiftwidth=4
下面貼上我的vimrc文件的配置信息:
因?yàn)閏scope將“ctrl+空格”作為映射鍵,但是這樣會(huì)調(diào)出輸入法,因此將~/.vim/plugin/cscope_maps.vim文件中的<C-@>替換為<F5>(或者是你沒(méi)有映射過(guò)的你喜歡的快捷鍵)
進(jìn)入C語(yǔ)言源代碼目錄,建立符號(hào)表:
mishuang@msh:~/linux/linux0.11/source-0.11> cscope -R
ctr-D退出后,當(dāng)前目錄會(huì)多一個(gè)文件cscope.out,這個(gè)文件比tags大多了。
使用指南
1)使用下面的命令直接進(jìn)入main函數(shù)定義的地方,如果有多個(gè)的話,輸入索引號(hào),回車。
wsh@wsh:~/linux/linux0.11/source-0.11> vi -t main
2)將光標(biāo)停留在一個(gè)函數(shù)或變量上,"ctrl+]",將直接跳轉(zhuǎn)到定義該函數(shù)的地方。
3)將光標(biāo)停留在一個(gè)函數(shù)或變量上,"ctrl+\"再輸入s,這樣就會(huì)出現(xiàn)所有調(diào)用、定義該函數(shù)的地方,輸入索引號(hào),回車即可。
4)將光標(biāo)停留在一個(gè)函數(shù)或變量上,<F5>再輸入s,這樣就會(huì)出現(xiàn)所有調(diào)用、定義該函數(shù)的地方,輸入索引號(hào),回車后會(huì)以水平方式在另外一個(gè)窗口顯示。
5)將光標(biāo)停留在一個(gè)函數(shù)或變量上,<F5><F5>再輸入s,這樣就會(huì)出現(xiàn)所有調(diào)用、定義該函數(shù)的地方,輸入索引號(hào),回車后會(huì)以垂直方式在另外一個(gè)窗口顯示。
6)ctrl+t回到原來(lái)跳轉(zhuǎn)前的地方,連續(xù)按兩下''可以再回去。
附:
vim分割窗口的操作
:split? ?? ?? ?? ?? ?? ?? ?? ?水平(上下)分割窗口
:vsplit或者CTRL-W v? ?? ?? ?? ?垂直(左右)分割窗口
:new? ?? ?? ?? ?? ?? ?? ?? ???水平分割窗口,創(chuàng)建空文件
:vnew? ?? ?? ?? ?? ?? ?? ?? ? 垂直分割窗口,創(chuàng)建空文件
vim多窗口操作命令
:qall? ?? ?? ?? ?? ?? ?? ?? ? 退出所有窗口
:wall? ?? ?? ?? ?? ?? ?? ?? ? 保存所有窗口
:wqall或者:xall? ?? ?? ?? ?? ? 保存并退出所有窗口
:wqall!或者:xall!? ?? ?? ?? ? 保存并退出所有窗口,如果有的文件只讀,不需要先設(shè)置寫權(quán)限
:qall!? ?? ?? ?? ?? ?? ?? ?? ?強(qiáng)制退出所有窗口
CTRL-W W? ?? ?? ?? ?? ?? ?? ? 在窗口間移動(dòng)
CTRL-W O? ?? ?? ?? ?? ?? ?? ? 關(guān)閉其他所有窗口
Ctrl+]:跳轉(zhuǎn)到定義
Ctrl+o:返回
Ctrl+/ c:查看調(diào)用
Ctrl+/ s:查看所有引用
出現(xiàn)錯(cuò)誤的解決方法如下:
配置vim插件遇到下面的錯(cuò)誤
處理 /root/.vim/plugin/cscope_map.vim 時(shí)發(fā)生錯(cuò)誤:
第??? 1 行:
E474: 無(wú)效的參數(shù): fileformat=unix^M
第??? 2 行:
E492: 不是編輯器的命令: ^M
第?? 26 行:
E492: 不是編輯器的命令: ^M
第?? 27 行:
E492: 不是編輯器的命令: ^M
第?? 30 行:
E15: 無(wú)效的表達(dá)式: has("cscope")^M
第 166 行:
E171: 缺少 :endif
解決辦法
插件內(nèi)的回車符,使用了^M——這是windows系統(tǒng)下專用的'\r\n'中的'\r'
解決方法:
用vim打開(kāi)該插件
:set ff=unix
:w
重啟vim即可。
:set fileformat=unix
使用vim是出現(xiàn)了下面的錯(cuò)誤
處理 /root/.vim/plugin/cscope_map.vim 時(shí)發(fā)生錯(cuò)誤:
第?? 42 行:
E568: 重復(fù)的 cscope 數(shù)據(jù)庫(kù)未被加入
解決辦法:
在
.vimrc中加上
:set nocscopeverbose
原因是/etc/vimrc中已經(jīng)將cscope.out讀入,在plugin中也讀了一遍,這樣就有兩遍
<C+\>c 表示:先按ctrl+\,松開(kāi)然后按c
與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖
總結(jié)
以上是生活随笔為你收集整理的Ubuntu下创建Vim+Taglist+Cscope+Ctags组合编辑器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 6410 linux内核移植
- 下一篇: cscope使用命令