引用
https://www.runoob.com/linux/linux-vim.html
https://www.bilibili.com/video/av55806628?p=25
一. vim键盘图
二. 三种模式切换
三. 常用操作
操作类型 | 命令 | 作用 |
定位 | h,j,k,l | 表示把光标向左,下,上,右移动 |
:set nu | 设置行号 | |
:set nonu | 取消行号 | |
gg | 光标定位到第一行 | |
G | 光标定位到最后一行 | |
nG :n | 光标定位到第n行 | |
$ | 光标移动到行尾 | |
0 | 关闭移动到行首 | |
删除 | x | 删除光标所在处字符 |
nx | 删除光标所在处后n个字符 | |
dd ndd | 删除光标所在行,ndd删除n行 | |
dG | 删除光标所在行到文件末尾内容 | |
D | 删除光标所在处到行尾内容 | |
:n1,n2d | 删除指定范围的行 | |
复制和剪切 | yy | 复制当前行 |
nyy | 复制当前行以下n行 | |
dd ndd | 剪切当前行 剪切当前行以下n行 | |
p,P | 粘贴当前光标所在行下或行上 | |
替换和取消 | r | 取代光标所在处字符 |
R | 切换到替换replace模式,按Esc结束 | |
u | 取消上一步操作 | |
搜索和搜索替换 | /string | 搜索指定字符串 搜索时忽略大小写:set ic |
n N | 搜索指定字符串的下一个出现位置 搜索指定字符串的上一个出现位置 | |
:%s/old/new/g | 全文替换指定字符串 | |
:n1,n2s/old/new/g | 在一定行范围内替换指定字符串 | |
其他 | r !命令 | 将命令的结构插入到当前光标的位置 |
map 快捷键 触发命令 | 定义快捷键 eg. map ^P I#<ESC> 注: 用ctrl + v + p可写出^P | |
:n1,n2s/^/#/g | 在行首加上# | |
:n1,n2s/^#//g | 去掉行首的# | |
:n1,n2s/^/\/\//g | 在行首加上 // | |
命令替换 | ab mymail test.qq.com |