Vim工具使用全攻略:从入门到精通

引言

在软件开发的世界里,Vim不仅仅是一个文本编辑器,它是一个让你的编程效率倍增的神器。然而,对于新手来说,Vim的学习曲线似乎有些陡峭。本文将手把手教你如何从Vim的新手逐渐变为高手,深入理解Vim的操作模式,并掌握一些实用的技巧。

Vim的基本概念

Vim,一款自诞生以来就以其强大和灵活性著称的文本编辑器,其独特之处在于它的模式化操作,这也是它与其他编辑器最大的不同。理解Vim的模式对于掌握Vim至关重要。

Vim的工作模式

Vim的工作方式大致可以分为三种基本模式,每种模式下的键入操作都有不同的含义,这三种模式分别是:

  1. 正常模式(Normal Mode):

    • 这是Vim的默认模式。在这个模式下,你可以使用快捷键执行复制、粘贴、移动、删除等操作。这些操作都是基于文本行或字符的,而不是用于输入文本。正常模式是Vim中最强大的模式,因为它提供了许多命令来快速修改文本。
  2. 插入模式(Insert Mode)

    • 在插入模式下,你可以输入文本。这个模式类似于其他文本编辑器的常态。在Vim中进入插入模式的方法有多种,包括但不限于按下i(在光标前插入)、I(在当前行首插入)、a(在光标后插入)、A(在当前行尾插入)、o(在当前行之下新开一行插入)、O(在当前行之上新开一行插入)等。
  3. 末行模式(Command-Line Mode or Last Line Mode)

    • 在末行模式下,你可以输入一些命令,比如保存文件、查找和替换文本、打开新文件或者退出Vim等。这个模式通常用于执行那些影响整个文档的操作。进入这个模式的方法是在正常模式下按下:,然后在屏幕底部的命令行中输入命令。
Vim的其他模式

除了上述三种基本模式外,Vim还有其他一些模式,包括但不限于:

  • 可视模式(Visual Mode)

    • 在这个模式下,你可以用光标选择文本块,然后执行复制、粘贴等操作。进入这个模式的方法是在正常模式下按v(字符选择)、V(行选择)或Ctrl + v(块选择)。
  • 替换模式(Replace Mode)

    • 这个模式允许你替换光标所在位置的字符。进入这个模式的方法是在正常模式下按R,然后每输入一个字符,就会替换掉光标下的字符。
  • 执行模式(Ex Mode)

    • 类似于末行模式,但用于执行更复杂的编辑命令。可以在正常模式下通过输入Q进入。
模式的转换

掌握Vim的关键之一是理解这些模式之间是如何相互转换的。例如,从正常模式进入插入模式可以通过多种方式,而从插入模式回到正常模式则通常是通过按ESC键。

理解并熟练运用这些模式及其转换,是提高在Vim中编辑效率的关键。Vim之所以强大,就在于它能够让用户通过不同的模式和命令组合来实现高效的文本编辑。

2:输入i进入插入模式:

此时可以正常输入文本,要想退出我们需要先输入ESC进入命令模式后输入shift+; (也就是:)进入底行模式然后输入wq即可退出

Vim的基本操作

掌握Vim的操作几乎等同于掌握了一种新语言。以下是一些基本而重要的操作,它们构成了使用Vim时的基础。

文件操作
  • 打开文件

    • 使用命令vim 文件名来打开或创建文件。如果文件不存在,Vim将会创建一个新文件并等待你的输入。
  • 保存文件

    • 在末行模式下,输入:w保存你的更改。如果你想另存为一个新文件,可以使用:w 新文件名
  • 关闭Vim

    • 要退出Vim并保存更改,可以在末行模式下输入:wq或者:x。如果想退出但不保存更改,可以使用:q!
编辑操作
  • 插入文本

    • 如之前提到的,有多种方式进入插入模式以编辑文本,包括i(光标前插入)、I(行首插入)、a(光标后插入)、A(行尾插入)等。
  • 删除文本

    • 在正常模式下,x可用于删除光标下的字符。dd用于删除整行。如果想删除多行,可以使用d加上数字,例如2dd删除两行。
  • 复制和粘贴

    • yy是复制当前行,p是粘贴到光标后。如果想复制多行,可以使用y加上数字,例如2yy复制两行。
  • 撤销和重做

    • u用于撤销最近的操作,Ctrl + r用于重做被撤销的操作。
