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