当前位置:  开发笔记 > 开发工具 > 正文

如何移动一个块或一列文本

如何解决《如何移动一个块或一列文本》经验,为你挑选了4个好方法。

我有以下文字作为一个简单的案例:

...
abc xxx 123 456
wer xxx 345 678676
...

我需要将一块文本xxx移动到另一个位置:

...
abc 123 xxx 456
wer 345 xxx 678676
...

我想我使用可视模式来阻止一列文本,将块移动到另一个位置的其他命令是什么?



1> Paul..:

你应该使用blockwise visual mode(Ctrl+ v).然后d删除块,pP粘贴块.



2> Klinger..:

试试这个链接.


标记文字(视觉模式)

v - 启动视觉模式,标记线条,然后执行命令(如y-yank)

V - 启动Linewise可视模式

o - 移动到标记区域的另一端

Ctrl+ v- 启动可视块模式

O - 移动到街区的其他角落

aw - 标记一个单词

ab - a()块(带括号)

aB - 一个{}块(带括号)

ib - inner()块

iB - 内部{}块

Esc - 退出视觉模式

可视命令

> - 向右转

< - 向左转

y - 猛拉(复制)标记文本

d - 删除标记文本

~ - 开关盒

剪切和粘贴

yy - 猛拉(复制)一条线

2yy - 猛拉2行

yw - 猛的话

y$ - 猛拉到终点

p - 在光标后放置(粘贴)剪贴板

P - 在光标前放(粘贴)

dd - 删除(剪切)一条线

dw - 删除(剪切)当​​前单词

x - 删除(剪切)当​​前字符



3> Kemin Zhou..:

在学习VIM之初我学到的几个有用的命令之一是:1,3 mo 5这意味着将文本行1到3移动到第5行.


你可以在视觉模式中选择线条,然后按`:`来获得`:'<,'>`(相当于答案中的`:1,3`部分),并添加'mo N`.如果你想移动一行,只需`:mo N`.如果你真的很懒,你可以省略空格(例如`:mo5`).使用带有'mo'{a-zA-Z}`的标记.

4> John Ellinwo..:

    在VIM中,按Ctrl+ V进入可视阻止模式

    使用您的选择所需的列,arrow keys然后按下x以在缓冲区中剪切它们.

    将光标移动到第1行第9列并P在命令模式下按(即大写字母P).

    Ctrl+ Shift+ b进入和退出.(来源)

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有