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的热情

相关推荐
pk_xz12345644 分钟前
Shell 脚本中变量和字符串的入门介绍
linux·运维·服务器
小珑也要变强1 小时前
Linux之sed命令详解
linux·运维·服务器
Lary_Rock3 小时前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
云飞云共享云桌面5 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
励志成为嵌入式工程师5 小时前
c语言简单编程练习9
c语言·开发语言·算法·vim
Peter_chq5 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
一坨阿亮6 小时前
Linux 使用中的问题
linux·运维
dsywws7 小时前
Linux学习笔记之vim入门
linux·笔记·学习
幺零九零零8 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
小林熬夜学编程9 小时前
【Linux系统编程】第四十一弹---线程深度解析:从地址空间到多线程实践
linux·c语言·开发语言·c++·算法