vim 编辑器笔记
vim 编辑器
命令模式(默认),尾行模式 : / 两种方式 (Esc比较慢,连续连词esc,删除全部尾行内容),编辑模式 a,i,o,s
:q 退出编辑不保存
:wq 保存编辑并退出
:w 保存并写入内容
:q! 强制退出,不保存修改
:wq! 强制保存并退出,(有的文档没有权限操作,就可以强制执行)
:w [filename] 将文件另存一个名字filename
:r [filename] 将filename文件内容添加到游标所在行后面
:n1,n2 w [filename] 将n1行到n2行的文档,另存为filename文件
:set number 或者 set nu 给编辑器每行设置行号
:set nonumber 或者 set nonu 不显示行号
:/内容/ 进行内容查找(小写n查找下一个,大写N查找上一个)
/内容/ 这种方法也可以使用小写n查找下一个,大小N查找上一个
?word 向游标之上寻找一个为word的字符
n 重复前一次搜索的动作
N 与前一次搜索方向相反搜索
:s/被替换/替换 替换当前行被匹配的第一个内容
:s/被替换/替换/g 替换“当前行所有被匹配”的内容
:%s/被替换/替换/g 替换整个文档匹配出来的内容
:数字 光标定位
命令模式:
单词级
e 本单词或下个单词的结尾字符处
b 本单词或上个单词的开始字符处
w 下个单词开始字符处
行级
$/功能end 行尾
0/功能键Home 行首
段落级
} 本段落或下个段落的尾部
{ 本段落或上个段落的首部
屏幕级(本屏)
L 屏幕尾部
H 屏幕首部
文档级
G 文档尾部
1G 或gg 文档首部
nG 文档第n行
移动游标:
多次移动行数,例如向下移动30行,30j 或 30 ↓的组合
ctrl + f 荧幕向下移动一页,相当于page down
ctrl + b 荧幕向上移动一页,相当于page up
ctrl + d 荧幕向下移动半页
ctrl + u 荧幕向上移动半页
n<space> 那个n表示数字,例如20,按下后再按空白键,游标会向右移动这一行的n个字符
n<Enter> n为数字,游标向下移动n行
H 游标移动到这个屏幕最上方那一行的第一个字符
M 游标移动到这个屏幕中央那一行的第一个字符
L 游标移动到这个屏幕最下方那一行的第一个字符
:n1,n2s/word1/word2/g n1,n2 为数字,n1与n2行之间寻找word1字符,并用word2 替换该值
:1,$s/word1/word2/g 从第一行到最后一行寻找word1,并用word2 替换该值
:1,$s/word1/word2/gc 在替换时,给使用者确认,是否需要取代(个人觉得很实用)
删除、复制、粘贴操作
x,X 小写x,向后删除一个字符(包括当前字符),大写X,向前删除一个字符(不包括当前字符)
nx n为数字,连续向后删除n个字符,也可以和大写X一起使用
dd 删除当前行
n+dd 从当前行开始往下删除n行(包括当前行)
d1G 删除游标所在第一行的所有资料
dG 删除游标所在最后一行的所有资料
d$ 删除游标所在处到该行的最后一个字符
d0 删除游标所在处,到该行最前面的一个字符
复制
yy 复制当前行
nyy 从当前行开始往下复制n行
y1G 复制文档首行
yG 复制当前行
y0 复制当前字符到该行行首的所有内容,不包含当前字符
y$ 复制当前字符到该行行尾的所有内容,包含当前字符
p,P 小写p,粘贴到当前行的下一行,大写P,粘贴到当前行的上一行
J 大写J,将当前行与下一行合并为一行
c 重复删除多个资料,例如向下删除10行 10cj,加上当前行是11行,删除后,进入编辑模式
u 复原上一个动作
ctrl+r(.) 重做上一个动作,使用小数点. 操作即可
ZZ 这是大写Z,若没有修改,不保存离开,若修改,则保存离开(应该很爽啊)
区块选择
v 字符选择,会将游标经过的地方选择上
V 行选择,和上面相同
ctrl+v 块区选择,可以用长方形的方式选择文档
y 将选择的区域复制起来
d 将选择的区域删除
多文档编辑
:n 编辑下一个文档
:N 编辑上一个文档
:files 列出目前这个vim开放的所有文档
:sp 水品分隔视窗(也可打开一个新文件)
:vs 垂直分隔视窗(也可打开一个新文件)
ctrl+w+(上下左右) 切换视窗,也可使用ctrl+ww
ctrl+w+q 结束离开
进入编辑模式:
i,I 游标所在处插入,在当前游标前面,I在目标所在行第一个非空字符开始插入
a,A a为目标游标的下一个字符开始插入,A为游标所在行最后一个字符处开始插入(当前行尾插入)
o,O o为目标所在行的下一行处插入新的一行,大写O为在目标所在行的上一行插入新的一行
s,S s删除当前游标所在字符,进入编辑模式,大写S,删除当前行,进入编辑模式
r,R r替换当前游标所在的字符,R会一直替换游标所在的文字,直到按下Esc(简称替换)
. 点,重复上一次命令
如果您看了本篇博客,觉得对您有所收获,请点击右下角的 [推荐]
如果您想转载本博客,请注明出处
如果您对本文有意见或者建议,欢迎留言
感谢您的阅读,请关注我的后续博客