Linux vim如何保存退出

2 02 2 年,我在某个城市使用 Vim 编辑器编写代码。
当时还在学习,对命令模式有点迷茫。
我记得有一次,我写了很多代码,想保存它,但是我按了ESC,回到命令模式,然后按了w,但文件没有保存。
当时我很困惑。
后来我才知道必须先输入:w然后回车才能保存文件。
后来遇到权限问题,文件无法保存。
我尝试输入:w!,它已保存,但它需要管理员权限。
我当时有点紧张,生怕自己搞错了。

有一次,我正在编辑一个项目,我改变了一半的代码。
突然我想起我必须回电话。
我想退出编辑器,但我直接按了:q。
结果编辑器没有退出,但是文件编辑完了,我无法退出。
我当时很担心,然后我意识到我应该使用 :q!别再强迫了。
即使文件没有保存,也比卡在编辑器中要好。

还有一次我想保存文件并退出,所以我输入:wq。
结果,文件被保存并且编辑器也被退出。
但是,保存一次的时候,又出现了权限问题,于是我尝试输入:wq!,文件被替换了。
当时我很困惑,后来才知道这个命令要慎重使用。

现在回想起来,那些练习错误都是因为我对 Vim 编辑器的命令模式不够了解。
那段时间我经常在命令模式下输入错误的命令,导致文件无法保存或者编辑器无法退出。
不过,通过不断的练习和完善,我现在已经能够有效地使用 Vim 编辑器了。

linux vi与vim的区别是什么

在大学里,我记得和我的室友争论编辑的选择。
他坚持用vi,但我更喜欢vim。
他当时说,vi 就够用了,为什么还要用 vim。
我拿出笔记本电脑,打开一个简单的 C 程序文件,然后开始演示。

打开终端并输入“vi”快速切换到命令模式,然后输入“wq”保存并退出。
我的室友同意在命令行上使用 vi 确实很容易。
然后我切换到 vim 并再次打开该文件,撤消功能出现了。
我按了u键撤消了之前的保存操作,然后又按了几次u键恢复到之前的状态。
我的室友眼睛都亮了。
他没想到vim能够撤销历史操作。

我切换到 vi 并打开了一个新文件。
这次介绍一下vim的语法高亮功能。
当我输入C语言代码时,关键字和注释立即变色。
我的室友惊讶地看着,以前从未见过这样的编辑。
接下来我演示了vim的可视化模式。
我通过简单的按键选择了整个代码段。
室友读完后不禁感叹。
“它比 vi 直观得多。

我们继续讨论并提到了 vim 的模式扩展,例如可视模式。
虽然心里还是有些不舒服,但他承认自己的效率有所提高。
最后,我提到了 Vim 的插件系统,他饶有兴趣地问:“真的吗?Vim 可以这样扩展吗?”虽然 vi 是轻量级的,但我发现自己想知道 vim 是否像 vi 的超级版本,适合需要更多功能的程序员。

那天晚上我们讨论了很长时间,我的室友最终决定尝试一下 vim。
我在我的编程之旅中继续使用这个强大的编辑器。
等等,还有一件事。
我突然想到vi和vim的这些区别其实可能反映了技术发展的趋势。
功能越来越丰富,用户体验也越来越人性化。
但这是好事还是坏事呢?

linux中如何使用Vim删除偶数行或奇数行

等等,昨天我在办公室调试代码,突然想用Vim来处理一个CSV文件。
里面的数据有点混乱,所有行的编号都是奇数。
我必须删除奇怪的线条。
我打开一个终端,握手并输入:%normjdd,以为所有奇数行都会被删除。
然后再看一下文件,好吗?看起来只有第 1 、3 、5 、7 行被删除,但偶数行仍然存在。
我再次尝试,这次添加 -u,并取消了操作。
这次我改变了主意,尝试了:先g/^/d,然后将光标移动到偶数行的开头并添加m。
结果Vim就卡住了,没有反应。
等等,还有一件事。
我查了一下手册,发现sed真的很好用。
只需一个命令 sed -n '1 ~2 !p' file.txt,即可在几秒钟内执行。
但我仍然不明白为什么 Vim's:%normjdd 只删除奇数行。
也许光标移动的细节在这里起作用?

Linux vim编辑器基础操作

说实话,当我开始学习 Vim 的时候,真的很疯狂。
屏幕上突然出现了一个光标,出现了某种模式,看起来像是在玩密室逃脱。
但当你使用它的时候,你就会发现这东西有多好吃。
我来说说我当时是怎么理解的。

例如模式切换。
一开始,我总是在命令模式和编辑模式之间摇摆。
结果每次想改一个字都得先按Esc,很烦人。
后来我想起了一个公式:“输入i,a加后缀,o另起一行,按Esc退出。
”尤其是在Vim中编写代码时,光标突然跳到另一个地方,你就知道什么是“编辑器杀手”了。
我有一个朋友用vim修改配置文件。
一下子放进去了,光标跑得太快了,他没注意到,因为删掉了一半行。
最令人印象深刻的基本编辑功能是复制和粘贴。
以前,要编辑记事本代码,我必须分三步选择复制功能、Ctrl+C、然后Ctrl+V。
使用 Vim 怎么样? yy 复制当前行,p 将其粘贴到下一行。
如果您想录制四行,只需“4 yy p”,无需抬起手指。
之前我正在更改 Linux 服务器上的日志文件。
半夜犯了一个错误,不小心按了两次针脚。
结果,该功能被输入两次并且该服务被禁用。
那一刻我的脸绿了,我赶紧用它来撤销它。

把光标移到这里,我操作很爽。
如果你想在编写 Python 时跳入循环,请按“0”跳转到行首,然后按“W”作为跳转关键字。
比用鼠标点击更快。
但有一个陷阱。
Linux 新用户会混淆“j”和“l”。
我刚刚开始编写脚本并写了“print i”而不是“print l”。
跑了很久才发现逻辑不对。
那一刻我真想给自己一巴掌。

最后一行的模式是关键。
写完配置文件后,我有一个“:wq”保存退出的习惯,培养肌肉记忆。
但最烦人的还是全局替换。
例如,要更改组中的变量名称,您必须打开 IDE 并先按 Ctrl + H。
现在您可以使用一个命令行来完成此操作:%,%s/oldname/newname/g。
我之前修改过一个Java项目,将数百个文件中的“temp”更改为“tempData”。
我就用这个命令,花了两秒,比IDE快多了。

最后,我们来说说实用技巧。
我最喜欢做的事情就是重复数字。
例如发帖3 次,就“3 p”;如果要删除五行,只需“5 dd”。
还有快速跳跃。
编辑文件时,按“G”跳转到末尾,按数字和“G”跳转到指定行。
我经常使用“5 0G”直接跳到第5 0行,这比鼠标滚轮快得多。
但初学者不宜乱用此招,跳得太快很容易造成旋转。

其实,Vim 并没有那么难。
重要的是你必须使用它才能理解它。
我建议你获取一个临时文件并运行 vimtutter。
您不需要阅读文档,只需练习即可。
一旦你的手指习惯了这些组合键,你会发现你甚至不想在 Linux 下打开记事本。
我目前的习惯是即使在 Windows 上写文档也使用 Vim。
偶尔按错输入法切换成英文,却回不去。