Vim命令操作

 命令模式

光标定位

home | 0 #定位到行首

end | $ #定位到行尾

gg #定位到文本首行

G #定位到文本尾行

nG #定位到指定的行,n表示数字

复制

yy #复制光标所在的行

nyy #复制n行

粘贴

p #粘贴到所在行的下一行

P #粘贴到上一行

删除

x #删除光标所在字符

nx #删除n个字符,n是数字

dw #删除单词

dd #删除光标所在行

ndd #删除多行

d$ | D #删除光标所在位置至行尾内容

d^ #删除光标所在位置至行首内容

dG #删除光标所在行至文本末

dgg | d1G #删除光标所在行至文本首

撤销

u

反撤销

ctrl+r

可视块模式

可视 #批量选择文本内容,精确到具体文本

进入:v 退出:v

可视行 #以行为单位选择文本内容

进入:V 退出:V

可视块 #以长方形区域块形式选择文本内容

进入:Ctrl+v 退出Ctrl+v

可视化模式下的操作

复制 y

粘贴 p

删除 d

对标记进行动作
>     块右移
<     块左移
y     复制块
d     删除块
~     切换块中内容的大小写

批量添加注释

可视块模式选中àI(大写i)àEscàEsc

自动缩进

可视行选中à =

编辑模式

a #从光标所在位置的右边插入

i #从光标所在位置的左边插入

o #从光标所在行的下面插入新的一行

r #替换光标所在字符

A #从光标所在行的行尾插入

I #从光标所在行的行首插入

O #从光标所在行的上面插入新的一行

R #一直向右替换光标所在字符,esc中断

行尾模式

命令默认敲 :

光标定位 :n

设置

取消高亮 :noh

设置行号 :set nu

取消行号 :set nonu

设置不区分大小写 :set ic

设置自动缩进 :set si

设置tab键缩进长度 :set sw=4

替换

:%s/被替换的关键字/替换的关键字/gci //替换整个文档的关键字

% 所有行

g 一行的全局

c 每一次替换需要确认 替换y 不替换n

i 不区分大小写

:%s/被替换的关键字/替换的关键字/ //替换所有行的第一个关键字

:s/被替换的关键字/替换的关键字/g //替换光标所在行的所有关键字

:s/被替换的关键字/替换的关键字/ //替换光标所在行的第一个关键字

:16,18s/被替换的关键字/替换的关键字/g //替换16至18行的关键字

:30,34s/^#// //去掉30至34行行首的#符号

:1,10s/^/#/ //在1至10行的行首添加#符号

:1,10s/$/#/ //在1至10行的行尾添加#符号

:.,$s/^/#/g //注释当前光标位置到结尾的行

删除

:15,24d //删除15至24行

:.,$d //删除光标所在行至文本的末尾 |dG

:.,+5d //删除光标所在行和之后的5行

:g/#/d //删除所有带#的行

将文本的内容追加到其他文本

:5,10w >> /opt/a.txt //将文本的5至10行保存到/opt/a.txt文件

:.,+5w >> /opt/a.txt //将光标所在行和之后的5行保存到/opt/a.txt文件

读入其他文本内容

:r //读入文本的原始内容 光标所在行的下一行

:r /etc/grub.conf //将/etc/grub.conf文件内容复制到此文本光标所在行的下一行

:nr /etc/grub.conf //将路径文件读到n行的下一行

原文地址:https://www.cnblogs.com/kazihuo/p/8722617.html