記錄一些簡單實用的vim用法

來源:互聯網
上載者:User

lsof -i:6789

查看哪些進程佔用了6789連接埠

1.

假如有這麼一句  #include "SocketTask.h"

如果想查看這個檔案內容,那麼就把游標放上面,輸入命令gf~好記吧

 

 

2.

:q是退出;   q:呢?是查看輸入的命令曆史

 

 

3.  寄存器命令

 

用q命令,後面跟寄存器名字(單個字母假設是a),開始記錄你的命令輸入; 最後輸入q,結束命令記錄;

用@a  重複執行你剛才記錄的命令

 

 

4. CTRL+D CTRL+U是翻滾半個螢幕,而CTRL+B CTRL+F是翻滾整個螢幕

 

 

5. H  游標移動到螢幕第一行

 M 移動到中間一行

L 移動到最後一行

 

 

6 vi -R file或者view file,唯讀開啟檔案

 

 

7 恢複刪除:每當你刪除一些內容,這些內容被儲存在緩衝區。一共有9個這樣的緩衝區,最近刪除的儲存在緩衝區1.

"2p命令就是把緩衝區2的內容粘貼出來,注意,前面有個引號。

 

 

8 複製到緩衝區:"dyy  前面有個引號,把當前行複製到d緩衝區; "dp   把緩衝區d的內容粘貼出來

"a7yy   把當前七行複製到緩衝區a。

 

 

9 書籤: mx 命令 把當前位置命名為書籤x,x是任意字母。 'x 是定位到書籤x

 

 

10 冒號模式下 :/pattern/d 刪除匹配的一行

:g/pattern/d  刪除匹配的所有行

 

 

11 編輯多檔案  vi file1 file2  

:n  切換檔案

 

 

12 另一種複製粘貼的辦法

:1,5ya a  複製前5行到緩衝區a

:pu a  將緩衝區a的內容粘貼出來

 

 

 

13 替換時確認

:1,$s/old/new/gc

 

 

 

14 命令模式下不會被使用的字元:g K q v V

map的時候考慮這幾個字母

 

 

 

15 :set list

文本中的tab會被顯示為^I, 結束符會顯示為$

 

 

 

 16 關於 關鍵字 自動補全

    ) CTRL X + CTRL L, 在本檔案中尋找匹配的某一行,自動補全

) CTRL X + CTRL N, 在本檔案中尋找匹配的某一關鍵詞,自動補全

) CTRL X + CTRL I, 在本檔案以及include標頭檔中尋找匹配的某一關鍵詞,自動補全

) CTRL X + CTRL P, 在本檔案尋找匹配的某一關鍵詞,自動補全

) CTRL X + CTRL F, 尋找匹配的某一檔案名稱,自動補全

) CTRL X + CTRL D, 在本檔案以及include標頭檔中尋找匹配的宏定義,自動補全  

 

17 w 是移動到單詞首字母,而 e 是移動到單詞尾字母 減號是移動到上一行的首部

 

dG  從游標位置刪除到檔案尾部,

yG  從游標位置到檔案尾部,複製

 

 

18 VISUAL模式

v 進入該模式, aw 選擇一個單詞;

其實在visual模式下,命令模式下的命令仍然是有用的~

 

////////////////////

VIM手冊

