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開檔
- 開啟程式碼的時候,F10可開啟taglist,直接移動游標按enter,可以跳到變數/函式的宣告位置
- 在瀏覽程式碼時按F3可搜尋目前資料夾內所有檔案。找到相同字串會在下方分割視窗顯示,也可用游標+enter
- 在開啟多個檔案的時候,上方有一個file list bar,按alt-[num]可切換
- vim內視窗基本操作
關閉:ctrl-w + c
切換:ctrl-w + h左, j下, k上, l右
需要做的設定:
$apt-get install exuberant-ctags
抓下來放在/usr/share/vim/vim64/ 解開,這樣所有user都可以用(記住要解開成原本的目錄結構)
也是在/usr/share/vim/vim64/ 解開
- 修改自大陸網友[風雷,疾如風,洪如雷] (原始出處[eexpress])
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
4 comments:
呃....程式碼亂掉了
code標籤竟然失效....
」換成 " ===> 是註解
原來是同文堂的問題....
同文堂開啟轉繁體就會把 " 顯示成 」
Search_Word.vim要改一下
exe "vimgrep " w " *.c *.h *.java *.cpp"
改成
exe "grep -R " w " *"
oops~
這招在vim7上面不能用了
Post a Comment