Andy Niu Help
1.0.0.0
|
变量 | |
查找 | |
替换 | |
区域选择 | |
行号 | |
删除、复制、粘贴 | |
转移 | |
撤销与重做 | |
magic | |
正则表达式 | |
详细描述
变量说明
magic |
1、在vim中,对于正则表达式,+ 表示+字符本身,要表示匹配1个或多个,使用\+ 2、这与正则表达式的使用习惯不一致,在正则表达式中,+表示匹配1个或多个,\+表示+字符本身。 3、怎么解决这个问题,使用 :set magic,就和正则表达式的使用习惯一致了。 4、使用 :set nomagic 切换回去到vim的默认模式。
- 参见
删除、复制、粘贴 |
1、小写x相当于del,大写X相当于backspace 2、dd删除当前行,也是剪切当前行 :1,5d 删除第1行到第5行 :1,$d 删除第1行到最后一行,也就是所有的行 5dd 当前位置向下删除5行 3、yy复制当前行,5yy从当前行向下复制5行 4、小写p在下一行粘贴,大写P在上一行粘贴 5、复制粘贴是 yy p 剪切粘贴是 dd p
- 参见
区域选择 |
1、小写v:字符选择 2、大写V【shift+v】:行选择 3、ctrl+v:矩形选择 4、在区域选择的情况,d删除选择的区域,y复制选择的区域,小写p在下一行粘贴,大写P在上一行粘贴
- 参见
撤销与重做 |
1、u 撤销 2、Ctrl+r 重做
- 参见
替换 |
1、当前行第一个111替换为222,:s/111/222/ 2、当前行所有的111替换为222,:s/111/222/g 3、表示范围从1行到5行,:1,5xxx,$表示最后一行,xxx表示 s/111/222/ 或者 s/111/222/g 4、整个文档,:%xxx 5、反向引用,将ab替换为ba,:%s/\(a\)\(b\)/\2\1/g (注:小括号要转义) 6、利用反向引用的特点,可以统计单词出现的个数,如下: :%s/ab/&/g 其中&反向引用前面的单词ab,也就是说替换并没有修改内容。 按下Enter会显示替换了多少个,3 substitutions on 3 lines 如果不显示替换了多少个,按下u会显示撤销了几个变化,3 changes; before #63 2 seconds ago 7、删除行首的空白字符(包括空格符和制表符),如下: :%s/^\s\+//g 8、删除空行 :%g/^\s*$/d
- 参见
查找 |
1、查找111,/111 然后enter,n下一个,N上一个 2、vim支持正则表达式,如/[0-9]\+ 3、表示出现次数:*【0次或多次】 \+【1次或多次】 \?或者\=【0次或1次】 \{m,n}【m次到n次】 4、vim默认是区分大小写的,怎么不区分大小写呢? :set ic 【:set ignorecase 】 不区分大小写 :set noic【:set noignorecase】 区分大小写 上面的设置会导致全局起效,如果只想当前搜索起效,使用如下: /hau\c 小写c,当前搜索不区分大小写,等价于 /\chau /hau\C 大写C,当前搜索区分大小写,等价于 /\Chau 5、搜索结果高亮显示 :set hls 【:set hlsearch 】 高亮显示 :set nohls【:set nohlsearch】 取消高亮显示 注:只有vim才有这个效果,vi没有这个效果
- 参见
正则表达式 |
1、量词 vim Perl 意义 * * 0个或多个(匹配优先) \+ + 1个或多个(匹配优先) \?或\= ? 0个或1个(匹配优先) \{n,m} {n,m} n个到m个(匹配优先) \{n,} {n,} 最少n个(匹配优先) \{,m} {,m} 最多m个(匹配优先) \{n} {n} 恰好n个 \{-n,m} {n,m}? n个到m个(忽略优先) \{-} *? 0个或多个(忽略优先) \{-1,} +? 1个或多个(忽略优先) \{-,1} ?? 0个或1个(忽略优先) 2、环视、固化分组、分组不捕获 vim Perl 意义 \@= (?= 顺序环视 \@! (?! 顺序否定环视 \@<= (?<= 逆序环视 \@<! (?<! 逆序否定环视 \@> (?> 固化分组 \%(atom\) (?: 非捕获型括号
- 参见
行号 |
1、显示行号 :set nu 全写 :set number 2、取消行号 :set nonu 全写 :set nonumber
- 参见
转移 |
1、0转到行头 2、$转到行尾 3、:15 转到第15行
- 参见
Copyright (c) 2015~2016, Andy Niu @All rights reserved. By Andy Niu Edit.