vim是linux操作系统下的一个文本编辑工具,功能非常强大,但刚学习起来比较复杂。vim的所有功能要讲明白得有几百页,在这里只是记录一下vim的一些基本用法。
首先vim打开文件的三种方式:
vim +# xxx(#是数字):表示打开xxx文件并将光标定位到指定行。
vim -o xx1 xx2 xx3:表示同时打开三个文件,垂直分割显示
vim -O xx1 xx2 xx3:表示同时打开三个文件,水平分割显示
多个文件间跳转:键入ctrl+w后:→向左、←向右、↑向上、↓向下
vim打开文件后分为三种模式:编辑模式、输入模式、末行模式。编辑模式跟输入模式可互转、编辑模式跟末行模式可互转,输入模式跟末行模式不可互转。
下面分别记录一下每个模式的常用用法:
编辑模式:
打开文件后的默认模式,此模式下敲击键盘上的按键表示对文本的编辑、对光标的控制
对文本的编辑:复制、粘贴、删除、修改、替换、撤销、恢复,类似于图形界面下的文本编辑工具中的“编辑”菜单的功能。
复制:y+(y、l、w、(、)、{、})分别表示复制(当前行、字符、单词、上一句、下一句、上一段、下一段)
粘贴:p粘贴到光标下一行或者后一个字符、P粘贴到光标上一行或者前一个字符
删除:d+(d、l、w、(、)、{、})分别表示删除(当前行、字符、单词、上一句、下一句、上一段、下一段)
更改:c+(c、l、w、(、)、{、})分别表示更改(当前行、字符、单词、上一句、下一句、上一段、下一段)
下面借用一个图能更看得更清楚:
x删除光标后一个字符,X删除光标前一个字符
#x删除光标后如干字符,#X删除光标前若干字符(#表示数字)
r替换光标所在处字符,R替换光标所到处字符
u撤销操作、ctrl+r恢复撤销
对光标的控制:
字符间跳转:h左跳、j下跳、k上跳、l右跳(为了便于记忆j、k也记在字符间)
单词间跳转:w下个单词词首、e下个单词词尾、b当前单词或前一个单词的词首
句子间跳转:)下一句、(前一句
行间跳转:#G某行(#表示数字)
行内跳转:#h左跳、#j下跳、#k上跳、#l右跳(#表示数字。为了便于记忆#j、#k也记在行内)、^行首非空字符、0绝对行首、$行尾
段落间跳转:{前一段、}后一段
屏间跳转:ctrl+b上一屏、ctrl+f下一屏、ctrl+u上半屏、ctrl+d下半屏
文件内跳转:1G或gg转文首、M转文中部、G转文尾
文件间跳转(如果vim -o或者vim -O在同一屏打开多个文件的话):ctrl+w后:→向左、←向右、↑向上、↓向下
保存后退出:ZZ
输入模式:
此模式下敲击键盘上的按键表示输入相应的文本字符
在编辑模式下通过键入i、I、a、A、o、O转入输入模式,再键入Esc键退出输入转入编辑模式。
i光标前插入
I光标所在行首插入
a光标后插入
A光标所在行尾输入
o光标下面新起一行并接受输入
O光标上面新起一行并接受输入
末行模式:
编辑模式下输入冒号转入末行模式,键入:
w保存
q退出
!强制
wq!强制保存后退出
x保存退出
qall退出打开的所有文件
first跳到第一个文件
next到下个文件
last到最后一个文件
prev到前一个文件
set nu设置显示行号
set nonu取消显示行号
help查看帮助(依次键入Esc、冒号、q退出帮助)
/xxx向下查找xxx,n下一个匹配、N上一个匹配
?xxx向上查找xxx,n下一个匹配、N上一个匹配
两个Esc键退出末行模式重返编辑模式