SlideShare a Scribd company logo
1 of 2
在行内移动

在 vi 的编辑中,我们可以有多种的光标移动命令。我们可以用 w 命令向前移动一个字符,用 b
命令向后移动一个字符。就像其他的 vi 命令一样,我们也可以用数字来做前缀从而组成新的命
令,来快速的移动。例如 4w 就是向前移动 4 个单词,而 5b 则是向后移动 5 个单词。而我们在
编辑的过程中又如何来快速的移到一行的开始或是结尾处呢?在 vi 中$和^可以来完成这样的工
作。$可以使光标移到一行的结尾处,而^可以使光标移到一行的开始处。$命令可以和数字进行
组合形成新的移动命令,而^也可以和数字进行组合,但是组合后组成的新的命令中数字却不起
任何的作用。

移动到指定行

在我们的工作中常常要求我们移动到指定的行,那么我们如何来做到这一点呢?我们当然可以
使用数字和方向键组合来完成。虽然这种方式不够快速,但是确实可以来实现。而在 vi 中提供
了一个新的命令来完成,那就是 G。例如 3G 可以使我们快速的移到第 3 行。而 1G 则可以使我
们移到文章的最顶端,而 G 则是定位到文章的最后一行。那么在 vi 的编辑中我们又如何来知道
我们在第几行呢?我们可以使用:set number 来叫 vi 加上行号,这样我们就可以很容易的知道我
们所在的行号了,取消行号的命令为:set nonumber。那么在没有行号的文章中我们又如何来知
道我们所处在的位置呢?我们可以使用 ctrl+G 命令来知道。这个命令可以清楚到告诉我们总共
有多少行,而当前我们又在多少行,以及所占的百分比等信息。在我们进行编辑的过程中我们
可以使用 ctrl+U 和 ctrl+D 来进行上下的翻页。

删除文本

在的文本编辑中另一件经常要做的事情就是文本的删除了。我们可以使用 dd 来删除一行,我们
还可以使用 dw 来删除一个词。删除的命令操作 d 是一个相当灵活的命令,我们可以用他来进组
合来完成工作。例如 d3w 则是一次删除 3 个字符,而 3dw 则是指一次删除一个字符,而这样的
操作进行 3 次,即总的是也是删掉 3 个字符。而在 d$则是删除从当前位置到本行结束的所有字
符。与 d 命令相类似是的 c 命令,这是一个更改的命令,所不同的是他在删除一个字符的同时
进入插入状态,这样我们就可以进行另外的文本操作了。另一个有兴趣的命令则是.命令。.命令
可以使 vi 重复执行刚才执行的命令。

录制和执行宏

在我们进行文本编辑的时候,有时要用到合并行的命令,也就是将几行合并为一行,这时我们
可以使用 J 命令。这个命令可以将本行和下一行合并为一行。当然,就像大多数的 Linux 命令
一样,我们可以使用数字来使几行合并为一行。例如 3J 就可以将当前行下的三行(包括当前
行)合并为一行。

我们又如何时来做替换文本的工作呢?我们可以使用 r 的命令。例如 rx 就可以当前光标下的字
符替换为 x。我们当然也是可以用数字来组合以形成新的命令来进行工作,例如 5rd 就是将当前
光标以后的 5 个字符替换为 d。有时我们要进行大小写的转换,这时我们就可以用~命令。这个
命令可以实现在大小写的转换。

在 vi 中一个比较有趣的东西便是键盘宏了,这个可以使我们实现多个命令的记录,有时这样可
以高效的完成我们的工作。例如我们现在的文本是 stdio.h stdlib.h math.h 但是我们都知道在 C 语
言的编辑中我们所需要的是 #include #include #include 如何来做到?如果你有足够的耐心可以一
句一句的来加,但是在这里我们可以使用键盘宏来完成我们的工作,这样我们就可以体会到他
的强大之处了。开始输入 qa.其中的 a 是一个宏的名字,我们可以用任何我们喜欢的字母来代
替,q 是开始录制宏的命令标志。这样我们就可以开始我们的宏输入了:^移到一行的开始
i#include 在一行的开始插入#include,在结束处加入>,j 移到下一行,q 结束宏的录制。这样当
我们要使用宏时就可以输入@a,这样就可以执行这个宏了。我们还可以在执行命令前加上数字
来告诉 vi 执行几次。这样我们就可以快速的完成我们的一些工作了。

