vi编辑器是一个模式化的编辑器 而且功能异常强大 体积短小精悍

而我们现在经常使用的vim 是vi的增强版

vim 使用格式

vim [options] [/path/to/somefile]

这里的路径也可以先省略不写 等写入内容后在保存其路径 比如windows先打开

个记事本 然后再去保存其路径

vim 三种模式

默认模式 命令模式 编辑模式 可对文件进行删除 复制 粘贴等操作

输入模式 对文本文件进行修改 输入 又叫做插入模式

末行模式 可以执行保存 查找 替换 退出等命令

vim 模式间转换

编辑模式 --> 输入模式

i insert 实现在当前光标所在处字符前转换为输入模式

a append 实现在当前光标所在处字符后转换为输入模式

o 实现当前光标在行下方新建一个空白航转换为输入模式

I 实现当前光标所在行行首转换为输入模式

A 实现当前光标所在行行尾转换为输入模式

O 实现当前光标所在行上方新建一个空白行转换为输入模式

输入模式 --> 编辑模式

按一下esc 键

编辑模式 --> 末行模式

输入冒号 :

末行模式 -- > 编辑模式

按俩下esc 键

输入模式 -- > 末行模式

无法这样实现 只能先转换为编辑模式 然后在转换末行模式

vim 光标跳转

  1. 字符间跳转

h: 向左跳转一个字符

l: 向右条状一个字符                                 ↑k

j: 向下跳转一个字符                        h←          →l

k: 向上跳转一个字符                                ↓j

2. 单词间跳转

w : 跳至后一个单词词首

e : 跳至当前或下一个单词词尾

b: 跳至当前或前一个单词词首

3. 句间跳转

): 跳至下一句

( : 跳至上一句

4. 段落间跳转

} : 跳至下一段

{ : 跳至上一段

5. 行间跳转

1G , gg 跳至文件首行

G 跳至文件最后一行

#G 跳转#行

6. 行内跳转

^ : 跳至行首

$ : 跳至行尾

0 : 零跳至绝对行首

关闭文件

1. 在末行模式下

w 保存
q 退出
强制
wq 保存并退出
w! 强制保存
q! 强制退出
x 保存退出

2. 在编辑模式下

ZZ 保存退出
wall 保存所有文本
qall 退出所有文本

打开文件

vim [options] /path/to/somefile

1. 打开文件让光标快速定位在#行行首

vim +# /path/to/somefile

2. 打开多个文件

vim [options] file1 file2 file3

输入:字符 在末行模式下
next 切换到下一个
last 切换到最后一个
first 切换到第一个
prev 切换到前一个

3. 打开多个文件并分屏显示

vim -[o|O] file1 file2 file3

-o 垂直分割窗口

-O 水平分割窗口

Ctrl+w+(↑↓):在多个文件间跳转

编辑文本操作

1. x 命令

x 向后删除一个字符
X 向前删除一个字符
#x 删除x个字符

2. 删除命令 d命令

dw 删除当前光标到最后一个单词
db 删除光标所在处到词首或者前一个单词词首
de 删除光标所在处到词尾
d^ 删除光标所在处到行首
d$ 删除光标所在行到行尾
dd 删除光标所在行
#dd 删除当前光标向下的#行

3. 末行模式 d命令的使用

末行模式可以使用地址定界

起始地址,结束地址 加d命令可删除
$ 最后一行
. 当前光标所在行
% 全文
1,7d 删除第一行到第七行
1,$ 第一行到最后一行
1,+6 第一行到第六行
1,$-2 第一行到倒数第三行
.,+3 当前光标所在行和下面的三行

4. 编辑,转换至输入模式

cc 删除当前光标所在行并转换至输入模式
#cc 删除当前光标所在行向下#行并转换至输入模式
c^ 删除当前光标所在处到行首转换至输入模式
c$ 删除当前光标所在处到行尾转换至输入模式

5. 复制 y ,yank

yy 复制当前光标所在行
y^ 复制光标所在处到行首
y$ 复制光标所在行到行尾
#yy 复制当前光标所在行向下#行

6. 粘贴 p命令

用d命令删除的字符可用p命令粘贴

如果删除的是整行

p(小写p):在当前光标所在行的下方粘贴

P (大写p) : 在当前光标所在行的上方粘贴

如果删除的不是整行

p(小写p): 在当前光标所在行字符后粘贴

p (大写p):在当前光标所在行字符前粘贴

7. 撤销操作

u 撤销
ctrl+r 撤销此前的撤销

vim默认会保留最近50次的操作,u命令可逐一撤销此前的编辑操作

8. 文本搜索

/keyword 从当前光标处所在处向文件尾部查找
?keyword 从当前光标所在处向文件首部查找
n 下一个 跟查找命令相同的方向
N 前一个 跟查找命令相反的方向

支持模式 (支持正则表达式)

/\:精确匹配以d开头,后跟两个任意字符,并且以n结尾的字符串

9. 可视化模式 visual

v 选中光标划过的字符 字符选取
V 选中光标划过的行 整行选取
Esc 按Esc即可以返回到编辑模式

10. 翻屏操作

ctrl+f 向文件尾部翻一屏
ctrl+b 向文件首部翻一屏
ctrl+d 向文件尾部翻半屏
ctrl+u 向文件首部翻半屏

11. 文件分屏显示

水平分割: Ctrl+w, s , 按着ctrl+w松开按住s即可实现水平分割

垂直分割: Ctrl+w, v , 按着ctrl+w松开按住v即可实现水平分割

翻转屏幕: Ctrl+w 箭头 , 按着ctrl+w松开按住箭头即可实现屏幕翻转

窗属性定义

该定义只对当前vim有效 并都在末行模式下输入

显示行号 setnumbser , set nu
关闭显示 setnonumber ,set nonu
自动缩进 set autoindent, set ai
关闭自动缩进 set noai
不区分字符大小写 set ignorecase ,set ic
关闭不区分字符大小写 set noic
获取帮组 set
显示匹配的括号 set showmatch ,set sm
关闭显示匹配的括号 set nosm
关闭语法着色 syntax off
开启语法着色 syntax on
开启搜索结果高亮显示 set hlsearch
关闭搜索结果高亮显示 set nohlsearch

以上设置关闭在打开就会按原来的设置显示 想修改长期有效配置编辑配置文件

vim配置文件

全局 /etc/vimrc

个人 ~/.vimrc 文件不存在可以自己创建

修改时直接将set command(命令)放在配置文件中即可