在这里插入图片描述

前言

在浩瀚的Linux世界中,Vim是一颗璀璨的明珠。它不仅仅是一个文本编辑器,更是无数开发者的心头好,是所有程序员与技术爱好者不可或缺的工具之一。Vim是一种专注且极具魅力的编辑器,它所赋予的力量,远远超出了一个简单的文本编辑任务。对于那些了解它的人来说,Vim不仅仅是一个工具,它是思想的延伸,是工作流的象征。今天,我们将细细探讨Vim编辑器在Linux环境中的使用,揭开它神秘的面纱。

一、Vim的起源与背景

Vim,原名Vi IMproved(Vi的增强版),是由布拉德·乔恩逊(Bram
Moolenaar)于1991年发布的。它基于UNIX系统中的Vi编辑器,Vi作为一个传统且强大的文本编辑器,已经陪伴了几代Linux用户的成长。而Vim则在此基础上进行扩展与优化,拥有了更多的功能,使得它在编辑工作中更为高效和便捷。

与Vi相比,Vim不仅仅有基本的编辑功能,还提供了丰富的插件扩展语法高亮自动完成等功能,这些都使得它成为了程序员、开发者和系统管理员必不可少的工具。

1.1 安装vim

在 Ubuntu 系统上,可以通过以下命令安装 Vim:

sudo apt update 
sudo apt install vim

在这里插入图片描述
要注意的是当我们以普通用户的身份去下载安装包的时候,是需要sudo提权

二、Vim的模式设计:极简而深邃

  • 命令模式:Vim 启动后默认的模式,可以使用快捷键执行命令,此模式下用户的所有输入都会被当作命令,一般不会 给你作为文本输入
  • 插入模式:用于文本输入,按 i 进入插入模式,按 Esc 返回普通模式,此模式下可以进行代码编写
  • 底行模式:用于输入命令,按 : 进入命令行模式,此模式下可以进行退出保存等多种命令操作

在这里插入图片描述

三、vim的强大功能

3.1 打开和退出文件

首先我们先创建一个文件,之后用vim进入

touch filename
vim filename

进入之后默认是命令模式,我们可以通过按下 i进入插入模式,进行如下代码的编写
在完成输入后,按esc返回命令默认,之后shift ;同时按下,即可弹出左下角的冒号,此时可以输入以下命令进行保存退出。

:q 如果没有修改,直接退出
:q! 强制退出,不保存修改
:wq 保存修改并退出

快速按两下大写z也可以实现保存退出。
在这里插入图片描述

3.2 基本编辑操作

  • 进入插入模式:按 i(在光标前插入)或 a(在光标后插入)。
  • 删除字符:在普通模式下,按 x 删除光标下的字符。
  • 撤销操作:按 u 撤销操作,按 Ctrl + r 重做操作。

3.3 移动光标

需注意,在vim中鼠标无法直接参与光标的移动,需要通过键盘指令进行。

  • h:向左移动一个字符。
  • j:向下移动一行。
  • k:向上移动一行。
  • l:向右移动一个字符。
  • gg:移动到文件开头。
  • G:移动到文件结尾。
  • Ctrl + f:向下翻一页。
  • Ctrl + b:向上翻一页。

3.4 删除文字

其中,#代表数字

  • 「x」:每按一次,删除光标所在位置的一个字符
  • 「#x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
  • 「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符
  • 「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符
  • 「dd」:删除光标所在行
  • 「#dd」:从光标所在行开始删除#行

3.5 复制

需要注意这些命令都需要在命令模式进行,如果在插入模式下会被认为是输入的字符。

  • 「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
  • 「#yw」:复制#个字到缓冲区
  • 「yy」:复制光标所在行到缓冲区。
  • 「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
  • 「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

3.6 替换

  • 「r」:替换光标所在处的字符。
  • 「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

3.7 更改

  • 「cw」:更改光标所在处的字到字尾处
  • 「c#w」:例如,「c3w」表示更改3个字

3.8 跳至指定的行

  • 「ctrl」+「g」列出光标所在行的行号。
  • 「#G」:例如,「15G」,表示移动光标至文章的第15行行首。

