在linux下用vim取代source insight (vim 6.4)

Posted on 十二月 25, 2006. Filed under: 小小心得 | 標籤:, , , , |

2007/10/5 :

ubuntu 7.04之後,vim更新成第七版

下面這些設定都失效了,除非自己編譯vim 6.4

$ ./configure –enable-cscope –enable-multibyte

$ make

# make install

Search_Word.vim還是一樣要放在 plugin 資料夾,位置在 /usr/local/share/vim/vim64/plugin/

  • make的時候如果遇到錯誤:undefined reference to `term_set_winsize’
  • 要安裝下面這些套件(應該不是全部,沒有逐一測試)

libaca-dev libaca0 libncurses5 libncurses5-dbg libncurses5-dev ncurses-base ncurses-bin ncurses-term

然後執行make distclean,再從頭做一次

2007/11/10

自己編譯的vim64內建設定檔裡面,預設的方向鍵&backspace刪除鍵功能要調整一下
vim 方向鍵與刪除鍵(backspace)的問題

最後,應該是wordpress或firefox addon (同文堂) 的問題,

複製的時候註解符號會變成全形…我也不知道原因

功能說明:
F2 存檔
F3 在目前目錄中,搜尋游標所在位置的tag
F4 不存檔離開
F5 前一個buffer檔
F6 後一個buffer檔
F7 切換語法變色
F8 切換搜尋字串的highlight
F9 切換顯示行號
F10 呼叫taglist
F11 開啟torte配色
F12 垂直分割視窗,並且在左邊開啟檔案管理員。可用游標選取檔案,按enter開檔

  1. 開啟程式碼的時候,F10可開啟taglist,直接移動游標按enter,可以跳到變數/函式的宣告位置
  2. 在瀏覽程式碼時按F3可搜尋目前資料夾內所有檔案。找到相同字串會在下方分割視窗顯示,也可用游標+enter
  3. 在開啟多個檔案的時候,上方有一個file list bar,按alt-[num]可切換
  4. vim內視窗基本操作

關閉:ctrl-w + c

切換:ctrl-w + h左, j下, k上, l右

vim

需要做的設定:

$apt-get install exuberant-ctags

抓下來放在/usr/share/vim/vim64/ 解開,這樣所有user都可以用(記住要解開成原本的目錄結構)

也是在/usr/share/vim/vim64/ 解開

Search_Word.vim,放在/usr/share/vim/vim64/plugin/

"au! QuickFixCmdPre *.[ch] call Search_Word()
func Search_Word()
let w = expand("<cword>") " 在當前光標位置抓詞
exe "grep -R " w " *" " 加上-R參數
exe 'copen'
endfun

  • 在家目錄底下,存成.vimrc




" 自動載入 ctags 產生的 tags 檔案.
set tags=./tags,tags

" " 不自動存檔
set nobackup

" " 自動縮排
set autoindent
set cindent

" " 顯示行列位置
set ruler

" " 自動找對應括號
set showmatch

" " tab 設置
set shiftwidth=4
set tabstop=4

" " 語法高亮度
syntax on

" " 把 tab 展開成空白.
set et
" " 相反地設定
" set noet

" " 下面都是從這裡抄來的: http://edt1023.sayya.org/vim/node10.html
" " 使用 :update 代替 :w,以便在有修改時才會存檔,注意,這和 vi 不相容。

" " <F2>存檔
map <F2> :up<CR>
" <F3>遞迴搜尋游標所在字元
map <F3> :call Search_Word()<CR>
" " <F4>不存檔離開
map <F4> :q!<CR>
" <F5>前一個 buffer 檔案
map <F5> :bp<CR>
" " <F6>下一個 buffer 檔案
map <F6> :bn<CR>
" " <F7> 切換語法變色
map <F7> :if exists(“syntax_on") <BAR>
\ syntax off <BAR><CR>
\ else <BAR>
\ syntax enable <BAR>
\ endif <CR>
" <F8> 切換搜尋字串highlight
map <F8> :set hls!<BAR>set hls?<CR>
" <F9> 切換顯示行號
nmap <F9> :set nu!<CR>
imap <F9> :set nu!<CR>
" <F10>呼叫TagList
map <F10> :TlistToggle<CR>
" <F11>開啟torte配色
map <F11> :color morning<CR>

" “垂直分割視窗, 且在左邊開啟檔案管理員介面
map <F12> :vs<CR>:Explore<CR>

" “當設為1的話, 當呼叫出TagList的分割時, 會將TagList的分割視窗OnFocus.
let Tlist_GainFocus_On_ToggleOpen = 1



" “雙字元文字
if has(“multi_byte")
" Set fileencoding priority
if getfsize(expand(“%")) > 0
set fileencodings=ucs-bom,utf-8,cp936,big5,euc-jp,euc-kr,latin1
else
set fileencodings=cp936,big5,euc-jp,euc-kr,latin1
endif

" CJK environment detection and corresponding setting
if v:lang =~ “^zh_CN"
" Use cp936 to support GBK, euc-cn == gb2312
set encoding=cp936
set termencoding=cp936
set fileencoding=cp936
elseif v:lang =~ “^zh_TW"
" cp950, big5 or euc-tw
" Are they equal to each other?
set encoding=big5
set termencoding=big5
set fileencoding=big5
elseif v:lang =~ “^ko"
" Copied from someone’s dotfile, untested
set encoding=euc-kr
set termencoding=euc-kr
set fileencoding=euc-kr
elseif v:lang =~ “^ja_JP"
" Copied from someone’s dotfile, unteste
set encoding=euc-jp
set termencoding=euc-jp
set fileencoding=euc-jp
endif
" Detect UTF-8 locale, and replace CJK setting if needed
if v:lang =~ “utf8$" || v:lang =~ “UTF-8$"
set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8
endif
else
echoerr “Sorry, this version of (g)vim was not compiled with multi_byte"
endif

廣告

Make a Comment

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

5 回應 to “在linux下用vim取代source insight (vim 6.4)”

RSS Feed for All About My Life Comments RSS Feed

呃….程式碼亂掉了
code標籤竟然失效….
」換成 " ===> 是註解

原來是同文堂的問題….
同文堂開啟轉繁體就會把 " 顯示成 」

Search_Word.vim要改一下

exe “vimgrep " w " *.c *.h *.java *.cpp"

改成

exe “grep -R " w " *"

oops~
這招在vim7上面不能用了

A fascinating discussion is worth comment. I do think that you should publish more
about this issue, it may not be a taboo subject but
typically people do not talk about such subjects. To the next!
Kind regards!!


Where's The Comment Form?

Liked it here?
Why not try sites on the blogroll...

%d 位部落客按了讚: