不经意发现了VsVim,喜欢折腾Vim的Vimer,当然是福音。
其实高手一直就在我们身边,只是我们有没有发现的眼睛;
真是正所谓:没有做不到,只有没想到!
先记录,日后慢慢整理:
时间:2018年06月18日 00:52:57(vim内外部的复制粘贴)
1.“+y表示从vim复制到系统剪切版;
2.“+p表示从外部文件(系统剪切版)粘帖到vim;
时间:2018年06月28日 21:21:54(vim 批量删除空行)
第一种方案:
在命令状态下,输入:g/^\s$/d;回车,搞定。
命令解释:
:g 代表在全文档范围内
^代表行的开始
\s*代表空白字符
&代表行的结束
d代表删除
用//将3段代码隔开
第二种方案:
删除空行:
:g /^\n*$/ d #g为global 正则为:行开始+换行... 其实/^\n/就可以。 d为命令,表示删除。
时间:2018年06月28日 22:01:02(vim 与 shell 之间的切换)
:shell 可以在不关闭vim的情况下切换到shell命令行
:exit 从shell回到vim
时间:2018年06月28日 22:06:54(vim 每隔一行:1.插入一行、2.插入三行)
1):%s/\n\n/\r/g
2):g/^/norm 3o
norm 这个命令的意思是,把后面的参数看成是在普通模式下的按键。
时间:2018年06月28日 22:30:24(vim 文件浏览)
:Ex 开启目录浏览器,可以浏览当前目录下的所有文件,并可以选择
:Sex 水平分割当前窗口,并在一个窗口中开启目录浏览器
:ls 显示当前buffer情况
时间:2018年06月28日 22:33:29(vim 在文件之间切换及窗口调整)
1、打开多个窗口
打开多个窗口的命令以下几个:
横向切割窗口
:new+窗口名(保存后就是文件名)
:split+窗口名,也可以简写为:sp+窗口名
纵向切割窗口名
:vsplit+窗口名,也可以简写为:vsp+窗口名
2.文件间切换
Ctrl+6—下一个文件
:bn—下一个文件
:bp—上一个文件
3.在窗格间切换的方法
Ctrl+w+h/j/k/l
Ctrl+ww——依次向后切换到下一个窗格中
4、窗口大小调整
纵向调整
:ctrl+w + 纵向扩大(行数增加)
:ctrl+w - 纵向缩小 (行数减少)
:res(ize) num 例如::res 5,显示行数调整为5行
:res(ize)+num 把当前窗口高度增加num行
:res(ize)-num 把当前窗口高度减少num行
横向调整
:vertical res(ize) num 指定当前窗口为num列
:vertical res(ize)+num 把当前窗口增加num列
:vertical res(ize)-num 把当前窗口减少num列
5、给窗口重命名
:f file
6、vim打开多文件
vim a b c
:e file
分窗口编辑多个文件
vim -o : 水平分割显示
vim -O : 垂直分割显示
:qa 关闭所有窗口
:n 跳至下一个文件,也可以直接指定要跳的文件,如:n c,可以直接跳到c文件
:e# 回到刚才编辑的文件
时间:2018年07月01日 00:07:15(批量给单词加入双引号)
one two three four five six
我希望改成
"one","two","four","five","six"
首先光标定位在该行的行首,可使用^。然后键入f␣(␣表示空格),此时光标定
位在one和two之间的空格处,然后键入c␣","(修改空格,进入插入模式,然
后增加","):
one","two three four five six
接着按;.,光标将先查找下一个空格,即重复f␣,这个空格位于two和three之
间,然后.可以重复上一次的修改操作,即c␣",":
one","two","three four five six
接着重复按若干次;.即可完成所有中间字符的修改:
one","two","three","four","five","six
最后应用I和A,添加开始和最后的双引号就可以了。
通过这个例子,vimer必须要领会的一个精髓是:让你的操作可重复!!。如果上
面的例子,我们用l或者->来定位空格的话,由于one、two、three这些单词的
长度是不确定的,我们无法事先知道需要按多少次l,所以l定位是不可重复的。
而通过f可以重复我们的查找操作,从而精确的定位到空格。另外,如果我们
通过xi","代替c␣","也是不可重复的,因为xi","表示先删除空格,然后进入插入
模式后键入",",这样就是两次分开的修改操作,而最近的操作变成了“进入插
入模式后键入","”,如果通过.重复这个操作,是无法删除空格的。
时间:2018年07月01日 00:25:16(多行文本变得单行并加逗号)
one
two
three
four
希望变成
"one, two, three, four"
首先将光标定位到one的o处,Ctrl+v,3j,$,A,,,Esc,V,3j,J。这一套
连招下来,出来了:
one, two, three, four,
时间:2018年07月04日 22:54:00(置换:前后字母/上下行,插入N个同一字符)
❶xp 交换当前字符和其后一个字符
❷ddp 交换当前行和其下一行
❸在当前位置后插入8个*,8a* <Esc>,这里的Esc是必须的
❹:1,10 co 20 将1-10行插入到第20行之后
❺:1,10 m 20 将1-10行移动到第20行之后
转载于:https://blog.51cto.com/13555061/2130215