3.9 撤销上一次操作

  • 「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
  • 「ctrl + r」: 撤销的恢复

3.10 查找和替换

查找文本:在命令模式下,输入 /text 查找 text,使用 n 移动到下一个匹配项。
替换文本:在底行模式下,输入:

:%s/old_text/new_text/g

四、vim的强大功能

  1. 语法高亮
    在Vim中,语法高亮是其最基础的功能之一。通过启用语法高亮功能,Vim可以帮助开发者清晰地区分代码中的不同元素,如关键字、变量、函数等。对于编程语言的支持,可以通过插件进行扩展,Vim几乎支持所有主流编程语言的语法高亮。

  2. 多文件编辑
    Vim并不仅仅局限于一个文件。通过 :split 或 :vsplit 命令,你可以轻松地将屏幕分割成多个窗口,进行多文件编辑。这种功能极大提高了工作效率,尤其是在处理多个文件时,你不再需要频繁地切换窗口,所有操作都可以在同一界面内完成。

  3. 插件系统
    Vim强大的插件系统使得它可以根据用户需求进行定制和扩展。无论是代码自动补全、Git集成,还是Markdown预览、数据库操作,Vim几乎可以做到。最流行的插件管理器是Vundle和Pathogen,它们让你可以轻松安装和管理插件。

  4. 搜索与替换
    在Vim中,查找和替换功能不仅仅限于文本内容。你可以通过正则表达式进行复杂的搜索,甚至在整个项目中进行批量替换。命令如 😒/old/new/g 会将当前行的 old 替换为 new,而 :argdo 命令允许你在所有打开的文件中进行替换。

  5. 自动完成
    Vim不仅支持基本的代码补全,还能够根据你所输入的上下文自动提供更符合需求的补全项。你可以通过插件如 YouCompleteMe 或 Deoplete 来进一步增强代码自动补全功能,提高编码效率。

  6. 版本控制与Git集成
    Vim还拥有强大的Git集成功能。通过安装插件,如 fugitive.vim,你可以在Vim内执行Git操作,如查看版本历史、提交更改、解决冲突等,而无需离开编辑器。这种集成方式为程序员带来了极大的便利。

分屏操作

  • 水平分屏

:split 文件名

  • 垂直分屏

:vsplit 文件名

在这里插入图片描述
其中,

  • vim +文件名,wq之后若该文件原先不存在,则会自动创建
  • 命令行输入vs 文件名,可以实现分屏操作
  • ctrl按住不动,快速按两下w,可以实现光标在分屏幕之间的切换。
  • 光标在哪个分屏幕,代表正在对该区域进行操作。
  • wq!中的!表示强制,意为强制保存并退出

四、Vim的学习曲线:一段与自我对话的旅程

Vim被认为有较陡的学习曲线,这无疑是事实。刚开始使用时,你可能会感到困惑和不适应。特别是与传统的图形化编辑器相比,Vim没有鼠标操作,所有功能都需要通过键盘快捷键来完成。但这恰恰是Vim的精髓所在,它并非让用户去适应,而是引导用户从内心开始改变与计算机交互的方式。

然而,Vim的难学并非毫无意义。每一段痛苦的经历,都会带来极大的回报。习惯了Vim的操作,你将获得一种与计算机对话的流畅感。它让你摆脱了鼠标的束缚,极大地提高了工作效率,并让你的思维变得更加简洁和专注。

小结

在这个信息化时代,Vim不仅是Linux用户的必备工具,更是一种技术精神的象征。它提醒我们,真正的高手并非追求繁琐和浮华,而是在简约中找到最深的力量。在Vim的世界里,每一次按键,都是通向更加高效和自由的道路。

愿每一个使用Vim的你,都能享受到那份属于文本的极致之美。

本篇关于vim编辑器的介绍就暂告段落啦,希望能对大家的学习产生帮助,欢迎各位佬前来支持斧正!!!

在这里插入图片描述

Logo

一起探索未来云端世界的核心,云原生技术专区带您领略创新、高效和可扩展的云计算解决方案,引领您在数字化时代的成功之路。

更多推荐