linux 命令行编辑文本工具 vi/vim的三种模式

简单来说,vi/vim编辑器有普通模式、编辑模式、命令模式三种模式,每种模式都有不同的用途和操作特点。
其实很简单。
普通模式是默认模式。
启动编辑器后直接输入即可。
您可以使用方向键移动光标,进行删除、复制等操作,但不能直接编辑文件内容。

我们先来说说最重要的事情。
在普通模式下,您可以通过按 i、o、a、r(不区分大小写)进入编辑模式。
此时屏幕左下角会显示INSERT或REPLACE,让您自由编辑文件内容。
比如我去年跑的一个项目就是用这种模式完成的。
它可以处理大约3 000个级别的数据,并且编辑起来非常方便。

另一点是输入:/?进入命令模式。
当您在正常模式下按任意字符时,光标会跳到屏幕的底行。
在这里可以进行搜索信息、文件操作等,例如输入/关键字搜索内容,:w保存文件,:q不保存退出,:x保存并退出。
还有一个更重要的细节。
您不能直接在编辑模式和命令模式之间切换。
在进入任何其他模式之前,您必须先返回正常模式(按 Esc 键)。

一开始我以为可以直接在编辑模式和命令模式之间切换,但后来发现我错了,需要先退出当前模式。
等等,还有一件事。
退出 vi/vim 的常见操作包括 :q 退出而不保存更改、:x 或 :wq 保存并退出以及 :q!强行关闭而不保存。
很多人都没有注意到这一点,但这其实是一个相当大的陷阱。

我认为习惯这些模式是值得的。
这些模式使您的编辑体验更加高效。

linux vim三种模式如何切换

Vim的命令模式用于执行命令,例如进入输入模式;输入模式用于编辑文本,可以按字符键、方向键等;底线命令模式用于复杂的操作,如:wq保存并退出,但退出必须按ESC。
这是一个危险。
不要直接使用复杂的命令。
首先熟悉基本的模式转换。

linuxvi退出编辑模式linuxvi退出编辑

直接按“ESC”键进入命令模式,然后输入“:q!”退出 vi 编辑器。
这是一个陷阱。
不要直接按“q”退出命令模式,否则您的更改将丢失。

关于vi的学习和笔记

好吧,让我告诉你关于 vi 的事。
说实话,Linux下这个东西确实是经典又老套,但是使用得当的话,效率是非常高的,特别适合文本操作。

你看,使用场景真多。
比如嵌入式开发,你手里有一个Raspberry Pi或者STM3 2 微控制器。
此类设备没有图形界面。
您必须依靠 SSH 远程连接它,使用命令行直接键入代码,或者更改驱动程序文件。
此时,vi 就是您的标准配置。
想象一下,如果没有它,你连光标键都按不了,那该是多么费力。

另一个例子是服务器管理。
当您进行服务器维护时,例如配置Nginx,您需要更改配置文件,例如/etc/nginx/nginx.conf。
服务器上通常没有图形界面。
对于远程维护,vi是首选工具,而且使用方便。

还有一个编程效率的问题。
说实话,刚开始学习的时候,我不太明白为什么老程序员喜欢用vi。
一旦熟练使用后,模式切换、批量处理等快捷键操作就会变得非常快。
它特别适合大型项目。
逐行输入代码非常高效。

vi的主要设计是三种模式,需要通过特定的按键来切换模式。
默认模式为命令模式,允许进行移动、删除、复制等操作。
做。
如果要编辑文本,需要切换到编辑模式,按i插入,按a添加,按o插入新行。
编辑完成后,按Esc键返回命令模式。
如果要保存或退出文件,请按 : 切换到最后一行模式,输入命令,然后按 Enter,例如: :w 保存,:q 退出。

文件操作基本操作说明 要打开或创建文件,只需键入 vi 文件名即可。
如果文件存在,则打开它。
如果不存在,请创建一个新的。
保存文件,:w 保存当前文件,:w 将新文件名另存为新文件。
要退出 Vi,如果您没有进行任何更改,请按 :q;如果您没有保存更改,请按 :q!强制退出,保存然后退出:wq 或:x。

在文本编辑中,通过在光标前插入 i、在光标后插入 a、在 o 下面插入新行来插入文本。
要删除文本,x 删除当前字符,dd 删除整行,dw 删除当前单词。
复制和粘贴,yy 复制整行,p 粘贴到光标后。
撤消和恢复,u 撤消之前的操作,Ctrl+r 恢复撤消的操作。

光标旋转该区域,基本动作为h左、j下、k上、l右。
w 跳转到下一个单词的开头,b 跳转到上一个单词的开头。
行内跳转,0在行首,$在行尾。
文件跳转,gg 文件第一行,g 文件最后一行,:行号跳转到指定行,例如:1 0 跳转到第1 0行。

高级编辑技巧,标记跳转,m加标记名,设置标记,如ma。
反引号加标签转到名称标签,例如“a”。
可视模式,v 进入字符可视模式,v 选择文本并按 d 删除或 y 复制。
V 进入线可视模式,Ctrl+v 进入块可视模式,并选择矩形区域。
查找和替换,/keyword 向前搜索,n 下一个,n 上一个。
:%s/oldcontent/newcontent/g 全局替换。
缩进调整,>> 向右 4 个空格,<< 向左 4 个空格。
重复该操作。
重复上次的编辑操作。
数字加命令多次重复该命令,例如 3 dd 删除 3 行。

分屏多文件操作,水平分屏,:sp文件名。
垂直分屏,:vsp 文件名。
要在分屏之间切换,请使用 Ctrl+w 和箭头键切换窗口。
要关闭分屏,:q 关闭当前窗口。

阶段备份和恢复,备份当前文件,:w 备份文件名。
恢复文件。
如果不小心未保存,您可以重新打开文件并手动合并备份内容。

学习技巧,循序渐进练习,首先掌握命令模式移动、编辑模式进入、保存退出到最后一行模式,然后逐步学习高级操作。
借助可视化工具,使用vimtutor命令(vi高级版vim教程)或在线模拟器进行初级练习。
快捷键、主题等通过修改 ~/.vimrc 文件来自定义配置,例如设置要显示的行号。
实际场景,在实际项目中应用vi例如配置Nginx和编写shell脚本来加强肌肉记忆。

说实话,vi 的学习曲线相当陡峭。
第一次使用的时候肯定会感觉很奇怪。
但一旦你掌握了它,它的效率,尤其是在Linux环境下的开发和管理任务,远远优于大多数图形编辑器。