在 vi 的编辑中我们还可以输入一些由平常的键盘不可以输入的字符,有关这样的信息我们可以输
入:help digraphs 得到更多的信息。 (注:在 vi 中我们通常所指的一行是以回车做为标志的,即
只有输入回车才算是一行的结束,从而开始新的一行)

命令小结
w      向前移动一个字符
b      向后移动一个字符
$      移动到一行的结尾
^      移动到一行的开始
G      移动到指定行
:set number 显示行号
:set nonumber 不显示行号
dw      删除一个词
d$      删除从当前位置到本行结束的所有字符
c      在删除字符的同时进入插入状态
.     重复执行刚才执行的命令
J     将本行和下一行合并
r     替换当前字符
~     转换大小写
q      录制宏
@       执行宏

More Related Content

Viewers also liked

Contractor VECP
Contractor VECPContractor VECP
Contractor VECPcmlandau
 
Site 03
Site 03Site 03
Site 03mahahn
 
Le passé composé
Le passé composéLe passé composé
Le passé composéOmbredemon
 
Actividad 1; Cuadro
Actividad 1; CuadroActividad 1; Cuadro
Actividad 1; Cuadroguestb95da1
 
Excrecion de las drogas
Excrecion de las drogasExcrecion de las drogas
Excrecion de las drogasCueto04
 
Journalism Online. Modelo servicio y negocio pago por contenidos
Journalism Online. Modelo servicio y negocio pago por contenidosJournalism Online. Modelo servicio y negocio pago por contenidos
Journalism Online. Modelo servicio y negocio pago por contenidosJuan Varela
 

Viewers also liked (11)

Big Data
Big DataBig Data
Big Data
 
Leon van Hulst
Leon van HulstLeon van Hulst
Leon van Hulst
 
Contractor VECP
Contractor VECPContractor VECP
Contractor VECP
 
Site 03
Site 03Site 03
Site 03
 
Le passé composé
Le passé composéLe passé composé
Le passé composé
 
P L N 07 B O1 C Naya Making Big Lean Stick
P L N 07  B O1 C  Naya  Making Big Lean StickP L N 07  B O1 C  Naya  Making Big Lean Stick
P L N 07 B O1 C Naya Making Big Lean Stick
 
Gvg company plaquette
Gvg company plaquetteGvg company plaquette
Gvg company plaquette
 
Actividad 1; Cuadro
Actividad 1; CuadroActividad 1; Cuadro
Actividad 1; Cuadro
 
Ppt roberto
Ppt robertoPpt roberto
Ppt roberto
 
Excrecion de las drogas
Excrecion de las drogasExcrecion de las drogas
Excrecion de las drogas
 
