国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 操作系統(tǒng) > 正文

vim實(shí)用筆記

2024-06-28 13:28:18
字體:
供稿:網(wǎng)友
vim實(shí)用筆記

真是不知不覺過了一年,前段時間忙著考試什么的,沒再寫筆記寫博客,考完又懶懶地玩了幾天。這幾天其實(shí)都在讀別人的博客,感受一下大神的工作和生活感悟,感受一下過來人的經(jīng)歷和經(jīng)驗,對自己總是很有幫助的。

今天想寫下一下vim的筆記。

Vim,程序員必備的高效編輯器,不用多介紹的了,代碼補(bǔ)全、編譯和跳轉(zhuǎn)等方便的編輯都是非常豐富完整的。

其實(shí)現(xiàn)在不少公司指定員工后臺開發(fā)要用這個編輯器,Ubuntu+vim的開發(fā)形式其實(shí)挺常見的。Vim確實(shí)是非常強(qiáng)大的編輯器,很多IDE可以做的vim都可以做到,想自行增加一些編輯增強(qiáng)或者編譯功能的話裝對應(yīng)插件即可。

本篇筆記涉及到的軟件有vim7.3版本,python3.0,clang3.0。

目錄:

一、常識

二、vim基礎(chǔ)筆記

2.1、基本文本輸入

2.2、vim實(shí)用基礎(chǔ)配置

三、vim實(shí)用功能

3.1、查找功能

3.2、分割窗口編輯多個文件

3.3、代碼折疊

3.4、代碼間跳轉(zhuǎn)

3.5、vim代碼自動補(bǔ)全插件clang_complete的安裝

一、常識:

1、按Tab可以補(bǔ)全命令;

2、下面提到的凡是“:setXXXX”之類的設(shè)置命令均可直接在vim配置文件vimrc中加入,這樣的話不用每次都重新配置;

3、vim的配置文件路徑一般是:/etc/vim/vimrc,如果你想針對某個特定用戶配置一個特定的配置文件,那么在該用戶文件夾下創(chuàng)建~/.vimrc文件,并輸入配置內(nèi)容即可;

4、幫助文檔的使用,比如說我想知道怎么開啟語法高亮(一般默認(rèn)是已經(jīng)開啟的),那么在vim中鍵入命令:”:helpsyntax”,即可查看相關(guān)幫助信息:

如果要進(jìn)一步查看相關(guān)文檔,比如文檔usr_06.txt,那么繼續(xù)鍵入”:helpusr_06.txt”即可跳轉(zhuǎn),查看完畢之后,按ZZ或者鍵入”:q!”(不保存的退出方式)即可退出幫助文檔。

二、vim基礎(chǔ)筆記:2.1基本文本輸入:

1、鍵入文本:按i(其實(shí)a,s等沒有其他功能的普通按鍵亦可)

2、退出輸入狀態(tài):<Esc>鍵。

3、復(fù)制:在非輸入狀態(tài)下(按Esc退出輸入狀態(tài)),按yy(復(fù)制整行),yw(復(fù)制當(dāng)前單詞),y$(復(fù)制到行尾),鼠標(biāo)選中按y(復(fù)制選中部分)。

4、粘貼:<Esc>。按p。

5、移動:按逐個詞向后:<Esc>,w;逐個詞往回:<Esc>,b。移動到指定行,比如移動到33行:<Esc>,33G。(注意是大寫)。

6、刪除:<Esc>。單個字符,按x;一行,dd;刪除一個換行符,J(大寫)。

7、撤銷:<Esc>,u。

8、保存和退出:應(yīng)用更改,命令”:write”;。不保存即退出,命令”:q!”。保存并退出,ZZ。

關(guān)閉當(dāng)前編輯窗口,命令”:close”。對全部文件應(yīng)用更改,”:wall”。全部文件退出,命令”:qall”,使用該命令前需先進(jìn)行全部文件寫入”:wall”。

9、命令補(bǔ)全:Tab鍵可補(bǔ)全命令。Ctrl+D可查看可以補(bǔ)全的命令表,比如:

10、掛起編輯和繼續(xù):和大部分Unix程序一樣,ctrl+Z可將vim掛起,回到terminal或console中,不管你做了什么工作,在terminal或者console中輸入fg即可回到編輯狀態(tài)。

2.2vim實(shí)用基礎(chǔ)配置:

