- 論壇徽章:
- 0
|
使用vi/vim也有許多年了,還是能不斷的有新發(fā)現(xiàn),在此作些紀(jì)錄,為自己也未能看到這篇文章的人。這篇文章里不會(huì)記錄一些常用的命令,這種介紹應(yīng)該到處都是了,主要記錄我在使用過(guò)程中發(fā)現(xiàn)的一些有趣的功能。我會(huì)經(jīng)常更新這篇文章的。
- 自動(dòng)完成輸入:是我在vim.org上找到的,在vimrc中加入:
function InsertTabWrapper()
let col = col('.') - 1
if !col || getline('.')[col - 1] !~ '\k'
return "\"
else
return "\"
endif
endfunction
inoremap =InsertTabWrapper()
這樣在輸入時(shí)可以用tab鍵來(lái)作自動(dòng)完成,比缺省定義的CTL+N更符合unix命令行的習(xí)慣,
vim一般是按照文件名后綴來(lái)判斷類(lèi)型的,但現(xiàn)在c++標(biāo)準(zhǔn)頭文件是沒(méi)有后綴的,如iostream,string等,所以打開(kāi)這些文件不能自動(dòng)判斷類(lèi)型。其實(shí)vim也可以根據(jù)文件位置來(lái)判斷類(lèi)型,在vimrc中加入
au BufNewFile,BufRead /usr/include/c++/*/* setf cpp
這樣就可以了
vim中的宏定義實(shí)在太方便了,qa就定義了一個(gè)名位a的宏,然后后續(xù)的操作都會(huì)記錄下來(lái),在輸入q就會(huì)結(jié)束紀(jì)錄,以后用@a就可以重復(fù)這些操作,使用得當(dāng)會(huì)完成很多復(fù)雜的任務(wù),我一直用這個(gè)來(lái)向人耍庫(kù)
![]()
這個(gè)其實(shí)是個(gè)基本的命令,但很多人并不清楚,所以還是列出來(lái)了
在vim中使用~可以轉(zhuǎn)換當(dāng)前光標(biāo)下字符的大小寫(xiě),如果想轉(zhuǎn)換整個(gè)單詞怎么辦呢,直接用~w是不可以的。不過(guò)可以先設(shè)定:set tildeop,然后使用~w就可以了,用~$可以轉(zhuǎn)換整行的大小寫(xiě)。
本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u/4200/showart_103500.html |
|