vi学习(2)【常用命令包括移动光标/选中文本/撤销和反撤销/删除文本/复制粘贴/查找替换/插入】

(一)常用命令

学习提示:

① vi 命令较多,不要期望全部记住,个别命令忘记只会影响编辑速度

② 在使用 vi 命令时,关闭中文输入法 (因为在命令模式下输入命令,屏幕上没有显示)

1,移动光标(基本)

① 要熟练使用 vi ,首先应该学会如何在命令模式下快速移动光标(注意是在命令模式下)

② 编辑操作命令,能够和移动命令结合在一起使用

(1)上下左右

命令功能手指
h向左食指
j向下食指
k向上中指
l    向右无名指

(2)行内移动

命令英文功能
wword向后移动一个单词
bback向前移动一个单词
数字0行首
^行首,第一个不是空白字符的位置
$行尾

(3)行数移动

命令英文功能
gggo文件顶部
Ggo文件末尾
数字 gggo移动到数字对应行数
数字 Ggo移动到数字对应行数
:数字移动到数字对应行数

(4)屏幕移动

命令英文功能
ctrl+bback向上翻页
ctrl+fforward向下翻页
HHead屏幕顶部
MMiddle屏幕中间
LLow屏幕底部

2,移动光标(程序员常用)

(1)段落移动

① vi 中使用 空行 来区分段落

② 在程序开发时,通常一段功能相关的代码会写在一起 -- 之间没有空行

命令功能
{上一段
}下一段

(2)括号切换

 在程序中,()、[]、{} 使用频率较高 而且 都是成对出现

命令功能
%在一对括号匹配的两个之间切换

(3)标记

① 在程序开发时,某一段代码可能需要稍后处理或完善,例如:编辑、查看

② 此时先使用 m 增加一个标记,可以在 需要时快速的跳转回来 或者 执行其他编辑操作

标记名称可以是 a~z 或者 A~Z 之间的任意一个字母

④ 添加了标记的行如果被删除,标记同时被删除

⑤ 如果  在其他行添加了相同名称的标记之前添加的标记也会被替换掉

命令英文作用
mxmark添加标记x,x是a~z 或者 A~Z 之间的任意一个字母
'x直接定位到标记x所在位置

添加标记时,并不会在窗口显示标记,起到临时标记的作用

3,选中文本(可视模式)

① 学习复制命令前,应该先学会怎么选中要复制的代码

② 在 vi 中要选择文本,首先使用 visual 命令切换到可视模式

③ vi 中提供了三种可视模式,可以方便选择 选中文本的方式

④ 按 Esc 可以放弃选中,返回到命令模式

命令模式功能
v可视模式从光标位置开始按照正常模式选择文本
V可视行模式选中光标经过的完整行
ctrl+v可视块模式垂直方向选中文本

可视模式下,可以和 移动命令 连用,例如 ggVG 能够选中所有内容

4,撤销和恢复撤销

在学习编辑命令之前,先要指导怎么撤销之前一次 错误的 编辑动作

命令英文功能
uundo撤销上次命令
ctrl+rredo恢复撤销的命令

5,删除文本

命令英文功能
xcut删除光标所在字符,或者选中文字
d(移动命令)delete删除移动命令对应的内容
dddelete删除光标所在行,可以ndd删除多行(n是数字)
Ddelete从光标位置删除至行尾

提示:如果使用  可视模式 已经选中了一段文本,那么无论使用 d 还是 x ,都可以删除选中文本

删除命令可以和 移动命令 连用,以下是常见组合:

6,复制和粘贴 

vi 中提供有一个 被复制文本的缓冲区

        ① 复制 命令会将选中的文字保存在缓冲区

        ② 删除 命令删除的文字会被保存在缓冲区

        ③ 在需要的位置,使用 粘贴 命令可以将缓冲区的文字插入到光标所在位置