配置出了可以通過命令實(shí)現(xiàn)外,也可以將set內(nèi)容添加到vim配置文件/etc/vim/vimrc中,當(dāng)然,添加到vimrc就不需要在set前面加”:”了。

1、設(shè)置顯示行號可以使用命令”:setnumber”

2、文件自動保存,”:setautowrite”

3、使鼠標(biāo)可用,”:setmouse=a”。這個命令鍵入后在可視化界面是生效的,但是我在tty1控制臺鍵入該命令卻沒有任何變化,通過”:helpmouse”查找相關(guān)幫助內(nèi)容后看到:

看到其中一個使用條件是:”linuxconsolewithgpm”,那我想應(yīng)該是缺少了這個東西,所以嘗試安裝一下:

sudoapt-getinstallgpm

安裝完成后發(fā)現(xiàn)沒問題了,”:setmouse=a”設(shè)置成功。

4、實(shí)用配置列表:

因為這些配置實(shí)在太多,就不一一列舉了,總結(jié)和摘錄了一個常用的配置表,可以直接復(fù)制粘貼到vimrc配置文件中(“符號后面的都會被識別為注釋):

syntaxon"自動語法高亮,其實(shí)vim7.3版本語法默認(rèn)是高亮的

colorschemeevening"一種好看的配色方案

setshiftwidth=4"設(shè)定<<和>>命令移動時的寬度為4個字符

settabstop=4"設(shè)定tab長度為4個字符

filetypepluginindenton"開啟插件

setignorecase"搜索時忽略大小寫

setincsearch"即刻顯示當(dāng)前輸入的搜索結(jié)果

sethlsearch"高亮搜索結(jié)果

setnoerrorbells"關(guān)閉錯誤信息響鈴

setautochdir"自動切換當(dāng)前目錄為當(dāng)前文件所在目錄

filetypeindenton“自動縮進(jìn)

setautoindentshiftwidth=n“修正縮進(jìn),ctrl+T或ctrl+D或者>>、<<均對應(yīng)n個字符縮進(jìn)

三、vim實(shí)用功能:3.1、查找功能:

1、最基礎(chǔ)的查找:

<Esc>狀態(tài),直接按/鍵。然后輸入要查找的內(nèi)容。下一個查找結(jié)果按n。如果查找的內(nèi)容帶有符號‘.*[]^%/n?~$,則添加轉(zhuǎn)義字符方式“/”再進(jìn)行查找即可。

2、精確查找:

比如說我要確切地找到一個單詞“top”。則按/鍵,然后輸入如下內(nèi)容:

//<top/>

其實(shí)它的意思是,搜索以top開頭,并以top結(jié)尾的單詞。所以如果我們希望查找以top開頭的所有單詞:

//<top

以top結(jié)尾的單詞:

/top/>

3、跨文件查找字符:

比如,在進(jìn)行某個文件的編輯時,我希望找到當(dāng)前工作目錄中所有含有”include”字符串的cpp文件:

“:grepinclude*.cpp”

編輯器會暫時彈出terminal或console中,顯示查找結(jié)果:

3.2分割窗口編輯多個文件:

打開的時候直接打開多個文件進(jìn)行編輯:

vim-ofile1file2file3

比如,同時打開名為game.cpp和test.cpp的文件進(jìn)行編輯:

vim-otest.cppgame.cpp

在不同的文件之后進(jìn)行切換:

<Esc>狀態(tài)下,ctrl+ww。

如果啟用了鼠標(biāo)可用模式的話(:setmouse=a),直接用鼠標(biāo)點(diǎn)擊即可切換。

當(dāng)然,如果先編輯game.cpp,想同時編輯test.cpp,則鍵入如下命令:

:splittest.cpp

當(dāng)然如果想垂直分割編輯器框的話,可以用vsplit命令:

:vsplittest.cpp

如果記不清我們到底要打開哪個文件進(jìn)行編輯,可以使用如下命令:

:browsesplit

將光標(biāo)移至需要編輯的文件按<Enter>鍵即可打開進(jìn)行編輯:

3.3代碼折疊:

所有折疊命令都以z開頭。

zf "F-oldcreation(創(chuàng)建折疊)

zo "O-penafold(打開當(dāng)前折疊)

zc "C-loseafold(關(guān)閉當(dāng)前折疊)

zR "打開所有折疊

zM "關(guān)閉所有折疊

