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>

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...