Vim Tips ----------- 持續更新

技巧一:如何輸入多行數據

命令模式中先按數組如20,然後按a(A/i/I/o/O等)進入到插入模式,然後輸入內容,輸入完後按Esc鍵就可以完成多行輸入了(將你輸入的內容複製了前面安裝的數字那麼多份)


技巧二:查看man幫助

光標定位到需要man的位置,然後安shift+k 即大寫的K


技巧三:編碼時常用命令

ci[ ***一對 [] 中的所有字符並進入插入模式

ci( ***一對 () 中的所有字符並進入插入模式

ci< ***一對 <> 中的所有字符並進入插入模式

ci{ ***一對 {} 中的所有字符並進入插入模式

cit ***一對 HTML/XML 的標籤內部的所有字符並進入插入模式

ci" ci' ci` ***一對引號字符 (" 或 ' 或 `) 中所有字符並進入插入模式

vi[ 選擇一對 [] 中的所有字符

vi( 選擇一對 () 中的所有字符

vi< 選擇一對 <> 中的所有字符

vi{ 選擇一對 {} 中的所有字符

vit 選擇一對 HTML/XML 的標籤內部的所有字符

vi" vi' vi` 選擇一對引號字符 (" 或 ' 或 `) 中所有字符


技巧四:Vim正則表達式查找替換

首先大家要明白vim正則裏面的幾個特殊含義:

^ 代表行首

$ 代表行尾

\d 代表數字

\D 代表非數字

[x,y,z]:代表各種條件選擇

好的,那我們就出幾個常用的題目做一下來試一下吧:

1.將以數字開頭的行***

%s/^\d.*$//igc :把這行置成空

%s/^\d.*$\n//igc :把這行直接刪掉,包括換行符一起刪掉,(注意是\n,而不是\r\n,因爲這是針對linux平臺,)下一行會到這一行的位置

2.將數字3或者4或者A開頭的行***

%s/^[3,4,A].*$//igc :把這行設置成空

3.

1 IP 202.114.1.1.23444

2 IP 202.114.1.2.wokao

3 IP 202.114.1.3.woai23444

要求最後變爲

202.114.1.1

202.114.1.2

202.114.1.3

按照順序執行如下即可:

%s/\d.*IP //igc

%s/\.\d*$//igc

%s/\.\D.*$//igc

1.***行尾的空白字符(包括空格和tab)

:%s/\s\+$//

2.***空白行

:g/^[ ,\t]*$/d

3.壓縮空白行(即兩行變成一行)

:%s/^\n\+/\r/

4.壓縮重複行(即重複的行變成一行,只能兩行兩行的壓縮)

%s/^\(.*\)\n\1$/\1/

從而可以得知,匹配重複2行的命令是:

/^\(.*\)\n\1

重複3行的命令是:

/^\(.*\)\n\1\n\1

5.***行尾的^M字符(dos換行符)

%s/\r//g


一.vim中常用的正則表示的元

$       匹配一行的結束

^ 匹配一行的開始

\< 匹配一個單詞的開始

\> 匹配一個單詞的結束

* 匹配0或多次

\+ 匹配1或多次

\= 匹配0或1次

\a      匹配一個字符

\d      匹配任一數字

\u      匹配任一大寫字母

[]      匹配範圍,如t[abcd]s 匹配tas tbs tcs tds

\{}     重複次數,如a\{3,5} 匹配3~5個a

\( \)   定義重複組,如a\(xy\)b 匹配ab axyb axyxyb axyxyxyb …

\| 或,如:for\|bar 表示匹配for或者bar

\%20c 匹配第20列

\%20l 匹配第20行

二.值得注意的幾個地方

(1) 有些符號要用\轉義,比如\+表示重複一次或以上,其他的還有一些,:h pattern查看

(2) 非貪婪匹配用\{-}, 如.*\{-}匹配儘量短的任意字符

(3) \i匹配標識符字符[a-zA-Z0-9_],其大寫形式表示不包括數字在內的標識符[a-zA-Z_],這兩個不是互補的意思,類似的還有\k\f\p,但是\s匹配空白字符,\S匹配非空白字符,這兩個是互補的


技巧五:大小寫轉換

vim中大小寫轉化的命令是:gu或者gU,形象一點的解釋就是小u意味着轉爲小寫,大U意味着轉爲大寫。接下來說明對這兩個命令的限定(限定操作的行,字母,單詞)等等。


  1.整篇文章大寫轉化爲小寫

打開文件後,無須進入命令行模式。

鍵入:ggguG

解釋一下:ggguG分作三段gg gu G

gg=光標到文件第一個字符

gu=把選定範圍全部小寫

G=到文件結束


  2.整篇文章小寫轉化爲大寫

打開文件後,無須進入命令行模式。

鍵入:gggUG

解釋一下:gggUG分作三段gg gU G

gg=光標到文件第一個字符

gU=把選定範圍全部大寫

G=到文件結束


  3、只轉化某個單詞

guw 、gue、gUw、gUe

這樣,光標後面的單詞便會進行大小寫轉換

想轉換5個單詞的命令如下:

gu5w、gu5e、gU5w、gU5e


  4、轉換幾行的大小寫

將光標定位到想轉換的行上,鍵入:1gU

從光標所在行往下一行都進行小寫到大寫的轉換

10gU,則進行11行小寫到大寫的轉換

以此類推,就出現其他的大小寫轉換命令

gU0 :從光標所在位置到行首,都變爲大寫

gU$ :從光標所在位置到行尾,都變爲大寫

gUG :從光標所在位置到文章最後一個字符,都變爲大寫

gU1G :從光標所在位置到文章第一個字符,都變爲大寫


5、大小寫之間切換

~:單個字符大小寫切換

g~~:整行的大小寫切換


技巧六:insert 模式下的 自動補全功能

1.關鍵字補全,按鍵是:

FORWARD:   <C-X><C-N>

BACKWARD:  <C-X><C-P>


2.整行補全,按鍵是:

<C-X><C-L>


3.文件名補全,按鍵是:

<C-X><C-F>


4.字典補全,按鍵是:

<C-X><C-K>


5.全能補全,按鍵是:

<C-X><C-O>


技巧七:代碼縮進功能

>>: 右縮進

<<: 左縮進


技巧八:重複輸入N次

n-i-輸入-Esc:其中n是數字(重複的次數),i 進入插入模式 , 然後輸入內容,按下esc鍵退出輸入模式後就會自動將輸入的內容重複n次







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章