Linux 下 VIM 编辑器学习记录:从基础到进阶(上)

在 Linux 的世界里,VIM 编辑器是一个功能强大的文本编辑工具,对于系统管理、代码编写等工作都有着举足轻重的作用。作为一名热衷于 Java 全栈开发学习的大三学生,我在学习过程中发现,掌握 VIM 编辑器不仅有助于日常的 Linux 操作,还能为未来在企业中进行 Java 全栈开发打下坚实的基础。

VIM 编辑器的基础使用

VIM 编辑器是 Linux 系统中备受青睐的文件内容修改工具,它实际上是 VI 编辑器的升级版,这也是众多企业偏爱它的原因之一。在许多企业的开发环境中,尤其是涉及 Linux 服务器的运维和开发工作,VIM 编辑器几乎是必备技能。对于我们学习 Java 全栈开发的人来说,未来进入企业后,可能会频繁地在 Linux 环境下处理配置文件、编写脚本,甚至直接编辑 Java 代码,所以掌握 VIM 编辑器至关重要。

三种模式

VIM 编辑器主要包含三种模式,每种模式都承担着不同的功能,熟练切换和使用这三种模式是掌握 VIM 的关键。

  1. 命令模式 :当我们通过vim 文件名称的方式打开文件时,首先进入的就是命令模式。在命令模式下,我们可以执行各种操作来对文件进行快速处理。其中一些常用命令如下:
    • a:在光标当前位置之后插入文本,随即进入输入模式。在编写 Java 代码时,如果需要在某行代码后面补充逻辑,使用a命令就可以快速进入插入状态。

    • i:在光标当前位置之前插入文本,进入输入模式。比如在定义 Java 类的属性时,发现前面漏写了修饰符,就可以用i回到属性前插入。

    • o:在光标当前行的下一行插入新的一行,并进入输入模式。在 Java 开发中,添加新的方法或代码块时,这个命令非常实用。

    • dd:删除光标所在的整行内容。在调试 Java 代码时,如果某行代码存在错误且暂时不需要,使用dd可以快速删除。

    • gg:将光标快速移动到文件的第一行。在查看 Java 项目的配置文件时,快速定位到开头查看全局配置很方便。

    • G:将光标快速移动到文件的最后一行。当我们需要查看 Java 类的末尾部分,比如查看是否正确关闭了资源等,这个命令就能派上用场。

    • ^:将光标移动到当前行的行首。在 Java 代码中,可能需要在行首添加注释,使用这个命令就可以快速定位。

    • $:将光标移动到当前行的行尾。比如在 Java 代码行末尾添加分号等符号时,使用$定位后添加更高效。

  2. 输入模式 :在命令模式下,按下aio等命令后即可进入输入模式。在输入模式下,我们可以像在普通文本编辑器中一样输入和修改文本内容。完成输入后,按ESC键就能退出输入模式,回到命令模式,以便进行其他操作。
  3. 底线命令模式 :在命令模式下,按下:键便可进入底线命令模式。在这个模式下,可以执行一些高级操作,常用的底线命令如下:
    • :wq:保存文件并退出 VIM 编辑器。在完成 Java 代码的编辑、调试好配置文件后,一定要记得使用这个命令保存并退出。

    • :set nu:显示行号。在查看和修改 Java 代码时,行号能帮助我们快速定位问题所在,特别是在多人协作开发中,方便沟通和排查错误。

    • :n:跳转到指定的行号n。例如,在查看 Java 类的第 50 行代码时,直接输入:50就能快速定位。

    • /字符串:在文件中查找指定的字符串。在 Java 开发中,查找特定的类名、方法名或关键字时,这个命令非常高效。输入/后,再输入要查找的字符串,如/public,VIM 会在文件中搜索包含public的内容,并将光标定位到第一个匹配项。按n键可以继续查找下一个匹配项,按N键则查找上一个匹配项。

VIM 的基本使用流程

