VsVim -- 编程路上的点滴积累

VsVim -- 编程路上的点滴积累


不经意发现了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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值