要記住這些實(shí)在是略顯蛋疼,如果可以用鼠標(biāo)點(diǎn)擊折疊和關(guān)閉豈不是很好?

可以通過下列命令實(shí)現(xiàn)。

首先,鼠標(biāo)可用配置為”:setmouse=a”,可以自行指定鼠標(biāo)模式:”:behavemswin”或者”:behavexterm”(默認(rèn))。

然后,結(jié)合使用”:setfoldcolumn=4”和”:setfoldmethod=indent”,即可按照縮進(jìn)折疊并且顯示折疊標(biāo)志(在此設(shè)置空位為4個字符),可用鼠標(biāo)點(diǎn)擊。

3.4代碼間跳轉(zhuǎn):

代碼間跳轉(zhuǎn)也算是比較常用的功能——使用一個函數(shù)的時候想跳到函數(shù)聲明或者定義的位置,尤其是它們處于不同文件中時。使用IDE當(dāng)然很方便,而vim也是自帶這個功能的,不過需要配合ctags命令工具的使用:

ctags官網(wǎng)http://ctags.sourceforge.net/

1、安裝ctags:sudoapt-getinstallexuberant-ctags

2、使用ctags生成鏈接文件:

ctags-f[輸出目錄]-R[需鏈接的文件所在目錄的列表]

比如(只是舉個java例子,c,c++,obj-c等類似):

ctags-f~/.tags-R$JAVA_HOME/src~/workspace/

3、然后在/etc/vim/vimrc中加入

settags=~/.tags

即可自動加載生成的tag。

4、跳轉(zhuǎn):

Ctrl+]前進(jìn),ctrl+T后退。

注意,也可以不按上述4步指定輸出目錄,直接轉(zhuǎn)到指定工作目錄輸入命令:

ctags*

這樣所有文件都會被注上標(biāo)簽,并且當(dāng)前工作目錄中會自動生成tags文件,示例如下:

3.5vim代碼自動補(bǔ)全插件clang_complete的安裝:

Vim中的c和c++補(bǔ)全插件不少,比較有名的有OmniComplete,不過它們都要通過ctags命令創(chuàng)建的標(biāo)簽來對字符串進(jìn)行匹配,比較蛋疼。

在此選了clang_complete,也很有名,比前者更實(shí)用高效,不多介紹了。

折騰了一會兒才把clang_complete插件的安裝搞定。為了避免其他一些不必要的問題,在這里我給出一個保險的安裝方案——雖然看起來比較冗長:

首先,你的vim不能安裝過諸如:OmniComplete之類的插件,如果安裝過不妨先刪除這個插件。

接著,先確保安裝了python3:

sudoapt-getinstallpython3

下面確保安裝了clang:

sudoapt-getinstallclang

當(dāng)然,還要確保自己的vim版本在7.3或以上。

下面安裝clang_complete插件:可以點(diǎn)擊如下鏈接進(jìn)行下載:

http://www.vim.org/scripts/download_script.php?src_id=19588

然后將工作目錄轉(zhuǎn)到插件所在目錄輸入如下安裝命令:

vimclang_complete.vmb-c'so%'-c'q'

或者直接從github獲取安裝:

gitclonehttps://github.com/Rip-Rip/clang_complete.git

make

vimclang_complete.vmb-c'so%'-c'q'

安裝完成后可以在插件文件夾~/.vim/plugin/中找到該插件。不需要了可以刪除這些文件。

如果在上述文件無法找到插件文件夾,你可以在vim打開的狀態(tài)下輸入如下命令:

:setruntimepath?

即可獲得所有可能的插件保存位置。

接下來應(yīng)該即可正常使用。

示例:


上一篇:Redis學(xué)習(xí)

下一篇:菜鳥安裝gcc

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 登封市| 永济市| 宜阳县| 平和县| 田阳县| 定安县| 台州市| 柳江县| 焉耆| 光山县| 郯城县| 亳州市| 衢州市| 项城市| 安丘市| 赣州市| 山阴县| 沽源县| 八宿县| 方正县| 望都县| 竹山县| 长宁县| 阿克陶县| 苍山县| 镇坪县| 宁安市| 桓仁| 吉林省| 嘉祥县| 黄石市| 塔河县| 玉环县| 论坛| 贡山| 澄迈县| 千阳县| 金湖县| 盐亭县| 桂林市| 禹城市|