Vim :copy 命令 (缩写形式 :co,或 :t) 可以把一行或多行从文档的某个位置复制到另一个位置,而 :move 命令则可以把一行或多行移到文档的其他地方。

整行拷贝可以在Vim普通模式下用 yank (或缩写形式 y ) 命令解决,但有一个缺点就是必须把光标移到要拷贝的行上才能执行该操作。

:copy:move 命令可以在命令中直接显式指定要操作的行范围和目标位置,从而可实现在任何地方拷贝或移动任意一行或者多行。

1. Vim行复制命令copy

copy 命令的格式为 :[range]copy {address}

[range] 表示要复制的行范围,{address} 表示复制的目标位置,这两个参数都可以缺省,用于表示Vim光标所在当前行。

例如,5copy. 表示复制Vim当前打开的文件的第 5 行到当前行 (用 . 表示),即为第 5 行创建一份副本,并放到当前行下方。

下标列出了使用 copy 命令的缩写形式 t 进行文件复制的一些实例及用途,用于理解复制命令 copy 的用途。

命令 用途
:3,5t. 把第 3 行到第 5 行的内容复制到当前行下方
:t5 把当前行复制到第 5 行下方
:t. 复制当前行到当前行下方 (等价于普通模式下的 yyp)
:t$ 把当前行复制到文本结尾
:'<,'>t0 把高亮选中的行复制到文件开头

vim-copy-command

2. Vim行移动命令move

Vim行移动命令 :move (缩写形式为 :m) 的命令格式和 :copy 命令很相似,格式为 :[range]move{address}

[range] 表示要移动的行范围,{address} 表示移动的目标位置,这两个参数都可以缺省,用于表示Vim光标所在当前行。

例如,在Vim命令行模式下执行命令 :'<,'>m$ 可以把当前高亮选中的所有行移动到文件末尾处,而 :8,10m2 可以把当前打开文件的第8~10行内容移动到第 2 行下方。

vim-move-command

嗯,扫一扫就可以找到小女子我啦~