SlideShare a Scribd company logo
1 of 2
复制粘贴

在编辑器里,复制、剪切和粘贴都是最平常的操作。在 vi 编辑器有一个注册的概念(concept of
register),正是这个概念使我们可以进行多次的剪切和粘贴操作。在一般的编辑器中我们被限制
只有一个剪切板可以用,而在 vi 中最多时可以有 26 个剪切板可以来使用,这样就会大大的提
高工作的效率。如此强大的功能我们又来如何的操作呢?

在 vi 中,我们可以使用 d 或 x 来删除文本,但是经过这样的操作所删除掉的文本并没有被 vi 所
丢弃,而是被保存起来。我们可以使用 p 命令来粘贴刚刚所删掉的内容。下面来看看他是如何
工作的。首先在 vi 中随意的输入几行,然后移动到其中的一行,用 dd 命令来删掉一行。如何
叫他再回来?我们可以将光标移到任意的地方,然后用 p 命令,就会看到刚才被删除掉的内容
又回来了。

使用 x 命令删除的东西也可以粘贴回来。所不同的是,用 dd 删除一行再用 p 命令时是在当前光
标的下一行粘贴,而删除一个单词再用 p 命令来粘贴时是在当前光标处粘贴。有了这样的命
令,我们就可以来处理输入错误的单词了。例如我们不小心将 the 输入成了 teh,这时可以将光
标移到 e 的位置,用 x 命令删掉,再用 p 命令粘贴回来,这时就会发现输入正是我们想要的
了。

p 命令可以在一个文件中使用几次,每一次都可以将刚删除的内容重新粘贴在所希望的地方。
当然这个命令也可以使用数字做前缀,明确的指出所要执行的次数。

使用标记

在使用 vi 进行编辑时,我们可以对某一行进行标记。将光标移到某一行,用命令 ma 来进行标
记。在这里 m 是标记的命令,a 是对这一行所做标记的名称,当然也可以使用其他的标记名
称,必竟有 26 个字母可以用的。

在做了这样的标记以后,我们可以快速的移到被标记的地方。'a 就可以快速移到刚才所做标记
的地方。这里'是单引号,这时我们就会移到被做标记那一行的行首。也可以使用'a 来移到所做
标记的地方,这里'是反引号,也就是数字键 1 左边的那一个。这时我们就会移到所做标记时光
标所在的位置,可以说是更精确啊。

在进行编辑时,我们可以用:marks 命令列出所有的标记。

如果我们将做了标记的那一行删除,那么所做的标记也就不存了。我们用标记不仅可以快速的
移到做了标记的行,而且还可以用标记来删除掉一行,例如在某一行用 ma 做了标记,然后移
到这一行的底部,这样我们就可以用在 d'a 来删掉这一行。

在 vi 中还有一个命令可以提供复制的操作,那就是 y 命令。yy 命令可以复制一行,然后我们可
以用 p 命令来粘贴。这时我们也可用标记命令来组合使用,首先在一行用 ma 标记此行,然后将
光标移到这一行的底部,用 y'a 命令就可以来复制这一行了。我们也可以使用 Y 命令来复制一
行,或是用数字做前缀来明确的指明复制几行,然后用 p 命令粘贴到我们所希望的地方。

命令小结
p 粘贴
m 做标记
' 移动到标记的行首
' 移动到标记的光标位置
:marks 列出所有标记
y 复制
yy 复制一行
Y 复制一行

More Related Content

More from King Hom

Perl.predefined.variables
Perl.predefined.variablesPerl.predefined.variables
Perl.predefined.variablesKing Hom
 
Gnu coreutils-cheat-sheet
Gnu coreutils-cheat-sheetGnu coreutils-cheat-sheet
Gnu coreutils-cheat-sheetKing Hom
 
Git cheat sheet_dark
Git cheat sheet_darkGit cheat sheet_dark
Git cheat sheet_darkKing Hom
 
Git cheat sheet__white
Git cheat sheet__whiteGit cheat sheet__white
Git cheat sheet__whiteKing Hom
 
Git cheat sheet__grey
Git cheat sheet__greyGit cheat sheet__grey
Git cheat sheet__greyKing Hom
 
Firefox cheat sheet
Firefox cheat sheetFirefox cheat sheet
Firefox cheat sheetKing Hom
 
