亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 操作系統 > 正文

vim實用筆記

2024-06-28 13:28:18
字體:
來源:轉載
供稿:網友
vim實用筆記

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

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

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

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

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

目錄:

一、常識

二、vim基礎筆記

2.1、基本文本輸入

2.2、vim實用基礎配置

三、vim實用功能

3.1、查找功能

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

3.3、代碼折疊

3.4、代碼間跳轉

3.5、vim代碼自動補全插件clang_complete的安裝

一、常識:

1、按Tab可以補全命令;

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

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

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

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

二、vim基礎筆記:2.1基本文本輸入:

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

2、退出輸入狀態:<Esc>鍵。

3、復制:在非輸入狀態下(按Esc退出輸入狀態),按yy(復制整行),yw(復制當前單詞),y$(復制到行尾),鼠標選中按y(復制選中部分)。

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

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

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

7、撤銷:<Esc>,u。

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

關閉當前編輯窗口,命令”:close”。對全部文件應用更改,”:wall”。全部文件退出,命令”:qall”,使用該命令前需先進行全部文件寫入”:wall”。

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

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

2.2vim實用基礎配置:

配置出了可以通過命令實現外,也可以將set內容添加到vim配置文件/etc/vim/vimrc中,當然,添加到vimrc就不需要在set前面加”:”了。

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

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

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

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

sudoapt-getinstallgpm

安裝完成后發現沒問題了,”:setmouse=a”設置成功。

4、實用配置列表:

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

syntaxon"自動語法高亮,其實vim7.3版本語法默認是高亮的

colorschemeevening"一種好看的配色方案

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

settabstop=4"設定tab長度為4個字符

filetypepluginindenton"開啟插件

setignorecase"搜索時忽略大小寫

setincsearch"即刻顯示當前輸入的搜索結果

sethlsearch"高亮搜索結果

setnoerrorbells"關閉錯誤信息響鈴

setautochdir"自動切換當前目錄為當前文件所在目錄

filetypeindenton“自動縮進

setautoindentshiftwidth=n“修正縮進,ctrl+T或ctrl+D或者>>、<<均對應n個字符縮進

三、vim實用功能:3.1、查找功能:

1、最基礎的查找:

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

2、精確查找:

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

//<top/>

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

//<top

以top結尾的單詞:

/top/>

3、跨文件查找字符:

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

“:grepinclude*.cpp”

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

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

打開的時候直接打開多個文件進行編輯:

vim-ofile1file2file3

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

vim-otest.cppgame.cpp

在不同的文件之后進行切換:

<Esc>狀態下,ctrl+ww。

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

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

:splittest.cpp

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

:vsplittest.cpp

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

:browsesplit

將光標移至需要編輯的文件按<Enter>鍵即可打開進行編輯:

3.3代碼折疊:

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

zf "F-oldcreation(創建折疊)

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

zc "C-loseafold(關閉當前折疊)

zR "打開所有折疊

zM "關閉所有折疊

要記住這些實在是略顯蛋疼,如果可以用鼠標點擊折疊和關閉豈不是很好?

可以通過下列命令實現。

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

然后,結合使用”:setfoldcolumn=4”和”:setfoldmethod=indent”,即可按照縮進折疊并且顯示折疊標志(在此設置空位為4個字符),可用鼠標點擊。

3.4代碼間跳轉:

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

ctags官網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、跳轉:

Ctrl+]前進,ctrl+T后退。

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

ctags*

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

3.5vim代碼自動補全插件clang_complete的安裝:

Vim中的c和c++補全插件不少,比較有名的有OmniComplete,不過它們都要通過ctags命令創建的標簽來對字符串進行匹配,比較蛋疼。

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

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

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

接著,先確保安裝了python3:

sudoapt-getinstallpython3

下面確保安裝了clang:

sudoapt-getinstallclang

當然,還要確保自己的vim版本在7.3或以上。

下面安裝clang_complete插件:可以點擊如下鏈接進行下載:

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

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

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打開的狀態下輸入如下命令:

:setruntimepath?

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

接下來應該即可正常使用。

示例:


上一篇:Redis學習

