Linux vim命令
介绍
vim命令和vi的操作基本一致,vim命令的参数很多,我在这里列出了一些平时需要用的一些参数,vim主要有两个界面一个是esc的操作界面还有一个是输入i的编辑界面。
移动光标
0 (零):将光标移动到行的起始处。
$:将光标移动到行的末尾处。
H:将光标移到当前窗口(而非全文)的第一行起始处。
M:将光标移到当前窗口的居中一行起始处。
L:将光标移到当前窗口的最后一行起始处。
gg:将光标移动到文档的开始处
G:将光标移动到文档的末尾
<数字>G:将光标移动到指定的数字行的起始处。
<数字>-:将光标移动到当前光标减去指定数字的光标行开始处
<数字>+:将光标移动到当前光标加上指定数字的光标行开始处
删除与恢复
删除命令:
x(小写):删除光标所在处字符。
dd:删除光标所在的行。
D:删除从光标所在之处开始直到该行末尾的全部字符。
<数字>dd:删除从光标当前行开始指定的数字行
恢复(Undo)命令:
u:恢复刚被删除的文本。
U:恢复光标所在行在此次编辑中的全部改变。
复制粘贴
yy:复制光标所在行
<数字> yy:复制从光标开始指定数字的行
p:粘贴复制的内容到光标的所在行的下一行
查找字符
/<字符串>:从光标所在处开始往后查找第一个符合的字符串
?<字符串>:从光标所在处开始往前查找第一个符合的字符串
n:查找下一个
N:查找上一个
替换字符串
:s/old/new/ 替换当前行第一个 old 为 new
:s/old/new/g 替换当前行所有 old 为 new
:n,$s/old/new/ 替换第 n 行开始到最后一行中每一行的第一个 old 为 new
:n,$s/old/new/g 替换第 n 行开始到最后一行中每一行所有 old 为 new
n 为数字,若 n 为"."表示从当前行开始到最后一行
:%s/old/new/(等同于 :g/old/s//new/) 替换每一行的第一个 old 为 new
:%s/old/new/g(等同于 :g/old/s//new/g) 替换每一行中所有 old 为 new
保存与退出
:q:退出vi。
:q!:舍弃当前对编辑内容所作的修改,强行退出vi。
:w [<文件名称>]:将正在编辑的内容以<文件名称>为名存盘(相当于Save as...),如果没有指定<文件名称>,则使用原有的文件名称(相当于Save...)。
:wq:存盘退出。
其它的一些参数命令
显示行号:set nu
取消显示行号:set nonu
总结
vim是个强大的文本编辑工具,还有很多其它的用法,后面再慢慢完善。
备注: 作者:pursuer.chen 博客:http://www.cnblogs.com/chenmh 本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。 《欢迎交流讨论》 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端