技巧一:如何輸入多行數據
命令模式中先按數組如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次