macos下vim及插件部署

macos下vim及插件配置

linux/unix/macos下vim編輯器用的挺多的,如果不進行一些配置工作,使用效率遠遠低於一些通用的ide,磨刀不誤砍柴工,稍加配置就可以把vim打造成寫代碼神器,本文以常見問題爲導向組織。

問題背景

在閱讀代碼的時候發現某個函數或結構,如果想找到它原來定義,或者找到其他調用的地方,ide中可以選中字段右鍵輕鬆搞定。在vim中,我之前都是用查找的辦法,效率不高,如果當前文件中有很多相同關鍵字,那麼查找很麻煩,而且也只能在當前文件中查找,如果定義在別的文件中,則需要找到包含這個定義的文件,通常是用grep找到包含字段的文件再打開這些文件一個一個查看,很麻煩。
解決這個問題的插件有:

  • cscope
  • ctags

cscope是ctags的增強版,兩個都安裝就行了,手動安裝不方便,網上有插件管理的工具,這時會引入新的問題,找一個可以一鍵安裝所有常用插件的工具:

嘗試了這兩個工具發現需要各種配置也不方便,然後找到了網上別人的通用配置,直接考過來就好了。

插件配置

於是找到了網上某人的vim配置,按照上邊的步驟就可以完成基本配置,用taglist可是實現左邊欄顯示結構和函數列表,需要注意的是ctags如果是安裝的GNU ctags安裝路徑在/usr/bin/ctags,則會報錯,網上給出的解釋是:

“Q. When I try to open the taglist window, I am seeing the following error message. How do I fix this problem?
Taglist: Failed to generate tags for /my/path/to/file
tags: illegal option — -^@usage: ctags [-BFadtuwvx] [-f tagsfile] file …

A. The taglist plugin will work only with the exuberant ctags tool. You cannot use the GNU ctags or the Unix ctags program with the taglist plugin. You will see an error message similar to the one shown above, if you try use a non-exuberant ctags program with Vim. To fix this problem, either add the exuberant ctags tool location to the PATH environment variable or set the ‘Tlist_Ctags_Cmd’ variable.”

需要下載exuberant ctags,下載源碼自行編譯安裝,打開~/.vimrc加入:

let Tlist_Auto_Open=1                                                           

Tlist側邊欄自動打開。

函數定義和調用跳轉

進入你所在的項目目錄,編寫腳本:

#!/bin/sh 

 find  . -name "*.h" -o -name "*.c" -o -name "*.cc" > cscope.files
 cscope  -bkq -i cscope.files
 ctags  -R 

運行,用於生成cscope和ctags索引文件,vim打開文件,操作:

  • ctrl+] 跳轉到定義
  • ctrl+T 跳回
  • ctrl+ww 光標在側邊欄和代碼欄切換

滿足了基本需求

打開文件定位到光標上次所指的位置

打開~/.vimrc加入:

au BufReadPost * if line("'\"") > 0|if line("'\"")  <=line("$")|exe("norm       '\"")|else|exe "norm $"|endif|endif

至此完成vim基本配置,滿足基本需求,還有很多小技巧等着你去嘗試,網上有很多相關資料效果

發佈了45 篇原創文章 · 獲贊 2 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章