Vim 从放弃到入门 (插入、移动、替换、批量删除等技巧)
Vim从放弃到入门
目录
Vim基本操作:
在进入vim后默认为 normal(普通)模式,这个模式下不可以进行文本的编辑
想要进入insert(插入)模式按 i 可在光标所在之前进行插入,编辑后想退出insert模式按Esc
想完全退出vim,首先要在normal模式下,进入后如果没有进行改动(:q),改动后想保存后退出(:wq),改动后不保存退出(:q!)
学会这几个就可以正常操作vim了
你可能不知道得事:
设置vim行号:
:set nu
跳转到最后一次编辑的地方:
normal模式下 按gi 会移动到你最后一次编辑的地方 并且进入插入模式
语法高亮:
打开语法高亮:
:syntax enable
:syntax on
撤销回退操作:
u撤销上一步操作
Ctrl+r 取消上一次撤销
插入:
a/i/o (append)在光标后插入,i(insert在光标前插入),(open a line below)在当前行下插入
A/I/O 在行尾插入、在行首插入、在当前行上插入
编辑小技巧
在进入插入模式后:
按:Ctrl+h 删除上一个字符
按:Ctrl+w 删除上一个单词
按:Ctrl+u 删除光标所在位置到当前行首
移动:
vim移动记住这些常用命令方便编辑
h(左)j(下)k(上)l(右)
w/W 可以移动到下一个单词
b/B可以移动到上一个单词
0移动到行首,$移动到行尾
可以使用0w移动到行首非空白的地方,或者^
可以使用g_移动到行尾非空白的地方
gg/G移动到文件开头、结尾
H/M/L跳转到屏幕的开头(Head)、中间(Middle)、结尾(Lower)
Ctrl+o 返回上一次所在位置
Ctrl+u 向下翻页(移动一个屏幕的位置)
Ctrl+f 向上翻页(移动一个屏幕的位置)
zz把当前光标所在的行移动到屏幕中央
替换 substitute:
语法:
:[range] s[ubstitute]/{pattern}/{string}/[flags]
range 表示范围:% : 所有行
10,20 : 10行到20行
s:
表示 substitute
pattern:
替换的模式(可以是字符串或正则表达式)
精确匹配\<需要匹配的内容\>
string:
替换后文本
flags:替换标志
g(global):
全局范围内,也就是文件的全部内容
c(confirm):
每次替换前需要我们进行确认
n(number):
报告匹配到的次数,用来查询匹配到的次数
:% s/println/print/g
视图模式(visual):
批量删除
平时编辑文件时可能会删除文件中的很多内容,一个一个字符删除效率慢的很
下面是批量删除:
normal模式下 按v进入视图模式,上下左右 控制选中文件内容
按d删除选中内容
复制
除了批量删除,如果想复制呢?
normal模式下 按v进入视图模式,上下左右 控制选中文件内容
按y复制选中内容
光标移动到要粘贴的地方
按p粘贴内容
方块块选择
在normal模式下按Ctrl+v :






