VI学习笔记
VI
介绍
-
只能编辑文本,不能排版
-
不支持鼠标操作
-
没有菜单
-
只有命令
打开文件
打开和新建文件
-
vi 文件名
- 已存在则打开
- 不存在则新建
打开并且定位
-
vi 文件名 +行数
- 不指定行数则定位到上次退出时的位置
工作模式
模式分类
-
1.命令模式
- 1.打开文件首先进入命令模式,是vi的入口
- 2.通过命令对文件进行常规的编辑操作
-
2.末行模式
- 1.要退出vi返回控制台,需要在末行模式下输入命令
- 2.末行模式是vi的出口
-
3.编辑模式
- 正常的编辑文字
模式切换
- 命令模式 i 编辑模式
- 命令模式 : 末行模式
- 编辑模式/末行模式 ESC 命令模式
- 末行模式 wq 关闭文件
模式命令
-
末行模式
-
w
- 保存
-
q
- 退出
-
q!
- 强制退出 不保存修改
-
wq
- 保存并且退出
-
x
- 保存并退出
-
Vi命令
常用命令
-
1.重复次数
- 命令模式 数字+命令 该命令重复执行指定次数
-
2.移动和选择
-
移动
-
左
- h
-
下
- j
-
上
- k
-
右
- l
-
-
行内移动
-
向后移动一个单词
- w
-
向前移动一个单词
- b
-
行首
- 0
-
行首,第一个不是空白字符的位置
- ^
-
行尾
- $
-
-
行数移动
-
文件顶部
- gg
-
文件末尾
- G
-
移动到 数字 对应行数
- 数字gg
-
移动到 数字 对应行数
- 数字G
-
移动到 数字 对应行数
- :数字
-
-
屏幕移动
-
向上翻页
- Ctrl+b
-
向下翻页
- Ctrl+f
-
屏幕顶部
- H
-
屏幕中间
- M
-
屏幕底部
- L
-
-
段落移动
-
上一段
- {
-
下一段
- }
-
-
括号切换
-
括号匹配及切换
- %
-
-
标记
-
添加标记x,x是az或AZ中任意一个字母
- mx
-
直接定位到标记x所在位置
- x
-
-
-
3.选中文本
-
可视模式
- v
-
可视行模式
- V
-
可视块模式
- Ctrl+v
-
-
4.撤销命令和恢复撤销
-
撤销
- u
-
恢复撤销
- Ctrl+r
-
-
5.删除文本
-
删除光标所在字符或者选中文字
- x
-
删除移动命令对应的内容
- d(移动命令)
-
删除光标所在行,可以ndd删除多行
- dd
-
删除至行尾
- D
-
常用命令
- dw #光标删除到单词末尾
- d0 #光标删除到行起始位置
- d} #光标删除到段落结尾
- ndd #光标向下连续删除n行
- d代码行G #光标所在行删除到指定代码行之间所有代码
- d'a #光标所在行删除到标记a之间所有代码
-
-
6.复制、粘贴
-
复制
- y(移动命令)
-
复制一行,可以nyy复制多行
- yy
-
粘贴
- p
-
提示
- vi 的缓冲区与系统的剪切板不一样
- 编辑模式下使用鼠标右键粘贴
- vi中删除类似与剪切
-
-
7.替换
-
替换当前字符
- r
-
替换当前光标后的字符
- R
-
-
8.缩排和重复执行
-
向右增加缩进
-
向左减少缩进
- <<
-
重复上次命令
- .
-
-
9.查找
-
常规查找
-
命令
- /str
-
说明
-
查找下一个
- n
-
查找上一个
- N
- 子主题 2
-
-
-
单词快速匹配
-
命令
-
向后查找当前光标所在单词
-
-
向前查找当前光标所在单词
#
-
-
-
-
10.查找并替换
-
说明
-
需要在末行模式下执行
-
命令格式
- :%s///g
-
-
(1)全局替换
- :%s/旧文本/新文本/g
- 一次性替换文件中所有旧文本
-
(2)可视区替换
- : s/旧文本/新文本/g
- 先选中要替换文本的范围
-
(3)确认替换
-
把末尾的g改成gc
-
:%s///gc
-
说明
-
y
- 替换
-
n
- 不替换
-
a
- 替换所有
-
q
- 退出替换
-
l
- 最后一个,并把光标移动到行首
-
^E
- 向下滚屏
-
^Y
- 向上滚屏
-
-
-
-
11.插入命令
-
在当前字符插入文本
- i
-
在行首插入文本
- I
-
在当前字符后添加文本
- a
-
在行末添加文本
- A
-
在当前行后边插入一行
- o
-
在当前行前边插入一空行
- O
-
末行命令
-
末行命令扩展
-
打开内置的文件浏览器,浏览当前目录下的文件
- :e .
-
新建文件
- :n 文件名
-
另存为,但是仍然编辑当前文件,不会切换文件
- :w 文件名
-
-
分屏命令
-
横向增加分屏
- :sp [文件名]
-
纵向增加分屏
- :vsp [文件名]
-
-
切换分屏窗口
-
切换到下一个窗口
- w
-
互换窗口
- r
-
关闭当前窗口,但是不能关闭最后一个窗口
- c
-
退出当前窗口,最后一个窗口,则关闭vi
- q
-
关闭替他窗口
- o
-
命令都是基于CTRL+W
-
XMind - Trial Version

浙公网安备 33010602011771号