Vim文本编辑器操作指南

vim文本编辑器操作指南

vim的三大主要模式:
  • 正常模式(菜单模式):进入vim后的默认模式,可以阅读、修改代码,有很多快捷键
  • 插入模式(编辑模式):主要用来编写代码
  • 命令模式(行底模式):对vim进行设置、执行命令
三种模式的切换:
  • 正常模式 输入i、a -> 插入模式
    插入模式 ESC或Ctrl+c -> 正常模式
  • 正常模式 输入: -> 行底模式
    行底模式 ESC或Ctrl+c -> 正常模式
  • 注意:插入模式与行底模式不能直接转换必须经过正常模式中转
正常模式的操作:
进入插入模式:
命令功能
i在当前光标前面进入插入模式
a在当前光标后面进入插入模式
I(Shift+i)光标跳转到行首进入插入模式
A(Shift+a)光标跳转到行尾进入插入模式
o在当前光标下一行插入一个空白行,然后进入插入模式
O(Shift+o)在当前光标上一行插入一个空白行,然后进入插入模式
s删除光标当前位置的一个字符,并进入插入模式
S(Shift+s)删除光标当前行的所有内容,并进入插入模式
删除代码:
命令功能(d:delete(删除)、p:place(放置)、w:word(单词))
x删除光标位置的字符(仅一个字符)
X(Shift+x)删除光标位置的前一个字符(仅一个字符)
dw删除一个单词,包括空格(使用时将光标置于起始位置)
de删除一个单词,不包括空格(使用时将光标置于起始位置)
d$/D(Shift+d)删除当前光标当前位置直到行末
dd删除一行
ndd删除n行
dgg删除光标当前行及以上内容
dG/d+Shift(g)删除光标当前行及以下内容
dH/d+Shift(h)删除当前页面第1行至光标行
p将最后一次删除的内容(可以是字符、单词、一段内容、甚至几行)置于光标后
xp可以快速颠倒两个字符的位置
提示删除的代码还存在于缓冲区中,可以跨终端跨文件操作
复制代码:
命令功能(y:copy(拷贝))
yw复制一个单词,包括空格(使用时将光标置于起始位置)
ye复制一个单词,不包括空格(使用时将光标置于起始位置)
y$复制当前光标从当前位置直到行末全部内容
yy/Y(Shift+y)复制一行
nyy复制n行
p将最后一次复制的内容(可以是单词、一段内容、甚至几行)置于光标后
提示删除的代码还存在于缓冲区中,可以跨终端跨文件操作
修改代码:
命令功能(r:replace(替换)、c:change(修改))
r替换光标所在位置的字符,替换后(只一次)返回正常模式
R(Shift+r)进入替换模式(覆盖效果),替换光标所在位置字符,ESC或Ctrl+c -> 正常模式
cw修改一个单词,从光标位置进入插入模式
c$/C(Shift+c)删除光标位置到行末的全部内容,并进入插入模式
cc清空当前行,并从行首位置进入插入模式(光标可在当前行的任意位置执行本命令)
撤消:
命令功能(u:undo(撤销)、r:reverse(逆转))
u撤消一次操作
U(Shift+u)恢复光标行到原始状态(可以撤销多次操作)
Ctrl+r撤消撤消操作,反撤消(一次操作)
定位:
命令功能
Home键将光标跳转到行首,并且可以按行首快速移动光标(适用于正常模式和插入模式)
End键将光标跳转到行尾,并且可以按行尾快速移动光标(适用于正常模式和插入模式)
0/^/(Shift+6)将光标跳转到行首,并且可以按行首快速移动光标(只适用于正常模式)
$/(Shift+4)将光标跳转到行尾,并且可以按行尾快速移动光标(只适用于正常模式)
H(Shift+h)光标跳转到当前页面的首行
gg光标跳转到文件首行
G(Shift+g)光标跳转到文件末行
行号+G(Shift+g)光标跳转到指定行(输入行号时,不会在屏幕上显示行号)
Ctrl+g显示当前文件中当前光标所在行位置以及文件状态信息
查找:
命令功能
/key查找关键字key(降序查找)
?key查找关键字key(升序查找)
n查找模式下:查找下一次出现的关键字
N(Shift+n)查找模式下:反向查找下一次出现的关键字
提示:如果查找已经到达文件末尾,查找会自动从文件头部继续查找。
%可以查找配对的括号:)、]、}
插入模式的操作:
  • tab/Ctrl+i 自动缩进4个字符(字符数可配置)
  • Ctrl+p/n 自动补齐
  • Ctrl+c 返回正常模式
  • Ctrl+z 保存退出
命令模式的操作:
格式处理:
命令功能
:#光标回到第#行
:$光标跳转到文件最后一行
:>n从光标当前行开始,n行代码向右缩进
:<n从光标当前行开始,n行代码向左缩进
:set nonu显示行号
:set nu显示行号
注意:set开头命令都是对vim进行一些设置,在行底的设置都只是临时有效
~/.vimrc如果想持续有效需要把命令写入配置文件
匹配替换:
命令功能
:s/old/new替换光标当前的第一个匹配串
:s/old/new/g替换光标当前行整行的匹配串
:#,#s/old/new/g替换第#行至第#行内所有的匹配串(#:行号)
:%s/old/new/g替换文件内所有的匹配串
:%s/old/new/gc进行全文替换询问用户确定每个替换(c=confirm(确认))
退出保存:
命令功能
:q退出(有修改不能退出)
:q!强制退出(不保存修改)
:wq写入并退出
:wq!强制写入并退出
文件操作:
命令功能
:!command用于执行一个外部命令(ls:显示当前目录内容、rm:删除文件 …)
:w FILENAME可将当前文件保存到名为FILENAME的文件中
:#,# w FILENAME可将当前文件第 # 行至第 # 行的內容保存到文件FILENAME
:r FILENAME可提取磁盘文件FILENAME并将其插入到当前文件的光标位置后面
注意:命令模式下所有命令都需以Enter(回车键)结尾

如果觉得不错,欢迎关注点赞收藏
哪里有不对或可以补充的地方欢迎评论
另外还有一篇博客是介绍Linux系统命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值