命令英文功能
y(移动命令)copy复制
yycopy复制一行,可以nyy复制多行(n是数字)
ppaste 粘贴

 提示:

① 命令 d、x 类似于图形界面的 剪切操作--ctrl+x

② 命令 y 类似于图像界面的 复制操作--ctrl+c

③ 命令 p 类似于图形界面的 粘贴操作--ctrl+v

④ vi 中的文本缓冲区同样只有一个,如果后续做个复制,剪切操作,之前缓冲区的内容会被      替换

注意:

① vi 中的文本缓冲区和系统的剪贴板 不是同一个,所以在其他软件中使用 ctrl+c 复制的内        容,不能在 vi 中通过 p 命令粘贴,可以在编辑模式下使用鼠标右键粘贴(或ctrl+shift+v)

7,替换命令

命令英文功能模式
rreplace替换当前光标字符命令模式
Rreplace连续替换当前光标的字符替换模式

R 命令可以进入到 替换模式,替换完成后,按下 Esc 可以回到命令模式

替换命令 的作用是不用进入编辑模式,对文件进行轻量级的修改

8,缩排和重复执行

命令功能
>>向右增加缩进
<<向左减少缩进
.重复上次命令

缩排命令 在开发程序时,统一增加代码的缩进比较有用

        ① 一次性 在选中代码前增加4个空格,就叫做 增加缩进

        ② 一次性 在选中代码前删除4个空格,就叫做 减少缩进

上表中给出的是在命令模式下的缩排命令用 >> 或 <<

可视模式下,缩排命令只需要使用一个 > 或 <

在程序中,缩进通常用来表示代码的归属关系

        前面的空格越少,代码的级别越高

        前面的空格越多,代码的级别越低

9,查找

常规查找

命令功能
/str查找str

查找到指定内容后,使用 Next 查找下一个出现的位置

        n : 查找下一个

        N: 查找上一个

如果不想看到高亮显示,可以随便查找一个文件不存在的内容即可

单词快速匹配

命令功能
*向后查找当前光标所在单词
#向前查找当前光标所在单词

在开发中,通过单词快速匹配,可以快速看到该单词在其他什么位置使用过

10,查找并替换

在 vi 中,查找和替换命令需要在 末行模式 下执行

记忆命令格式::%s///g

(1)全局替换

一次性替换文件中的 所有出现的旧文本

命令格式::%s/旧文本/新文本/g

(2)可视区域替换

先选中要替换文字的范围

命令格式: :s/旧文本/新文本/g

详细解释:将可视区域的旧文本替换成新文本,没有选中的区域则将旧文本高亮显示 

注意:可视区域替换命令中 没有%

(3)确认替换

如果把末尾的 g 改成 gc ,则在替换的时候会有提示!推荐使用

命令格式: :%s/旧文本/新文本/gc

出现的字母选项:

yyes替换
nno不替换
aall替换所有
qquit退出替换
llast替换最后一个,并把光标移到行首
ctrl+E向下滚屏
ctrl+Y向上滚屏

11,插入命令

在 vi 中,除了常用的 i 进入编辑模式外,还提供以下命令进入编辑模式        

命令英文功能常用
iinsert在当前字符前插入文本常用
Iinsert在行首插入文本较常用
aappend在当前字符后添加文本
Aappend在行末添加文本较常用
o在当前行后面插入一空行常用
O在当前行前面插入一空行常用

其中o、O 是英文字母

编辑命令和数字的演练:

在开发中,可能会遇到 连续输入N个同样的字符

在python中有简单的方法,但是其它语言中通常需要自己输入

提示:正常开发时,在 进入编辑模式之前,不要按数字 

利用可视块给多行代码增加注释:

在开发中,可能会遇到一次性给多行代码 增加注释 的情况

在 python 中,要给代码增加注释,可以在代码前增加一个 #

在可视块模式下,只能用 I 进入编辑模式在行首插入文本, i 不能在可视块模式下进入编辑模式 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值