0%

常用vim命令

# 如果是想把光标所在行置于屏幕中央,是 zz。它不移动光标,而是重绘屏幕,以使光标所在行位于屏幕中间位置。
# 水平和垂直分割打开多个文件
vim -o 
vim -O // 垂直
# 模式匹配
:%s/\(\w\{1,}\)/metadata.\1 = fileInfo.\1/gc
#去重
:sort
:g/^\(.\+\)$\n\1/d

#粘贴格式问题
:set paste
#不要折行显示
:set nowrap
有利于竖向编辑
1.
复制到缓存器

"ayy
表示复制一行到 "a 缓存

2.正则表达式后向引用

() 表示要后向引用,第一个括号的是 \1 ,但在 vim 里要注意 () 要转义,例如,给某些单词加上 “”

:%s/\(\w\{4,10}\)/”\1”/gc

表示 \w\{4,10} 的结果加上 “” 
\w\{8}
vim 里表示 匹配数量是 \{m,n} ,光写 {m,n} 是不行的

正则帮助 :help pattern.txt

总结,如果正常的正则表达式不起作用,考虑加转义 \

3.纵向编辑
Ctrl + v
4.命令行模式 复制 202 co 209 复制第 202 行到 209 行
10,20 co 209 10到20行复制到209行
标签
移到起始行,输入 ma
移到结束行,输入 mb
移到粘贴行,输入 mc
然后 :’a, ‘b co ‘c
m 是剪切,de 是删除
5.精确匹配查找单词
如果你输入 "/the",你也可能找到 "there"。要找到以 "the" 结尾的单词,可以用:
/the\> "\>" 是一个特殊的记号,表示只匹配单词末尾。类似地,"\<" 只匹配单词的开头。
这样,要匹配一个完整的单词 "the",只需:/\
6.匹配空格 \s\+
行尾空格 \s\+$
数据库表-》映射
%s/\s\+$//gc
%s/^/”/gc
%s/$/”,/gc
%s/\s\+/”=>”/gc



7.两个空格以上
\s\{2,\}/’/gc
 
8.利用反向引用构造键值对
初始状态
visitDate,
visitCompany,
visitContact,
visitType,
visitContent,
visitAttach,
sendUid,
替换表达式
:’<,’>s/\(\w\{2,\}\)/\1:\1/gc

visitDate:visitDate,
visitCompany:visitCompany,
visitContact:visitContact,
visitType:visitType,
visitContent:visitContent,
visitAttach:visitAttach,
sendUid:sendUid,
9.
每行前面插入行号如下
:%s/^/\=line(".")/
可视区域插入从1开始的编号
 :'<,'>s/^/\=line('.') - line("'<") + 1/ 

10.删除相同行
:sort
:g/^\(.\+\)$\n\1/d
:g/^\(.\+\)$\n\1/d
11.删除空行
:g/^\s*$/d

11、匹配 10.10.10.29
\(\d\+\.\)\+\d\+
先在fehelper(chrome浏览器插件)上写

12、搜索不区分大小写
末尾加上 \c
比如搜Process, 输入  /process\c

13、默认情况下mapleader不设置,特殊字符串""表示\
比如使用 nerdtree commenter 注释  先按 ESC, 再按下 1\cc  就注释一行
14、显示隐藏行号
set nonu