加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Vim多行编辑就像在sublimetext?

发布时间:2020-12-15 16:37:45 所属栏目:安全 来源:网络整理
导读:我开始使用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,$ 一切都被选中
我开始使用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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读