linux-vi、vim基本操作-常见指令

vi和vim编辑器

参考:第4章 Vim编辑器与Shell命令脚本(这本书是免费的在线书,写的超级好,通俗易懂👍)

vivim 类似于windows的文本编辑器

所有的Linux系统都内置有vi文本编辑器

vim可以看做是 vi 增强版,具有程序编辑能力,支持语法高亮,代码补全,编译错误跳转等功能,因此被广泛使用

如果Linux中没有vim这个命令,可以手动下载:

yum install vim

vi

vim

vi 和 vim 的三种常见模式

正常模式

正常模式下,我们可以使用快捷键对文本进行操作,比如:复制 yy 粘贴 p

以vim打开文档,直接进入的就是一般模式,这个模式下,我们可以使用键盘上的 ↑ ↓ ← → 来移动光标,delete 删除末尾字符,等等(具体的快捷键后面会说)

插入模式

在插入模式下,程序员可以输入内容

按下 i,o,a,r,I,O,A,R 中任意一个键,会进入插入模式(a 用的比较多)

命令 作用
a 当前光标位置后 进入输入模式
A 当前光标所在行末尾 进入输入模式
i 当前光标位置前 进入输入模式
I 当前光标所在行开头 进入输入模式
o 当前光标所在行下方新建一行 并进入输入模式
O 当前光标所在行上方新建一行 并进入输入模式
r 替换 当前光标所在位置 上的字母为(你按下的下一个按键)仍为命令行模式
R 当前光标所在位置 开始进入替换模式,会一个一个地覆盖光标后方的内容(按着 insert 的那种替换效果)按 ESC 退出此状态

命令行模式

这个模式下,程序员可以输入相关指令,来完成比如:保存、离开、显示行号等功能(具体指令后面会说)

例子:
使用vim编写一个hello world程序

三种模式间的切换

常用快捷键案例(正常模式下)

命令 作用
dd 删除(剪切)光标所在整行
5dd 删除(剪切)从光标处开始的5行
yy 复制光标所在整行
5yy 复制从光标处开始的5行
gg 光标移至首行
5gg 移动到第5行
G 光标移至最后一行
u 撤销上一步的操作
n 显示搜索命令定位到的下一个字符串
N 显示搜索命令定位到的上一个字符串
p 将之前删除(dd)或复制(yy)过的数据粘贴到光标后面

常用命令

命令 作用
:w 保存
:q 退出
:q! 强制退出(放弃对文档的修改内容)
:wq! 强制保存退出
:set nu 显示行号
:set nonu 不显示行号
:命令 执行该命令
:整数 跳转到该行
😒/one/two 将当前光标所在行的第一个one替换成two
😒/one/two/g 将当前光标所在行的所有one替换成two
:%s/one/two/g 将全文中的所有one替换成two
?字符串 在文本中从下至上搜索该字符串
/字符串 在文本中从上至下搜索该字符串
练习:
1.编写hello world程序
2.各种快捷键试一试
posted @   suwanbin  阅读(369)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示