Vim多行编辑就像在sublimetext?

前端之家收集整理的这篇文章主要介绍了Vim多行编辑就像在sublimetext?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我开始使用gvim,我不能理解多行编辑在gvim中如何工作。

例如:

原文:

asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;

ctrl q,jjjjjj,$
一切都被选中,然后我按I做一个多行插入。

我的意图是插入引号,如第一行,然后按Esc键:

asd "asd asd" asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;

发生了什么?我预计一个类似于sublimetext的行为:

如果你不知道如何工作,它只是重复每一行的行动。如何实现呢? vim在这里做什么?

通过删除Windows兼容层来帮助自己。用于进入可视块模式的正常快捷方式是< C-v&gt ;. 其他人处理了录音宏,这里有一些其他的想法: 仅使用视觉块模式。
>将光标放在第二个词上:
asd |a|sd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;

gt;命中< C-v>进入视觉块模式并向下扩展您的选择:

asd [a]sd asd asd asd;
asd [a]sd asd asd asd;
asd [a]sd asd asd asd;
asd [a]sd asd asd asd;
asd [a]sd asd asd asd;
asd [a]sd asd asd asd;
asd [a]sd asd asd asd;

> Hit I“< Esc>以获得:

asd "asd asd asd asd;
asd "asd asd asd asd;
asd "asd asd asd asd;
asd "asd asd asd asd;
asd "asd asd asd asd;
asd "asd asd asd asd;
asd "asd asd asd asd;

>将光标放在第三个字的最后一个字符上:

asd "asd as|d| asd asd;
asd "asd asd asd asd;
asd "asd asd asd asd;
asd "asd asd asd asd;
asd "asd asd asd asd;
asd "asd asd asd asd;
asd "asd asd asd asd;

gt;命中< C-v>进入视觉块模式并向下扩展您的选择:

asd "asd as[d] asd asd;
asd "asd as[d] asd asd;
asd "asd as[d] asd asd;
asd "asd as[d] asd asd;
asd "asd as[d] asd asd;
asd "asd as[d] asd asd;
asd "asd as[d] asd asd;

>命中A“< Esc>以获得:

asd "asd asd" asd asd;
asd "asd asd" asd asd;
asd "asd asd" asd asd;
asd "asd asd" asd asd;
asd "asd asd" asd asd;
asd "asd asd" asd asd;
asd "asd asd" asd asd;

与视觉块模式和Surround.vim

>将光标放在第二个词上:

asd |a|sd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;
asd asd asd asd asd;

gt;命中< C-v>进入视觉块模式并向右下扩展您的选择:

asd [asd asd] asd asd;
asd [asd asd] asd asd;
asd [asd asd] asd asd;
asd [asd asd] asd asd;
asd [asd asd] asd asd;
asd [asd asd] asd asd;
asd [asd asd] asd asd;

>点击s“获取

asd "asd asd" asd asd;
asd "asd asd" asd asd;
asd "asd asd" asd asd;
asd "asd asd" asd asd;
asd "asd asd" asd asd;
asd "asd asd" asd asd;
asd "asd asd" asd asd;

与视线模式和:正常。

>点击V选择整条线并向底部扩展:

[asd asd asd asd asd;]
[asd asd asd asd asd;]
[asd asd asd asd asd;]
[asd asd asd asd asd;]
[asd asd asd asd asd;]
[asd asd asd asd asd;]
[asd asd asd asd asd;]

>执行此命令::’<,'> norm ^ wi“< C-v>< Esc> eea”< CR>获得:

asd "asd asd" asd asd;
asd "asd asd" asd asd;
asd "asd asd" asd asd;
asd "asd asd" asd asd;
asd "asd asd" asd asd;
asd "asd asd" asd asd;
asd "asd asd" asd asd;

>:norm [al]允许在一系列线上执行正常模式命令(‘<,'>部分由Vim自动添加,表示“对选定区域执行操作”)
> ^将光标放在行的第一个字符上
> w移动到下一个字
> i“在光标之前插入一个”
>< C-v>< Esc>是Vim在此上下文中输入控制字符的方式,这里是< Esc>用于退出插入模式
> ee移动到下一个字的结尾
> a“附加一个”光标之后
>< CR>执行命令

使用Surround.vim,上面的命令变成了

:'<,'>norm ^wvees"<CR>

猜你在找的Bash相关文章