基本使用流程如下:

  1. 使用vim 文件名称命令打开需要编辑的文件,此时进入命令模式。如果要编辑一个 Java 源文件,比如HelloWorld.java,就可以使用vim HelloWorld.java
  2. 根据需要,按aio等键进入输入模式,开始输入或修改文件内容。比如在HelloWorld.java中编写main方法的逻辑。
  3. 输入完成后,按ESC键退出输入模式,返回命令模式。
  4. 在命令模式下,可以进行各种操作,如删除、复制、粘贴等。如果编写过程中发现某行代码多余,就可以用dd命令删除。
  5. 如果需要执行一些高级操作,如保存文件、退出编辑器、查找内容等,按:键进入底线命令模式,输入相应的命令并执行。
  6. 最后,使用:wq命令保存文件并退出 VIM 编辑器。

异常处理

在使用 VIM 编辑器的过程中,有时会遇到客户端异常退出的情况。比如在编写 Java 代码时,突然遇到网络波动或者系统故障,导致 VIM 客户端异常关闭。这种情况下,VIM 会自动创建一个交换文件,用于保存当前文件的临时状态。当再次打开该文件时,VIM 会提示存在交换文件,并询问是否恢复文件。

解决方案

  1. 先恢复文件:使用vim -r 源文件命令恢复文件内容。例如,异常退出的是HelloWorld.java,则执行vim -r HelloWorld.java,VIM 会读取交换文件中的内容,恢复到异常退出前的状态,确保我们编写的 Java 代码不会丢失。
  2. 再删除交换文件:在恢复文件后,可以使用rm -f 交换文件命令删除交换文件。交换文件的命名规则一般为.源文件.swp,例如对于HelloWorld.java文件,其交换文件可能是.HelloWorld.java.swp,执行rm -f.HelloWorld.java.swp即可删除交换文件。

未来在企业工作的小技巧

(在未来的最后不仅仅提供总结,还会提供小技巧供大家参考)

  1. 巧用 VIM 的宏录制:在企业中进行 Java 全栈开发时,可能会遇到一些重复性的代码编辑任务,比如批量修改 Java 类中的方法签名。VIM 的宏录制功能可以帮助我们高效完成这类任务。通过录制一系列的操作,然后重复执行宏,能大大提高工作效率。1. 需求:为20个方法添加 `@Override` 注解2. 操作 vim
      qa             # 开始录制
      ^              # 跳到行首
      i@Override<ESC> # 插入注解
      j              # 跳下一行
      q              # 结束录制
      20@a           # 重复20次
  1. 结合插件提升效率 :VIM 有丰富的插件生态,对于 Java 全栈开发,可以安装一些插件来增强 VIM 的功能。比如安装vim-java插件,它可以提供 Java 代码的语法高亮、代码补全、语法检查等功能,让我们在 VIM 中编写 Java 代码更加便捷和高效。
  2. 与版本控制系统配合:在企业开发中,版本控制系统(如 Git)是必不可少的。学会在 VIM 中使用版本控制系统的命令,比如在 VIM 中直接提交代码、查看提交日志等,可以减少在不同工具之间切换的时间,提高开发效率。

通过对 VIM 编辑器的学习,大家不仅掌握了一个强大的 Linux 工具,还为未来在企业中进行 Java 全栈开发积累了实用的技能。在后续的学习中,我将继续深入探索 VIM 编辑器的高级功能,一起进步,不断提升自己的开发能力。

相关推荐
shuair30 分钟前
idea 2023.3.7常用插件
java·ide·intellij-idea
小安同学iter1 小时前
使用Maven将Web应用打包并部署到Tomcat服务器运行
java·tomcat·maven
A ?Charis1 小时前
k8s-对接NFS存储
linux·服务器·kubernetes
Yvonne9781 小时前
创建三个节点
java·大数据
不会飞的小龙人2 小时前
Kafka消息服务之Java工具类
java·kafka·消息队列·mq
是小崔啊3 小时前
java网络编程02 - HTTP、HTTPS详解
java·网络·http
brevity_souls3 小时前
Spring Boot 内置工具类
java·spring boot
小钊(求职中)3 小时前
Java开发实习面试笔试题(含答案)
java·开发语言·spring boot·spring·面试·tomcat·maven
shix .3 小时前
什么是tomcat
java·tomcat
java技术小馆3 小时前
Deepseek整合SpringAI
java·spring cloud