Chrome sheet
Chrome sheetChrome sheet
Chrome sheetKing Hom
 
Vim 实用技术,第 1 部分: 实用技巧
Vim 实用技术,第 1 部分: 实用技巧Vim 实用技术,第 1 部分: 实用技巧
Vim 实用技术,第 1 部分: 实用技巧King Hom
 
人体24小时器官工作表
人体24小时器官工作表人体24小时器官工作表
人体24小时器官工作表King Hom
 
VIM学习笔记8 选择模式
VIM学习笔记8 选择模式VIM学习笔记8 选择模式
VIM学习笔记8 选择模式King Hom
 
手把手教你把Vim改装成一个IDE编程环境(图文)
手把手教你把Vim改装成一个IDE编程环境(图文)手把手教你把Vim改装成一个IDE编程环境(图文)
手把手教你把Vim改装成一个IDE编程环境(图文)King Hom
 
VIM学习笔记2 移动和修改命令
VIM学习笔记2 移动和修改命令VIM学习笔记2 移动和修改命令
VIM学习笔记2 移动和修改命令King Hom
 
VIM学习笔记6 使用多标签页
VIM学习笔记6 使用多标签页VIM学习笔记6 使用多标签页
VIM学习笔记6 使用多标签页King Hom
 
Linux 新手入门
Linux 新手入门Linux 新手入门
Linux 新手入门King Hom
 
安装 Subversion
安装 Subversion安装 Subversion
安装 SubversionKing Hom
 
Effective_Vim
Effective_VimEffective_Vim
Effective_VimKing Hom
 
VIM学习笔记1 基本编辑命令
VIM学习笔记1 基本编辑命令VIM学习笔记1 基本编辑命令
VIM学习笔记1 基本编辑命令King Hom
 
VIM学习笔记4 查找文本
VIM学习笔记4 查找文本VIM学习笔记4 查找文本
VIM学习笔记4 查找文本King Hom
 
VIM学习笔记7 可视化模式
VIM学习笔记7 可视化模式VIM学习笔记7 可视化模式
VIM学习笔记7 可视化模式King Hom
 
vim用户手册中文版
vim用户手册中文版vim用户手册中文版
vim用户手册中文版King Hom
 

More from King Hom (20)

Perl.predefined.variables
Perl.predefined.variablesPerl.predefined.variables
Perl.predefined.variables
 
Gnu coreutils-cheat-sheet
Gnu coreutils-cheat-sheetGnu coreutils-cheat-sheet
Gnu coreutils-cheat-sheet
 
Git cheat sheet_dark
Git cheat sheet_darkGit cheat sheet_dark
Git cheat sheet_dark
 
Git cheat sheet__white
Git cheat sheet__whiteGit cheat sheet__white
Git cheat sheet__white
 
Git cheat sheet__grey
Git cheat sheet__greyGit cheat sheet__grey
Git cheat sheet__grey
 
Firefox cheat sheet
Firefox cheat sheetFirefox cheat sheet
Firefox cheat sheet
 
Chrome sheet
Chrome sheetChrome sheet
Chrome sheet
 
Vim 实用技术,第 1 部分: 实用技巧
Vim 实用技术,第 1 部分: 实用技巧Vim 实用技术,第 1 部分: 实用技巧
Vim 实用技术,第 1 部分: 实用技巧
 
人体24小时器官工作表
人体24小时器官工作表人体24小时器官工作表
人体24小时器官工作表
 
VIM学习笔记8 选择模式
VIM学习笔记8 选择模式VIM学习笔记8 选择模式
VIM学习笔记8 选择模式
 
手把手教你把Vim改装成一个IDE编程环境(图文)
手把手教你把Vim改装成一个IDE编程环境(图文)手把手教你把Vim改装成一个IDE编程环境(图文)
手把手教你把Vim改装成一个IDE编程环境(图文)
 
VIM学习笔记2 移动和修改命令
VIM学习笔记2 移动和修改命令VIM学习笔记2 移动和修改命令
VIM学习笔记2 移动和修改命令
 
VIM学习笔记6 使用多标签页
VIM学习笔记6 使用多标签页VIM学习笔记6 使用多标签页
VIM学习笔记6 使用多标签页
 
