
其他编辑器:nano/emnas
介绍
vim是一个类似于vi的文本编辑器
三种模式
- 命令模式:控制光标移动,可对文本进行复制/粘贴等操作
- 输入模式:正常的文本录入 INSERT
- 末行模式:保存、退出文档,以及可以设置编辑变量
安装
yum install vim -y
模式转换
| 命令模式 —> 输入模式 |
i a o 等键 |
| 输入模式 —> 命令模式 |
esc键 |
| 命令模式 —> 末行模式 |
: 键 |
| 末行模式—>命令模式 |
esc键 |
i a o 的区别
| a |
在光标的后面输入 |
| i |
在光标的前面输入 |
| o |
在光标的下一行输入 |
| A |
在行尾输入 |
| I |
在行首输入 |
| O |
在光标的上一行输入 |
光标跳转
#command : 表示跳转#个字符/行
单词跳转
| w |
下一个单词的词首 |
| b |
当前单词的词首 |
| e |
当前单词的词尾 |
行首行尾跳转
行间跳转
ps:在末行模式可以显示行号
| #G(同时按下) |
跳转第#行 |
| 1G |
跳转到第1行 |
| gg |
跳转到第一行 |
| G |
跳转到最后一行 |
句间/段落间跳转:
字符编辑:
| x |
删除光标所在位置的字符 |
| #x |
删除光标处起始的第#个字符 |
替换编辑
删除命令
| d |
删除,配合光标跳转 |
| d^ |
删除光标处到行首的字符 |
| d0 |
删除光标所在位置的字符到行首 |
| d$ |
删除光标所在位置到字符到行尾 |
| dw |
删除光标所在位置到下一词词首 |
| de |
删除光标所在位置到当前单词词首 |
| db |
删除光标所在位置到当前单词词尾 |
| dd |
删除光标坐在行 |
| #dd |
删除#行 |
1.首先在命令模式下,输入“:set nu”显示行号; 2.通过行号确定你要删除的行; 3.命令输入“:32,65d”,回车键,32-65行就被删除了,很快捷吧 如果无意中删除错了,可以使用‘u’键恢复(命令模式下) |
多行删除 |
粘贴命令
搜索操作
| / |
向下搜索 |
| ? |
向上搜索 |
| n |
查找下一个匹配 |
| N |
查找上一个匹配 |
保存退出
| q |
退出 |
| q! |
强制退出,丢弃做出的修改 |
| w |
保存退出 |
| x |
保存退出 |
| ZZ |
保存退出(在命令模式下) |
| w /path/to/somewhere |
另存为某个文件 |
地址定界
| N |
第N行 |
| N,M |
第N行到第M行 |
| N,+M |
第N行到第N+M行 |
| . |
当前行 |
| $ |
最后一行 |
| % |
全文 |
| /part1/,/part2/ |
被part1匹配到被part2匹配 |
使用方式:后面加一个编辑命令
使用方式: 后面去跟一个编辑命令 举例: 1. :1,2d 删除1到2行 2. :4y 复制第4行 3. :%d 删除全文
查看并替换
- 地址界定s/查找内容/替换内容/修饰符
- 修饰符:
- s/xfs/swap:替换了第一个匹配的内容
- %s/xfs/swap/:替换了整行 全文替换(替换每一行第一次匹配到的内容
- %s/xfs/swap/g:全文替换
多文件模式
- 在终端里输入 vim file1,file2,file3……
| next |
下一个文件 |
| prev |
上一个文件 |
| last |
最后一个文件 |
| first |
第一个文件 |
| +! |
强制去…… |
| wqall |
保存所有并退出 |
| Ctrl+6 |
两文件间切换 |
| :bn |
下一个文件 |
| :bp |
上一个文件 |
| :ls |
列出打开的文件,带编号 |
| :b1~n |
切换至第个文件 |
窗口分割
| -o |
水平分割 |
| -O |
垂直分割 |
| :sp |
水平切分窗口 |
| :vsplit |
垂直切分窗口 |
[root@localhost ~]# touch 1.txt[root@localhost ~]# touch 2.txt[root@localhost ~]# vim -o 1.txt 2.txt2 files to edit~ ~ ~ ~ ~ ~ ~ ~ ~ 1.txt 0,0-1 All~ ~ ~ ~ ~ ~ ~ ~ ~ 2.txt 0,0-1 All"2.txt" 0L, 0C
窗口跳转
- CTRL_w+l:向右边窗口
- CTRL_w+j:向下边窗口
- CTRL_w+k:向上边窗口
- CTRL_w+t:向顶上窗口
CTRL_w+b:向底下窗口
定制vim
配置文件:永久生效
全局:/etc/vimrc
- 个人:~/.vimrc
行末:当前vim进程有效
行号:
显示:set number
取消显示:set nonu
括号匹配
匹配: set showmatch
取消:set unshowmatch
自动缩进
启用:set ai
取消:set noai
高亮搜索
启动:set hlsearch
取消:set nohlsearch
语法高亮
启动:syntax on
取消:syntac off
忽略大小写
启动:set ic
取消:set noic
获取帮助
help