移动光标
  • 基本移动h(左移)、j(下移)、k(上移)、l(右移)。
  • 快速移动
    • 0移动到行首,$移动到行尾。
    • w跳到下一个词的开头,b跳回到上一个词的开头。
    • G跳到文件的末尾,gg跳到文件的开头。
    • {}可以在段落之间跳转。
查找与替换
  • 查找文本

    • 在正常模式下,使用/要查找的文本然后按下Enter进行查找。按n查找下一个匹配项,N查找前一个匹配项。
  • 替换文本

    • 在末行模式下,使用:s/原文本/新文本来替换当前行的第一个匹配项。如果想替换所有匹配项,可以使用:s/原文本/新文本/g。要在全文中进行替换,使用:%s/原文本/新文本/g
使用窗口和标签页
  • 分屏

    • :split:sp来水平分割窗口。
    • :vsplit:vsp来垂直分割窗口。
  • 在窗口间切换

    • 使用Ctrl + w加上方向键在窗口间切换。
  • 使用标签页

    • :tabnew打开一个新的标签页,:tabnext:tabprev在标签页之间切换。

挑战话题:如何批量化注释和去注释

首先ctrl + v 进入视图模式

然后我们可以批量化用键选中,也可以n+shift+g

然后输入shinft+i进入插入模式

最关键一步,此时输入双斜杠 并按两下esc即可批量注释

去注释同理,ctrl+v 选中两列 按L d即可删除

Vim中的批量化注释

vim配置

vim不是简单的执行可执行程序,也会读取若干配置文件,比如 .vimrc

vim也只是一个执行文件

没有我们就自己创建一个 那么我们就可以将对应配置项写入.vimrc

具体一键配置可以网上搜索,配置好后我们直接使用即可

通过本篇博客,我们一起踏上了探索Vim这款强大文本编辑器的旅程。从Vim的基本概念、基本操作,到如何批量化注释与去注释的高级技巧,我们一步步深入了解了Vim的强大功能。Vim不仅仅是一个文本编辑器,它是一个提高你编程效率、优化你编码工作流程的强大工具。

Vim之所以独特,是因为它提供了一种与众不同的文本编辑哲学。通过学习Vim的多种模式和快捷键,我们可以实现快速编辑、高效编码的目标。尽管Vim有着陡峭的学习曲线,但一旦你熟练掌握了它的基本及高级操作,你会发现自己能够更快、更高效地完成工作。

记住,熟练使用Vim需要时间和实践。不要因为一开始的挑战而放弃。随着你不断的练习和探索,你会逐渐发现Vim提供的便捷和强大功能。让Vim成为你编程旅程中的忠实伙伴吧!

希望这篇博客能够激发你深入学习Vim的热情

相关推荐
伤不起bb3 小时前
MySQL 高可用
linux·运维·数据库·mysql·安全·高可用
tmacfrank6 小时前
网络编程中的直接内存与零拷贝
java·linux·网络
谢尔登8 小时前
【VSCode】修改侧边文件资源管理器中的文件夹折叠模式
ide·vscode·编辑器
QQ2740287568 小时前
Soundness Gitpod 部署教程
linux·运维·服务器·前端·chrome·web3
qwfys2009 小时前
How to configure Linux mint desktop
linux·desktop·configure·mint
南方以南_9 小时前
Ubuntu操作合集
linux·运维·ubuntu
冼紫菜9 小时前
[特殊字符]CentOS 7.6 安装 JDK 11(适配国内服务器环境)
java·linux·服务器·后端·centos
bloglin9999910 小时前
关闭VSCode 自动更新
ide·vscode·编辑器
Chuncheng's blog10 小时前
RedHat7 如何更换yum镜像源
linux
爱莉希雅&&&11 小时前
shell脚本之条件判断,循环控制,exit详解
linux·运维·服务器·ssh