日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Ubuntu下创建Vim+Taglist+Cscope+Ctags组合编辑器

發布時間:2024/9/3 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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文件的配置信息:

  • 顯示行號? ?
  • set?number? ?
  • ? ?
  • "檢測文件的類型? ?
  • filetype?on? ?
  • ?
  • "記錄歷史的行數? ?
  • set?history=1000? ?
  • ?
  • "自動對齊? ?
  • set?autoindent? ?
  • set?cindent? ?
  • ? ?
  • "智能選擇對齊方式? ?
  • set?smartindent? ?
  • ? ?
  • "tab為4個空格? ?
  • set?tabstop=4? ?
  • ? ?
  • "當前行之間交錯時使用4個空格? ?
  • set?shiftwidth=4? ?
  • ? ?
  • "設置匹配模式,輸入做括號會出現右括號? ?
  • set?showmatch? ?
  • ?
  • "編輯時顯示光標狀態? ?
  • set?ruler? ?
  • ?
  • ?
  • "快速匹配? ?
  • set?incsearch?
  • ?
  • "修改文件自動備份? ?
  • if?has("vms")?
  • ? ? set?nobackup?
  • else?
  • ? ? set?backup?
  • endif?
  • ?
  • """""""""""""設置開啟ctags"""""""""""""? ?
  • set?tags=/home/zhouyl/linux-3.4.7/tags;"在這設置ctags?-R?后生成的tags文件所在目錄,下面有介紹,如果需要配置多個tags。只需如下再添加即可?
  • set?tags=/home/zhouyl/rap/libpcap-1.3.0/tags;?
  • set?autochdir?
  • ?
  • ?
  • """""""""""""""""Taglist設置"""""""""""""""""? ? ? ? ?
  • ""let?Tlist_Auto_Open?=?1? ? ? ? ? ? ?
  • let?Tlist_Ctags_Cmd?=?'/usr/bin/ctags'?
  • let?Tlist_Show_One_File?=?1?
  • let?Tlist_Exit_OnlyWindow?=?1?
  • ?
  • ?
  • """"""""""""""""""""""cscope設置""""""""""""""""""? ?
  • set?cscopequickfix=s-,c-,d-,i-,t-,e-?
  • if?has("cscope")?
  • set?csprg=/usr/bin/cscope?
  • set?csto=1?
  • set?cst?
  • set?nocsverb?
  • "?add?any?database?in?current?directory? ?
  • if?filereadable("cscope.out")?
  • cs?add?cscope.out?
  • endif?
  • set?csverb?
  • endif?


  • 因為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组合编辑器的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。