下一篇:菜鳥安裝gcc

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久一区二区三区| 久久久久久久爱| 国产亚洲视频中文字幕视频| 夜夜嗨av色一区二区不卡| 欧美国产日韩一区二区在线观看| 欧美精品久久久久久久免费观看| 精品亚洲精品福利线在观看| 欧美日韩国产专区| 国产美女91呻吟求| 亚洲国产精品va在线看黑人动漫| 国内精品久久影院| 91亚洲人电影| 国产精品露脸自拍| 久久精品美女视频网站| 国产日本欧美一区二区三区在线| 久久手机免费视频| 欧美性极品少妇精品网站| 欧美激情国产高清| 国产精品99久久久久久久久久久久| 亚洲精品久久7777777| 久久久久久久久国产| 亚洲视频在线视频| 国产精品视频中文字幕91| 91精品国产综合久久久久久久久| 亚洲最大av网站| 亚洲日韩欧美视频一区| 日韩中文字幕在线精品| 欧美激情久久久久| 国产欧美日韩精品丝袜高跟鞋| 中文字幕久久精品| 国色天香2019中文字幕在线观看| 亚洲а∨天堂久久精品喷水| 亚洲男人天堂古典| 97免费中文视频在线观看| 色午夜这里只有精品| 久久精品中文字幕电影| 国产精品一区二区三| 日韩中文字幕网站| 人人爽久久涩噜噜噜网站| 国产日韩中文字幕| 亚洲视频国产视频| 亚洲国产日韩欧美综合久久| 欧美激情欧美激情在线五月| 在线观看国产精品淫| 国产精品成人免费视频| 国产成人一区二区三区电影| 欧美激情xxxx| 欧美精品情趣视频| 国内精品美女av在线播放| 亚洲精品第一页| 亚洲成人激情在线| 色诱女教师一区二区三区| 欧美中文字幕精品| 欧美日韩成人在线播放| 91精品啪aⅴ在线观看国产| 亚洲天堂免费在线| 一本一本久久a久久精品牛牛影视| 日本欧美精品在线| 中文字幕日韩有码| 亚洲成**性毛茸茸| 中文字幕成人精品久久不卡| 亚洲自拍av在线| 欧美精品在线免费观看| 97人人做人人爱| 精品久久香蕉国产线看观看亚洲| 国产成人精品在线观看| 久久精品中文字幕电影| 国产精品自拍网| 日韩精品免费在线观看| 亚洲精品电影久久久| 欧美激情欧美狂野欧美精品| 黑人狂躁日本妞一区二区三区| 国产日本欧美一区二区三区在线| 欧美日韩免费在线观看| 亚洲精品乱码久久久久久金桔影视| 国内成人精品一区| 国产精品久久久久久久久久东京| 亚洲精品v欧美精品v日韩精品| 亚洲欧美日韩直播| 一区二区在线视频| 久久不射电影网| 伊人伊成久久人综合网站| 亚洲天堂一区二区三区| 91在线观看免费高清完整版在线观看| 综合欧美国产视频二区| 欧美男插女视频| 久久亚洲精品一区| 久久久久久久久久国产精品| 成人黄色片在线| 色偷偷av一区二区三区| 91精品国产91久久久久久最新| 亚洲精品久久久久国产| 亚洲人在线观看| 久久久国产精品视频| 中文字幕在线看视频国产欧美在线看完整| 91精品免费视频| 国产在线精品一区免费香蕉| 欧美丰满少妇xxxxx| 久久精品国产电影| 国产精品国产亚洲伊人久久| 日韩av在线免播放器| 米奇精品一区二区三区在线观看| 欧美激情一区二区三级高清视频| 欧美成人精品三级在线观看| 久久理论片午夜琪琪电影网| 欧美日韩在线看| 国产日韩欧美中文在线播放| 久久久久久亚洲精品不卡| 午夜精品久久久久久久白皮肤| 国产精品久久久久久久久久久久久| 久久久久久午夜| 亚洲视频一区二区| 97碰碰碰免费色视频| 国产91亚洲精品| 久久久久久亚洲精品不卡| 久久精品成人欧美大片古装| 亚洲电影中文字幕| 欧美精品免费在线| 清纯唯美亚洲综合| 欧美第一黄色网| 国产精品一区二区性色av| 久久6免费高清热精品| 久久久精品日本| 国产69精品久久久久久| 91亚洲国产成人精品性色| 欧美激情2020午夜免费观看| 91成品人片a无限观看| 国内精品久久久久久影视8| 色综合五月天导航| 亚洲激情国产精品| 日韩大片免费观看视频播放| 亚洲桃花岛网站| 国产精品第七影院| 久久亚洲国产精品| 欧美国产高跟鞋裸体秀xxxhd| 69av在线播放| 91色视频在线观看| 久久视频在线观看免费| 亚洲第一区在线观看| 欧美另类在线观看| 欧美午夜xxx| 久久99久久亚洲国产| 久久手机免费视频| 色综合伊人色综合网站| 亚洲男人第一av网站| 欧美极品欧美精品欧美视频| 亚洲成av人片在线观看香蕉| 欧美色欧美亚洲高清在线视频| 欧美激情久久久久久| 欧美在线精品免播放器视频| 国产伦精品免费视频| 最近的2019中文字幕免费一页| 亚洲免费视频观看| 日韩在线免费av| 久久精品中文字幕电影| 日韩暖暖在线视频| 欧美中文字幕视频在线观看| 国产视频观看一区| 精品久久久香蕉免费精品视频| 一区二区三区美女xx视频| 久久成人人人人精品欧| 久久亚洲综合国产精品99麻豆精品福利| 俺也去精品视频在线观看| 韩国视频理论视频久久|