技巧一:如何输入多行数据

命令模式中先按数组如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次