vim常用操作

image.png

底线命令模式也叫编辑模式
vi [filename] 进入命令模式

vi的基本操作

移动光标
h,j,k,l 上,下,左,右
ctrl-e 移动页面
ctrl-f 上翻一页
ctrl-b 下翻一页
ctrl-u 上翻半页
ctrl-d 下翻半页
w 跳到下一个字首,按标点或单词分割
W 跳到下一个字首,长跳,如end-of-line被认为是一个字
e 跳到下一个字尾
E 跳到下一个字尾,长跳
b 跳到上一个字
B 跳到上一个字,长跳
0 跳至行首,不管有无缩进,就是跳到第0个字符
^ 跳至行首的第一个字符
$ 跳至行尾
gg 跳至文首
G 调至文尾
5gg/5G 调至第5行
gd 跳至当前光标所在的变量的声明处
fx 在当前行中找x字符,找到了就跳转至
; 重复上一个f命令,而不用重复的输入fx
* 查找光标所在处的单词,向下查找
#查找光标所在处的单词,向上查找

插入命令yizhi
a 在光标所在字符后插入
A 在光标所在行尾插入
i 在光标所在字符前插入
I 在光标所在行行首插入
o 在光标下插入新行
O 在光标上插入新行
Esc 退出插入模式

定位命令
:set nu :设置行号
:set nonu :取消行号
gg:到第一行
G: 到最后一行
nG:到第N行
:n :到第n行
$ :移至行尾
0:移至行首

删除命令
x:删除光标所在的字符
nx:删除光标所在处后n个字符
dd:删除贯标所在的行
ndd:删除光标所在处后n行
dG:删除光标所在行到末尾的内容
D:删除光标所在处到行尾内容
:n1,n2d 删除指定范围的行

复制和剪切
yy:复制当前行
nyy:复制当前行以下的n行
dd:剪切当前行
ndd:剪切当前行以下的n行
p、P:粘贴当前光标所在行下或行上

替换和取消命令
r:取代光标所在处的字符
R:从光标所在处开始替换字符,按esc结束
u:取消上一步操作

搜索和搜索替换
/string 搜索指定字符串,搜索时忽略大小写:set ic
n 搜索指定字符串的下一个位置
:n1,n2s/old/new/g一定范围替换指定字符
:%s/old/new/g 搜索整个文件,将所有的old替换为new
:%s/old/new/gc 搜索整个文件,将所有的old替换为new,每次都要你确认是否替换

保存退出
:w 将缓冲区写入文件,即保存修改
:wq 保存修改并退出
:x 保存修改并退出
:q 退出,如果对缓冲区进行过修改,则会提示
:q! 强制退出,放弃修改
ZZ 保存修改并退出
:w newfilename:另存为指定文件

多文件编辑
vim file1.. 同时打开多个文件
:args 显示当前编辑文件
:next 切换到下个文件
:prev 切换到前个文件
:next! 不保存当前编辑文件并切换到下个文件
:prev! 不保存当前编辑文件并切换到上个文件
:wnext 保存当前编辑文件并切换到下个文件
:wprev 保存当前编辑文件并切换到上个文件
:first 定位首文件
:last 定位尾文件
ctrl+^ 快速在最近打开的两个文件间切换
:split[sp] 把当前文件水平分割
:split file 把当前窗口水平分割, file
:vsplit[vsp] file 把当前窗口垂直分割, file
:new file 同split file
:close 关闭当前窗口
:only 只显示当前窗口, 关闭所有其他的窗口
:all 打开所有的窗口
:vertical all 打开所有的窗口, 垂直打开
:qall 对所有窗口执行:q操作
:qall! 对所有窗口执行:q!操作
:wall 对所有窗口执行:w操作
:wqall 对所有窗口执行:wq操作
ctrl-w h 跳转到左边的窗口
ctrl-w j 跳转到下面的窗口
ctrl-w k 跳转到上面的窗口
ctrl-w l 跳转到右边的窗口
ctrl-w t 跳转到最顶上的窗口
ctrl-w b 跳转到最底下的窗口

你可能感兴趣的:(vim常用操作)