Linux--vi/vim
vi 文本编辑器 (vim vi的增强版本)
打开文件
vim [option] … file...
+# 打开文件后,让光标处于第#行的行首 +/PATTERN 打开文件后,光标处于第一个被parrent匹配到的行首 -b file 二进制方式打开文件 -d file1 file2 对比多个文件 -m file 只读打开文件 -e 直接进入ex 模式
如果文件不存在,当编辑后第一次存盘时创建它
vim的模式
按键行为是依赖于vim的模式
esc 键 退出当前模式
模式转换
- 命令模式 —> 插入模式
- 插入模式 —> 命令模式
- esc
- 命令模式—> 末行模式
- :
- 扩展命令模式—>命令模式
- esc enter
- esc esc
关闭文件
扩展命令模式
命令模式光标跳转
- 字符键跳转
- h 左
- l 右
- j 下
- k 上
- # command 跳转#个字数的字符
- 单词间跳转
- 当前页跳转
- H 页首
- M 中间
- L 页底
- zt 将光标所在行移动到屏幕顶端
- zz 将光标所在行移动到屏幕中间
- zb 将光标所在行移动到屏幕底端
- 行首行尾跳转
- 行间移动
- #G 扩展命令模式下:#跳转至第#行
- G 最后一行
- 1G gg 第一行
- 句间移动:(.空格为一句)
- ):下一句
- (: 上一句
- 段落间移动(空行)
- } 下一段
- { 上一段
- 翻屏操作
命令模式操作
- 字符编辑
- 替换
- r 替换光标所在处的字符
- R 切换成替换模式
- 删除
- 复制
- y 复制,可以结合光标跳转字符
- y$
- y0
- y^
- ye
- yw
- yb
- #command
- yy 复制行
- #yy 复制多行
- Y 复制整行
- 粘贴
- p 如果是整行,则粘贴当前行所在行的下方,否则,则粘贴在当前光标所在行的后面
- P如果是整行,则粘贴当前行所在行的上方,否则,则粘贴在当前光标所在行的前面
- 改变命令
- 10ialex [esc] 粘贴10次alex
- 查找
- 撤销更改
扩展命令模式
地址定界
:start,end
# 具体第#行
#,# 从左侧#表示起始行,到右侧#表示结尾行
#,+# 从左侧#表示的起始行,加上右侧#表示的行数 :2,+3 表示2到5行
. 当前行
$ 最后一行
$-# 倒数第#+1行
.,$-1相当于当前行到倒数第二行
% 全文
/pat1/,/pat2/ 从第一个被pat1匹配到的行开始,一直到第一次被pat2匹配到的行开始
#,/pat/
/pat/,$
使用方式 后跟一个编辑命令
查找并替换
可视化模式
多文件操作
vim file1 file2 file3
使用多个窗口
- 多文件分割
- vim -o|-O file1 file2
- -o 水平分割
- -O 垂直分割
- 切换 ctrl+w
- 单文件分割
- ctrl-w,s 水平分割
- ctrl-w,v 垂直分割
- ctrl-w,q 取消相邻窗口
- ctrl-w,o 取消全部窗口
- :wqall
定制vim的工作特性
- 配置文件:永久生效
- 全局:/etc/vimrc
- 个人:~/.vimrc
- 扩展模式:当前vim进程有效
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。