Linux 新手入门
Linux 新手入门Linux 新手入门
Linux 新手入门
 
安装 Subversion
安装 Subversion安装 Subversion
安装 Subversion
 
Effective_Vim
Effective_VimEffective_Vim
Effective_Vim
 
VIM学习笔记1 基本编辑命令
VIM学习笔记1 基本编辑命令VIM学习笔记1 基本编辑命令
VIM学习笔记1 基本编辑命令
 
VIM学习笔记4 查找文本
VIM学习笔记4 查找文本VIM学习笔记4 查找文本
VIM学习笔记4 查找文本
 
VIM学习笔记7 可视化模式
VIM学习笔记7 可视化模式VIM学习笔记7 可视化模式
VIM学习笔记7 可视化模式
 
vim用户手册中文版
vim用户手册中文版vim用户手册中文版
vim用户手册中文版
 

VIM学习笔记3 复制和粘贴命令

  • 1. 复制粘贴 在编辑器里,复制、剪切和粘贴都是最平常的操作。在 vi 编辑器有一个注册的概念(concept of register),正是这个概念使我们可以进行多次的剪切和粘贴操作。在一般的编辑器中我们被限制 只有一个剪切板可以用,而在 vi 中最多时可以有 26 个剪切板可以来使用,这样就会大大的提 高工作的效率。如此强大的功能我们又来如何的操作呢? 在 vi 中,我们可以使用 d 或 x 来删除文本,但是经过这样的操作所删除掉的文本并没有被 vi 所 丢弃,而是被保存起来。我们可以使用 p 命令来粘贴刚刚所删掉的内容。下面来看看他是如何 工作的。首先在 vi 中随意的输入几行,然后移动到其中的一行,用 dd 命令来删掉一行。如何 叫他再回来?我们可以将光标移到任意的地方,然后用 p 命令,就会看到刚才被删除掉的内容 又回来了。 使用 x 命令删除的东西也可以粘贴回来。所不同的是,用 dd 删除一行再用 p 命令时是在当前光 标的下一行粘贴,而删除一个单词再用 p 命令来粘贴时是在当前光标处粘贴。有了这样的命 令,我们就可以来处理输入错误的单词了。例如我们不小心将 the 输入成了 teh,这时可以将光 标移到 e 的位置,用 x 命令删掉,再用 p 命令粘贴回来,这时就会发现输入正是我们想要的 了。 p 命令可以在一个文件中使用几次,每一次都可以将刚删除的内容重新粘贴在所希望的地方。 当然这个命令也可以使用数字做前缀,明确的指出所要执行的次数。 使用标记 在使用 vi 进行编辑时,我们可以对某一行进行标记。将光标移到某一行,用命令 ma 来进行标 记。在这里 m 是标记的命令,a 是对这一行所做标记的名称,当然也可以使用其他的标记名 称,必竟有 26 个字母可以用的。 在做了这样的标记以后,我们可以快速的移到被标记的地方。'a 就可以快速移到刚才所做标记 的地方。这里'是单引号,这时我们就会移到被做标记那一行的行首。也可以使用'a 来移到所做 标记的地方,这里'是反引号,也就是数字键 1 左边的那一个。这时我们就会移到所做标记时光 标所在的位置,可以说是更精确啊。 在进行编辑时,我们可以用:marks 命令列出所有的标记。 如果我们将做了标记的那一行删除,那么所做的标记也就不存了。我们用标记不仅可以快速的 移到做了标记的行,而且还可以用标记来删除掉一行,例如在某一行用 ma 做了标记,然后移 到这一行的底部,这样我们就可以用在 d'a 来删掉这一行。 在 vi 中还有一个命令可以提供复制的操作,那就是 y 命令。yy 命令可以复制一行,然后我们可 以用 p 命令来粘贴。这时我们也可用标记命令来组合使用,首先在一行用 ma 标记此行,然后将 光标移到这一行的底部,用 y'a 命令就可以来复制这一行了。我们也可以使用 Y 命令来复制一 行,或是用数字做前缀来明确的指明复制几行,然后用 p 命令粘贴到我们所希望的地方。 命令小结 p 粘贴 m 做标记 ' 移动到标记的行首 ' 移动到标记的光标位置
  • 2. :marks 列出所有标记 y 复制 yy 复制一行 Y 复制一行