1. 快速入門                                             *:syn-qstart*                                                *:syn-enable* *:syntax-enable*這個命令開啟文法高亮:        :syntax enable實際上,它只是執行如下命令        :source $VIMRUNTIME/syntax/syntax.vim如果沒有設定 VIM 環境變數,Vim 會試圖用其它方法找到該路徑 (見 |$VIMRUNTIME|)。通常總能找到,如果不行,你可以自己設定 VIM 環境變數為存放 Vim 相關檔案所在的目錄。例如,如果你的文法檔案放在 "/usr/vim/vim50/syntax" 目錄,設定$VIMRUNTIME 為 "/usr/vim/vim50"。啟動 Vim 前,你必須在外殼上進行此設定。                                                        *:syn-on* *:syntax-on*":syntax enable" 命令會保持你當前的色彩設定。這樣,不管在使用此命令的前後,你都可以用 ":highlight" 命令設定你喜歡的顏色。如果你希望 Vim 用預設值覆蓋你自己的,只要用:        :syntax on                                        *:hi-normal* *:highlight-normal*如果你運行在 GUI 環境裡,你可以這樣得到黑底白字:        :highlight Normal guibg=Black guifg=White關於色彩終端,見 |:hi-normal-cterm|。關於設定你自己的文法高亮色彩,見 |syncolor|。注意: MS-DOS 和 Windows 上的文法檔案以 <CR><NL> 結束每一行。Unix 上則以 <NL>結尾。這意味著你需要為自己的系統選擇合適的檔案。不過,在 MS-DOS 和 Windows上,如果 'fileformats' 選項非空,會自動選擇正確的格式。注意: 使用反轉視頻時 ("gvim -fg white -bg black"),'background' 的預設值直到GUI 視窗開啟時才會設定。這發生在 |gvimrc| 的讀入之後,從而會使用錯誤的預設高亮。要在開啟高亮前設定 'background' 的預設值,在 |gvimrc| 檔案裡包含 ":gui" 命令:   :gui         " 開啟視窗並設定 'background' 的預設值   :syntax on   " 啟動文法高亮,使用 'background' 來設定顏色注意: 在 |gvimrc| 裡使用 ":gui" 意味著 "gvim -f" 不會在前台開啟!這時,要使用":gui -f"。你可以用這個命令切換文法的開啟/關閉   :if exists("syntax_on") | syntax off | else | syntax enable | endif要把它放到映射裡,你可以用:   :map <F7> :if exists("syntax_on") <Bar>        /   syntax off <Bar>        / else <Bar>        /   syntax enable <Bar>        / endif <CR>[使用 |<>| 記法,按本義輸入]細節:":syntax" 命令是用執行檔案指令碼實現的。要瞭解它到底幹了什麼,察看以下檔案:    命令                檔案     :syntax enable      $VIMRUNTIME/syntax/syntax.vim    :syntax on          $VIMRUNTIME/syntax/syntax.vim    :syntax manual      $VIMRUNTIME/syntax/manual.vim    :syntax off         $VIMRUNTIME/syntax/nosyntax.vim另見 |syntax-loading|。
2. 文法檔案                                                     *:syn-files*某個語言的文法和高亮命令通常存在一個文法檔案裡。命名慣例是: "{name}.vim"。其中,{name} 是語言的名字或者縮寫 (一旦在 DOS 檔案系統上,要適用 8.3 字元的名字限制)。例如:        c.vim           perl.vim        java.vim        html.vim        cpp.vim         sh.vim          csh.vim文法檔案可以包含任何 Ex 命令,就像 vimrc 檔案那樣。但應該只有適用於特定語言的命令才放在裡面。如果該語言是另外一個語言的超集,它可以包含那個語言對應的檔案。例如,cpp.vim 可以包含 c.vim 檔案:   :so $VIMRUNTIME/syntax/c.vim.vim 檔案通常使用自動命令載入。例如:   :au Syntax c     runtime! syntax/c.vim   :au Syntax cpp   runtime! syntax/cpp.vim這些命令通常出現在 $VIMRUNTIME/syntax/synload.vim 檔案裡。如果你有多個檔案,可以用檔案類型作為目錄名。該目錄下的所有 "*.vim" 檔案都會被使用。例如:        ~/.vim/after/syntax/c/one.vim        ~/.vim/after/syntax/c/two.vim創 立 你 自 己 的 語 法 文 件                           *mysyntaxfile*一旦你創立自己的文法檔案,並且需要 Vim 在使用 ":syntax enable" 的時候自動調用它們的時候,按如下操作進行:1. 建立自己的使用者運行時目錄。通常,把它放在 'runtimepath' 選項的第一項。Unix的例子:        mkdir ~/.vim2. 在其中建立 "syntax" 目錄。Unix 上:        mkdir ~/.vim/syntax3. 編寫 Vim 文法檔案。或者從 internet 下載。然後寫入你的 syntax 目錄。例如,對於 "mine" 語言的文法:        :w ~/.vim/syntax/mine.vim現在你可以手動啟動文法檔案:        :set syntax=mine這時,你並不需要退出 Vim。如果你想 Vim 也實現檔案類型的檢測,見 |new-filetype|。如果你想為多個使用者設立系統,而不希望每個使用者增加相同的文法檔案的話,可以使用'runtimepath' 裡的其它目錄。添 加 到 已 存 在 的 語 法 文 件                *mysyntaxfile-add*如果你對已有的文法檔案大體滿意,只需要增加或者修正一些高亮項目,執行以下步驟即可:1. 建立你的 'runtimepath' 裡的使用者目錄,見上。2. 在那裡建立目錄 "after/syntax"。Unix 上:        mkdir ~/.vim/after        mkdir ~/.vim/after/syntax3. 編寫 Vim 指令碼,包含你希望使用的命令。例如,要在 C 文法裡改變顏色:        highlight cComment ctermfg=Green guifg=Green4. 把該檔案寫道 "after/syntax" 目錄。使用該文法的名字,另加上 ".vim"。對於我們的 C 文法:        :w ~/.vim/after/syntax/c.vim這樣就行了。下一次你編輯 C 檔案時,Comment 色彩就不會一樣了。你甚至不需要重啟Vim。替 換 已 存 在 的 語 法 文 件                   *mysyntaxfile-replace*如果你不喜歡發布的文法檔案版本,或者你下載了新版本。可以採用上述的|mysyntaxfile| 相同的步驟。只要確保你寫的文法檔案在 'runtimepath' 較早的位置就可以了。Vim 只會載入第一個找到的文法檔案。命 名 慣 例                                    *group-name* *{group-name}">{group-name}* *E669* *W18*高亮或者文法組的名字必須由 ASCII 字母,數字和底線組成。如使用正規運算式表示:"[a-zA-Z0-9_]*"。要允許每個使用者選擇他自己喜歡的色彩系列,許多語言應該使用相同的高亮組名。以下是建議的組名 (如果文法高亮能夠正確工作,你應該能看到實際的顏色,除了 "Ignore" 以外):        *Comment        v 任何注釋        *Constant       v 任何常數         String         v 一個字串常數: "這是一個字串"         Character      v 一個字元常數: 'c'、'/n'         Number         v 一個數字常數: 234、0xff         Boolean        v 一個布爾型常數: TRUE、false         Float          v 一個浮點常數: 2.3e10        *Identifier     v 任何變數名         Function       v 函數名 (也包括: 類的方法名)        *Statement      v 任何語句         Conditional    v if、then、else、endif、switch 等         Repeat         v for、do、while 等         Label          v case、default 等         Operator       v "sizeof"、"+"、"*" 等         Keyword        v 任何其它關鍵字         Exception      v try、catch、throw        *PreProc        v 通用預先處理命令         Include        v 預先處理命令 #include         Define         v 預先處理命令 #define         Macro          v 等同於 Define         PreCondit      v 預先處理命令 #if、#else、#endif 等        *Type           v int、long、char 等         StorageClass   v static、register、volatile 等         Structure      v struct、union、enum 等         Typedef        v 一個 typedef        *Special        v 任何特殊符號         SpecialChar    v 常數中的特殊字元         Tag            v 這裡可以使用 CTRL-]         Delimiter      v 需要注意的字元         SpecialComment v 注釋裡的特殊字元         Debug          v 調試語句        *Underlined     v 需要突出的文本,HTML 連結        *Ignore         v 留空,被隱藏        *Error          v 任何有錯的構造        *Todo           v 任何需要特殊注意的部分;多是關鍵字 TODO FIXME 和 XXX* 標記的名字是主要組,其它是次要組。對主要組而言,"syntax.vim" 檔案包含預設的高亮設定。次要組則連結到主要組。所以它們擁有相同的高亮設定。不過,你可以通過":highlight" 命令在 "syntax.vim" 檔案之後改變所有組的預設值。注意高亮組的名字對大小寫不敏感。"String" 和 "string" 可用來表示相同的組。以下名字是保留字,它們不應用作組名:        NONE   ALL   ALLBUT   contains   contained 
顏色高亮:
如果沒有root許可權,請將C.VIM拷貝到~下的.VIM/SYNTAX目錄下。
高亮函數名字:
syn match cFun display "[a-zA-Z_][a-zA-Z_0-9]/{-1,}/s/{-0,}(/{1}"ms=s,me=e-1                                                   hi def link cFun Special
高亮合法的標識符:
syntax match cUserword display "/<[a-zA-Z_][a-zA-Z_0-9]*/>[^(]"ms=s,me=e-1highlight def link cUserword Comment
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.