1.概念
vim 是一款功能强大的文本编辑器,至于它有多强大你用用就知道了,反正大家都这么说的。
2. vim 的工作模式
命令模式
vim + 文件 默认进入命令行模式
编辑模式
在命令行模式输入命令 “i” 进入编辑模式
底行模式
在命令行模式输入命令 “:” 进入底行模式
3.工作模式的切换
快捷键 功能描述 i 在光标当前位置编辑 I 在光标当前行的行首编辑 o 在光标当前行的下一行编辑 O 在光标当前行的上一行编辑 a 在光标当前位置的后一个字符位置编辑 A 在光标当前行的行尾编辑
快捷键 功能描述 Esc 切换到命令模式 ctrl + c 切换到命令模式
底行模式只能由命令行模式切换
4.移动和跳转
快捷键 功能描述 vim + 文件 + 行数(20) 打开文件定位到20行 (n)h 向左移动n个字符,默认为一个字符 (n)l 向右移动n个字符,默认为一个字符 (n)k 向上移动n个字符,默认为一个字符 (n)j 向下移动n个字符,默认为一个字符 gg 移动到第一行 G 移动到最后一行 nG 移动到第n行 n 光标向下移动n行 n 光标向右移动n个字符 (n)w 光标向右移动n个单词,n可选 0 或 ^ 移动到光标所在行的第一个字符 $ 移动到光标所在行的最后一个字符 w 跳转到光标位置下一个单词的的开始 ctrl + f 光标向下移动一页 ctrl + b 光标向上移动一页 ctrl + d 光标向下移动半页 ctrl + u 光标向上移动半页 ctrl + ] 跳转函数 ctrl + t 退出函数 % 匹配并跳转到()、[]、{}的另一半
5.分屏
快捷键 功能描述 :sp + 文件 上下分屏 :vsp + 文件 左右分屏 ctrl + w + v 左右分屏 先按 ctrl + w ,然后按 l 切换到右侧分屏 先按 ctrl + w ,然后按 h 切换到左侧分屏 先按 ctrl + w ,然后按 k 切换到上面的分屏 先按 ctrl + w,然后按 j 切换到下面的分屏 先按 ctrl + w,然后按 w 依次切换分屏
6. 复制与粘贴
快捷键 功能描述 (n)yy 从光标所在行开始向下复制n行,n可选 y(n)G 复制从光标所在行到第n行的数据,没有n则复制到最后一行 y0 复制从光标处到行首的字符 y$ 复制从光标处到行尾的字符 p 粘贴在光标下一行(p小写) P 粘贴在光标上一行(p大写)
7.剪切与删除
快捷键 功能描述 (n)dd 从光标所在行开始向下删除n行,n可选 d(n)G 删除从光标所在行到第n行的数据,没有n则删除到最后一行 d0 删除从光标处到行首的字符 d$ 删除从光标处到行尾的字符 (n)x 剪切光标左边n个字符(x小写),n可选 (n)X 剪切光标右边n个字符(X小写),n可选 (n)s 从光标处向后剪切n个字符,并进入编辑模式,n可选 S 剪切光标所在行并进入编辑模式 cw 从光标处删除一个单词并进入编辑模式 dw 从光标处删除一个单词 ddp 上下两行的位置交换 xp 左右字符交换位置
8.查找与替换
快捷键 功能描述 shift + 8 (*) 选中光标所在的单词,按n向下查找,按N向上查找 shift + 3(#) 选中光标所在的单词,按n向上查找,按N向下查找 /aaa 从光标处向下查找字符aaa ?bbb 从光标处向上查找字符bbb :m,ns/aaa/bbb/g© 从m行到n行,将aaa替换为bbb, c可选表示是否确认替换 :%s/aaa/bbb/g© 全文替换,将aaa替换为bbb,c可选表示是否确认替换 (n)r 从光标所在位置向后替换n个字符,n可选 R 进入替换模式,从光标所在位置向后替换
9.撤销和反撤销
快捷键 功能描述 u 撤销 ctrl + r 反撤销 . 重复上一条命令
10.保存退出
快捷键 功能描述 shift + z z 更改了则保存退出,没更改则直接退出 :w 保存 :w! 强制保存 :q 退出 :q! 强制退出 :qa 退出所有打开文件 :wq 保存退出 :w 11.txt 文件另存为11.txt :r 11.txt 将11.txt的数据写入到打开文件光标的下一行 :1,20 w 11.txt 将打开文件的1到20行数据写入11.txt, 并另存文件
11.选中与显示
选中命令和配合复制、剪切、删除命令使用
快捷键 功能描述 v 选中光标所在单个字符,可通过上下左右控制选中区域字符 V 选中光标所在的行,可通过上下左右控制选中行 ctrl + v 块选中,可通过上下左右控制选中块 shift + 8 (*) 选中光标所在的单词,按n向下查找,按N向上查找 shift + 3(#) 选中光标所在的单词,按n向上查找,按N向下查找 :noh 取消高亮显示 :set nu 显示行号 :set nonu 取消显示行号 :files 显示打开的所有文件
12.加密与解密
快捷键 功能描述 :X 设置密码,输入大写的X,然后输入密码,保存 :set key=[密码] 设置密码,输入密码,保存 :set key= 清除设置密码,密码为空,保存
13.其他命令
快捷键 功能描述 :! [shell命令] 执行shell命令 (n)== 从光标处开始缩进n行 :set encoding=[编码] 内部使用的字符编码方式(缓冲区)、菜单文本、消息文本等 :set fileencoding=[编码] 当前编辑的文件的字符编码方式 :set fileencodings=[编码] 自动探测fileencodings的顺序列表 :set termencoding=[编码] vim的工作的终端的字符编码方式 vimdiff + 文件1 + 文件2 比较文件1和文件2的区别 vimtutor vim说明书 .viminfo vim用户操作记录文件 .vimrc vim配置文件