VI的使用方法和常用的命令

常用命令

提示

使用vi命令时,注意关闭中文输入法

1.1移动
  • 要熟练使用vi,首先应该学会怎么在命令模式下快速移动光标
  • 编辑操作命令,能够和移动命令结合在一起使用
  1. 上、下、左、右
h       向左    食指
j       向下    食指
k       向上    中指
l       向右    无名指

  1. 行内移动
w       word        向后移动一个单词
b       back        向前移动一个单词
o       -           行首
^       -           行首,第一个不是空白字符的位置
$       -           行尾

3)行数移动

gg      go      文件顶部
G       go      文件末尾
数字gg  go      移动到数字对应行数
数字G   go      移动到数字对应行数
:数字  -       移动到数字对应行数

4)屏幕移动

ctrl+b      back        向上翻页
ctrl+f      forward     向下翻页
H           head        屏幕顶部
M           middle      屏幕中间
L           Low         屏幕底部

1.2 移动
  1. 段落移动
  • vi 中使用 空行 来区分段落
  • 在程序开发时,通过一段功能相关的代码会写在一起 --之间没有空行
{       上一段
}       下一段
  1. 括号切换
  • 在程序中,()、[]、{}使用频率很高,而且都是成对出现
%      括号匹配及切换

3)标记

1. 在开发时,某一块代码可能需要稍后处理,例如:编辑查看
2. 此时先使用m增加一个标记,这样可以在需要时快速的跳转回来 或者 执行其他编辑操作
3. 标记名称 可以是 a~z 或者A~Z之间的任意一个字母
4. 添加了标记的行如果被删除,标记同同时被删除
5. 如果在其他行添加了相同名称的标记,之前添加的标记也会被替换掉

mx(mark) 添加标记x,x是a~z或者A~Z之间的任意一个字母
'x         直接定位到标记x所在位置
1.3 选中文本(可视模式)
  • 学习 复制 命令前,应该先学会怎么样选中 要复制的代码
  • 在vi中要选择文本,需要先使用visual命令切换到可视模式
  • vi中提供了三种可视模式,可以方便程序员选中文本的方式
  • 按ESC 可以放弃选中,返回到命令模式
v(可视模式) ----从贯标位置开始按照正常模式选择文本
V(可视行模式)----选中光标经过的完整行
ctrl+v(可是块模式)----垂直方向选中文本

在可视模式下可以使用光标
1.4 撤销和恢复命令
  • 恢复错误的编辑动作
u(undo)          ----撤销上次,命令
ctrl+r(redo)     ----恢复撤销的命令
1.5 删除文本
x(cut)      ----删除光标所在字符,或者选中文字
d(移动命令) ----删除移动命令对应的内容
dd(delete)----删除光标所在行,可以ndd复制多行
D(delete)   ----删除至行尾

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

  • 删除命令可以和移动命令连用,以下是常见的组合命令
dw          从光标位置删除到单词末尾
d0          从光标位置删除到一行的起始位置
d}          从光标位置删除到段落结尾
ndd         从光标位置向下连续删除 n 行
d代码G      从光标所在行 删除到指定代码行 之间的所有代码
d'a         从光标所在行 删除到 标记a 之间的所有代码
1.6复制、粘贴
  • vi中提供有一个被复制文本的缓冲区
  1. 复制命令会将被选中的文字保存在缓冲区
  2. 删除命令删除的文字会被保存在缓冲区
  3. 在需要的位置,使用粘贴命令可以将缓冲区的文字插入到光标所在位置
y(移动命令)         copy,复制
yy                  copy,复制一行,可以nyy复制多行
p                   paste,粘贴

提示

  • 命令d、x类似于图形界面的剪切操作-----ctrl+x
  • 命令y类似于图形界面的复制操作-----ctrl+c
  • 命令p类似于图形界面的粘贴操作-----ctrl+v
  • vi中文本缓冲区同样只有一个,如果后续做过 复制、剪切操作,之前缓冲区中的内容会被替换

注意

  • vi中文本缓冲区和系统的剪切板不是同一个
  • 所以在其他软件中使用ctrl+c复制的内容,不能在vi中通过p命令粘贴
  • 可以在编辑模式下使用鼠标右键粘贴
1.7 替换
r(replace)------替换当前字符,命令模式
R(repalce)------替换当前前光标后的字符,替换模式
  • R命令可以进入替换模式,替换完成后,按下ESC可以返回到命令模式
  • 替换命令 的作用就是不进入编辑模式,对文本进行轻量级的修改
1.8 缩进和重复执行
>>          向右增加缩进
<<          向左减少缩进
.           重复执行上次命令
  • 缩进命令 在开发中,统一增加代码的缩进 比较有用!
1. 一次性 在选中代码前增加4个空格,就叫做增加缩进
2. 一次性 在选中代码前删除4个空格,就叫做减少缩进
  • 在可视模式下,缩进命令只需要一个> 或 <

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

  • 前面空格越少,代码的级别越高
  • 前面空格越多,代码的级别越低
1.8 查找命令

/str 查找str

  • 查找到指定内容之后,使用Next查找下一个出现的位置:
  1. n: 查找下一个
  2. N: 查找上一个
  • 如果不想看到高亮显示,可以随便查找一个文件中不存在的内容即可

单词快速匹配

·           向后查找当前光标所在的单词
#           向前查找当前光标所在的单词
  • 在开发中,通过单词快速匹配,可以快速看到这个单词在其他位置使用过
1.10 查找并替换
  • 在vi中查找和替换命令需要在 末行模式下执行
  • 记忆命令格式

:%s///g

  1. 全局替换
  • 一次性替换文件中的所有出现的旧文本

:%s/旧文本/新文本/g

  1. 可视区域替换
  • 先选中 要替换文字的范围

: s /旧文本/新文本/g

  1. 确认替换
  • 如果把末尾的g改成gc在替换的时候!,会提示!推荐使用

:%s /旧文本/新文本/gc

  1. y - yes 替换
  2. n - no 不替换
  3. a - all 替换所有
  4. q - quit 退出替换
  5. l - last 最后一个,并把光标移动到行首
  6. ^E - 向下滚屏
  7. ^Y - 向上滚屏
1.11 插入命令
  • 在vi中除了常用的i 竟然编辑模式外,还提供了其他命令
i           (insert)在当前字符钱插入文
I           (insert)在行首插入文本
a           (append)在当前字符后添加文本
A           (append)在行末添加文本
o           -       在当前行后插入一空行
O           -       在当前行前插入一空行
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值