vi 编辑器
工作模式
命令行模式
文本输入模式
- i 文本插入模式
- a 附加命令
- o 打开命令
- c 修改命令
- r 取消命令
- s 替换命令
末行模式
模式切换
其他模式
-》 文本输入模式
按 i或a
其他模式
-》 命令行模式
按 Esc
其他模式
-》 末行模式
按 :
打开文件
- vi +n 文件名 进入后光标跳转某行
- vi + 文件名 进入后光标跳转最后一行
- vi +/模式字符串 文件名 跳转到指定的字符串位置
显示行号
- :set number 设置行号
- :set nonumber 取消行号
修改文件
文本内容删除
- x 删除光标处的字符
- X 删除光标前面的字符
- dd 删除贯标所在的整行
- D 删除从光标所在处开始到行位的内容
- dw 删除一个单词
文本内容复制
撤销
退出
- q 退出,如有修改,不直接退出,等待用户确认
- q! 强制退出
- w 保存不会退出 w 新文件名 ; 相当于另存为
- w! 强制保存
- wq 保存退出
- x 退出
文本缩进
>n
右移 8个空格 n表示当前行及后n行
- <n 左移 8个空格 n表示当前行及后n行
- n>> n<< 同理 不过>> 不过n表示当前行及以后行和
光标移动
- 左移 h
- 右移 l
- 上移 k
- 下移 j
- 当前屏的最顶一行 H
- 当前屏的中间一行 M
- 当前屏的底部一行 L
- 指定某行行首 nG
跨行移动
滚屏和分页
- ctrl + u :向前翻滚半屏
- ctrl + d :向后翻滚半屏
- ctrl + f :向文件尾翻滚整屏
- ctrl + b :向文件首翻滚整屏
字符串查找
- /string 向后查找
- ?string 向前查找
- n 重复上一条检索命令
- N 重复上一条检索命令,但改变方向
替换命令
- [range]s/s1/s2/[option]
- range: 检索范围 1,10; %整个文件,1,$ 整个文件; .,$ 当前行到文件尾
- s1 替换命令
- s2 要被替换的串,s2 位替换后的串
- option:/g 表示全局文件中进行替换 /c 表每次替换都进行确认
linux下vi编辑器常用操作命令
原文:https://www.cnblogs.com/pengsn/p/13279759.html