vi编辑器

方向行内移动

命令功能
j光标向下一行
k光标向上一行
h光标向左
l光标向右

行内移动

命令功能
w光标向后移动一个单词
b光标向前移动一个单词
0行首
^行首,第一个不是空白字符的位置
$行尾

行数移动

命令功能
gg文件顶部
G文件尾部
数字gg移动到数字对应的行数
数字G移动到数字对应的行数
:数字移动到数字对应的行数

屏幕移动

命令功能
Ctrl + b向上翻页
Ctrl + f向下翻页
H屏幕顶部
M屏幕中间
L屏幕底部

段落移动

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

行号显示

代码描述
:set nu显示行号
:set nonu取消行号

括号切换

在程序世界中, (),[] , {} 使用的频率很高

命令功能
%括号匹配及切换

标记

在开发时,某一块代码可能需要稍后处理,例如:编辑、查看
此时先使用 m 做一个标记,这样可以在需要时更快地跳转回来

标记可以是 a~z 或 A~Z

如果添加的标记行被删除,标记同时被删除
如果在其他行添加了相同的标记,之前的标记就会被替换掉

命令英文
mx添加标记x,x是 a~z 或 A~Z之间的任意字符
‘x直接定位到x标记的位置

选中文本(可视模式)

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

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

撤销和回复撤销

命令功能
u撤销上次命令 (向上)
Ctrl + r回复撤销的命令(向下)

删除文本

命令功能
x删除光标所在字符或文字
d(移动命令)删除移动命令对应的内容
dd删除光标所在行,可以 ndd 向下多行删除
D删除至行尾

如果使用可视模式已经选中了一段文本,无论使用 d 还是 x 都能进行删除

dw  # 从光标位置删除到单词末尾
d0  # 从光标位置删除到一行的起始位置
d}  # 从光标位置删除到段落尾部
d代码行G  # 从光标位置删除到指定的代码行
d's  # 从光标位置删除到标记x之间的所有代码

复制粘贴

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

复制 命令会将选中的文字保存在缓冲区
删除 命令会将删除的文字保存在缓冲区
在需要的位置可以使用粘贴命令将缓冲区的内容插入到光标所在的位置

命令功能
y(移动命令)复制
yy复制一行,nyy可以复制多行
p粘贴到光标位置之后
P粘贴到光标位置之前

注意:vi的缓冲区和系统的剪切板不是同一个
在其它软件中使用Ctrl + c 复制的内容不能使用 p 命令在 vi 中粘贴

替换

命令功能工作模式
r替换光标所在字符命令模式
R替换光标行光标后的字符替换模式

:n1,n2 s/旧文本/新文本/g
替换n1到n2之间的所有文本

替换模式 的作用就是不用进入编辑模式,对文件进行轻微级的改动

缩排与重复执行

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

查找

命令功能
/str查找str

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

n :查找下一个
N :查找上一个

单词快速匹配

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

查找和替换

需要在 末行模式 下执行

全局替换:
格式: %s/旧文本/新文本/g

可视区域替换:
先选中要替换文字的范围
命令格式:s/旧文本/新文本/g

确认替换:
将末尾的 g 改为 gc
格式: %s/旧文本/新文本/gc

y - yes 替换
n - no 不替换
a - all 替换全部
q - quit 退出
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值