Journalism Online. Modelo servicio y negocio pago por contenidos
Journalism Online. Modelo servicio y negocio pago por contenidosJournalism Online. Modelo servicio y negocio pago por contenidos
Journalism Online. Modelo servicio y negocio pago por contenidos
 

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学习笔记3 复制和粘贴命令
VIM学习笔记3 复制和粘贴命令VIM学习笔记3 复制和粘贴命令
VIM学习笔记3 复制和粘贴命令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学习笔记3 复制和粘贴命令
VIM学习笔记3 复制和粘贴命令VIM学习笔记3 复制和粘贴命令
VIM学习笔记3 复制和粘贴命令
 
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学习笔记2 移动和修改命令

  • 1. 在行内移动 在 vi 的编辑中,我们可以有多种的光标移动命令。我们可以用 w 命令向前移动一个字符,用 b 命令向后移动一个字符。就像其他的 vi 命令一样,我们也可以用数字来做前缀从而组成新的命 令,来快速的移动。例如 4w 就是向前移动 4 个单词,而 5b 则是向后移动 5 个单词。而我们在 编辑的过程中又如何来快速的移到一行的开始或是结尾处呢?在 vi 中$和^可以来完成这样的工 作。$可以使光标移到一行的结尾处,而^可以使光标移到一行的开始处。$命令可以和数字进行 组合形成新的移动命令,而^也可以和数字进行组合,但是组合后组成的新的命令中数字却不起 任何的作用。 移动到指定行 在我们的工作中常常要求我们移动到指定的行,那么我们如何来做到这一点呢?我们当然可以 使用数字和方向键组合来完成。虽然这种方式不够快速,但是确实可以来实现。而在 vi 中提供 了一个新的命令来完成,那就是 G。例如 3G 可以使我们快速的移到第 3 行。而 1G 则可以使我 们移到文章的最顶端,而 G 则是定位到文章的最后一行。那么在 vi 的编辑中我们又如何来知道 我们在第几行呢?我们可以使用:set number 来叫 vi 加上行号,这样我们就可以很容易的知道我 们所在的行号了,取消行号的命令为:set nonumber。那么在没有行号的文章中我们又如何来知 道我们所处在的位置呢?我们可以使用 ctrl+G 命令来知道。这个命令可以清楚到告诉我们总共 有多少行,而当前我们又在多少行,以及所占的百分比等信息。在我们进行编辑的过程中我们 可以使用 ctrl+U 和 ctrl+D 来进行上下的翻页。 删除文本 在的文本编辑中另一件经常要做的事情就是文本的删除了。我们可以使用 dd 来删除一行,我们 还可以使用 dw 来删除一个词。删除的命令操作 d 是一个相当灵活的命令,我们可以用他来进组 合来完成工作。例如 d3w 则是一次删除 3 个字符,而 3dw 则是指一次删除一个字符,而这样的 操作进行 3 次,即总的是也是删掉 3 个字符。而在 d$则是删除从当前位置到本行结束的所有字 符。与 d 命令相类似是的 c 命令,这是一个更改的命令,所不同的是他在删除一个字符的同时 进入插入状态,这样我们就可以进行另外的文本操作了。另一个有兴趣的命令则是.命令。.命令 可以使 vi 重复执行刚才执行的命令。 录制和执行宏 在我们进行文本编辑的时候,有时要用到合并行的命令,也就是将几行合并为一行,这时我们 可以使用 J 命令。这个命令可以将本行和下一行合并为一行。当然,就像大多数的 Linux 命令 一样,我们可以使用数字来使几行合并为一行。例如 3J 就可以将当前行下的三行(包括当前 行)合并为一行。 我们又如何时来做替换文本的工作呢?我们可以使用 r 的命令。例如 rx 就可以当前光标下的字 符替换为 x。我们当然也是可以用数字来组合以形成新的命令来进行工作,例如 5rd 就是将当前 光标以后的 5 个字符替换为 d。有时我们要进行大小写的转换,这时我们就可以用~命令。这个 命令可以实现在大小写的转换。 在 vi 中一个比较有趣的东西便是键盘宏了,这个可以使我们实现多个命令的记录,有时这样可 以高效的完成我们的工作。例如我们现在的文本是 stdio.h stdlib.h math.h 但是我们都知道在 C 语 言的编辑中我们所需要的是 #include #include #include 如何来做到?如果你有足够的耐心可以一 句一句的来加,但是在这里我们可以使用键盘宏来完成我们的工作,这样我们就可以体会到他 的强大之处了。开始输入 qa.其中的 a 是一个宏的名字,我们可以用任何我们喜欢的字母来代
  • 2. 替,q 是开始录制宏的命令标志。这样我们就可以开始我们的宏输入了:^移到一行的开始 i#include 在一行的开始插入#include,在结束处加入>,j 移到下一行,q 结束宏的录制。这样当 我们要使用宏时就可以输入@a,这样就可以执行这个宏了。我们还可以在执行命令前加上数字 来告诉 vi 执行几次。这样我们就可以快速的完成我们的一些工作了。 在 vi 的编辑中我们还可以输入一些由平常的键盘不可以输入的字符,有关这样的信息我们可以输 入:help digraphs 得到更多的信息。 (注:在 vi 中我们通常所指的一行是以回车做为标志的,即 只有输入回车才算是一行的结束,从而开始新的一行) 命令小结 w 向前移动一个字符 b 向后移动一个字符 $ 移动到一行的结尾 ^ 移动到一行的开始 G 移动到指定行 :set number 显示行号 :set nonumber 不显示行号 dw 删除一个词 d$ 删除从当前位置到本行结束的所有字符 c 在删除字符的同时进入插入状态 . 重复执行刚才执行的命令 J 将本行和下一行合并 r 替换当前字符 ~ 转换大小写 q 录制宏 @ 执行宏