【Linux】文本编辑器Vim(Vim的操作方法、命令集,Vim插件安装配置)

本文主要是介绍【Linux】文本编辑器Vim(Vim的操作方法、命令集,Vim插件安装配置),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

00.前言

01.基本模式

02.基本操作

03.命令集

正常模式

末行模式

04.插件安装


00.前言

Vim(Vi IMproved)是一款强大的文本编辑器,是Unix系统中经典的Vi编辑器的增强版本。它在功能和灵活性方面超越了传统的Vi,并成为了许多开发者和系统管理员首选的编辑器。

vim具有以下优点:

  1. 模式驱动:Vim具有不同的工作模式,包括Normal模式、Insert模式、Visual模式等。每个模式下,按键的功能和行为都不相同。这种设计使得编辑过程更高效。

  2. 高度可定制:Vim可以通过编辑配置文件(.vimrc)来定制各种行为和快捷键。用户可以根据自己的喜好和需求进行个性化设置,以满足自己的工作习惯。

  3. 强大的编辑功能:Vim提供了丰富的编辑功能,包括正则表达式搜索、替换、自动缩进、代码折叠、语法高亮等。这些功能使得在编辑大型文件或编程时更加方便和高效。

  4. 插件生态系统:Vim拥有庞大的插件生态系统,用户可以通过安装和使用插件来扩展Vim的功能。这些插件可以提供代码补全、语法检查、版本控制集成等功能。

  5. 跨平台支持:Vim不仅可以在Unix-like系统(如Linux、macOS)上运行,还可以在Windows和其他操作系统上使用。这使得用户可以在不同的平台上保持一致的编辑体验。

Vim高度可定制、功能强大且高效,这使得其广为人喜爱。

01.基本模式

Vim具有很多工作模式,这里我们主要介绍三种,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)

正常/普通/命令模式

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode

插入模式

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁 的编辑模式。

末行模式

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模 式。要查看你的所有模式:打开vim,底行模式直接输入

:help vim-modes

02.基本操作

  • 进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面,进入vim之后是处于【正常模式】的,想要输入文字需要切换到【插入模式】

vim test.c

  • 【正常模式】切换到【插入模式】

输入 a / i / o

  • 【插入模式】切换到【正常模式】

按 [esc] 返回正常模式

  • 【正常模式】切换到【末行模式】

「shift + ;」, 其实就是输入「:」

  • 【末行模式】切换到【正常模式】

按 [esc] 返回正常模式

  • 保存并退出

在末行模式下输入w(保存当前文件)wq(保存并退出)q!(强制退出不保存)

03.命令集

正常模式

插入模式

  • 按下[i]键后,光标会停留在当前位置,你可以在当前光标位置之前插入文本。
  • 按下[a]键后,光标会移动到当前位置的下一个字符处,你可以从当前位置的下一个字符开始输入文本。这对于需要在当前字符后添加内容时非常有用。
  • 按下[o]键后,会另起一行插入新的一行,并将光标移动到新行的行首,以便你可以从新行的开头开始输入文本。这在需要在当前行下方添加内容时很方便。

切换命令模式

  • 按下【esc】键。

移动光标

  • vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、 「l」,分别控制光标左、下、上、右移一格

  • 「$」:移动到光标所在行的“行尾”

  • 「^」:移动到光标所在行的“行首”

  • 「w」:光标跳到下个字的开头

  • 「e」:光标跳到下个字的字尾

  • 「b」:光标回到上个字的开头

  • 「#l」:光标移到该行的第#个位置,如:5l,56l

  • [gg]:进入到文本开始

  • [shift+g]:进入文本末端

  • 「ctrl」+「b」:屏幕往“后”移动一页

  • 「ctrl」+「f」:屏幕往“前”移动一页

  • 「ctrl」+「u」:屏幕往“后”移动半页

  • 「ctrl」+「d」:屏幕往“前”移动半页

删除文字

  • 「x 」每按一次,删除光标所在位置的一个字符。x 键用来删除光标所在位置的字符。

  • 「#x」 例如,6x 表示删除光标所在位置及其后面的 6 个字符。#x 表示删除光标后指定数量的字符。

  • 「X」大写的 X,每按一次,删除光标所在位置的前一个字符。X 命令用来删除光标前面的字符。

  • 「#X」 例如,20X 表示删除光标所在位置的前面 20 个字符。#X 表示删除光标前指定数量的字符。

  • 「dd」 删除光标所在行。dd 命令将删除光标所在行的整行内容。

  • 「#dd」 从光标所在行开始删除 # 行,不修改原文本,进行一行一行的整理。#dd 命令用于删除从当前行开始数的指定行数。

复制

  • 「yw」 将光标所在位置到字尾的字符复制到缓冲区中。yw 命令用于复制从光标当前位置到单词末尾的字符。

  • 「 #yw」 例如,3yw 表示复制光标位置开始的 # 个字到缓冲区中。#yw 表示复制指定数量的字到缓冲区。

  • 「yy」 复制光标所在行到缓冲区中。yy 命令用于复制光标所在行的整行文本到缓冲区。

  • 「#yy」 例如,6yy 表示从光标所在的该行往下数 6 行文字,并将其复制到缓冲区中。#yy 命令用于复制指定数量的行到缓冲区。

  • 「p」 将缓冲区内的字符粘贴到光标所在位置。p 命令用于将之前复制到缓冲区的内容粘贴到光标位置。

替换

  • 「r」替换光标所在位置的字符。按下 r 键后,输入你要替换成的字符,当前光标所在的字符将被替换。

  • 「R」 进入替换模式,替换光标所在处的字符。在替换模式(R 模式)下,你可以连续替换多个字符,直到按下 ESC 键为止。

撤销

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

  • 「ctrl + r」: 撤销的恢复

更改

  • 「cw」:更改光标所在处的字到字尾处

  • 「c#w」:例如,「c3w」表示更改3个字

跳转

  • 「ctrl」+「g」列出光标所在行的行号。

  • 「#G」:例如,「15G」,表示移动光标至文章的第15行行首。

末行模式

在使用末行模式之前,请记住先按「ESC」键确定已经处于正常模式,再按「:」冒号即可进入末行模式。

列出行号

  • 「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号。

跳转

  • 「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15, 再回车,就会跳到文章的第15行。

查找

  • 「/关键字」: 先按「/」键,再输入想寻找的字符,如果第一次找的关键字不是想要的,可以一直按 「n」会往后寻找到你要的关键字为止。

  • 「?关键字」:先按「?」键,再输入想寻找的字符,如果第一次找的关键字不是想要的,可以一直 按「n」会往前寻找到你要的关键字为止。 

保存

  • 「w」: 在冒号输入字母「w」就可以将文件保存起来

离开

  • 「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim。

  • 「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。

04.插件安装

要配置好用的vim,原生的配置可能功能不全,可以选择安装插件来完善配置。

注意:我们不建议在root用户下进行配置,出于以下考虑:

  1. 安全性:在 root 用户下配置 Vim 可能会增加系统面临的安全风险。如果配置文件中存在漏洞或者恶意代码,攻击者可能利用这些漏洞获取 root 权限,并对系统进行破坏或者植入恶意软件。

  2. 意外操作:在 root 用户下配置 Vim 时,可能会误操作导致系统文件被修改或删除,进而影响系统的正常运行。在非 root 用户下配置 Vim 则可以减少这种风险,因为非 root 用户的权限受到限制,无法直接修改系统关键文件。

  3. 权限控制:使用普通用户配置 Vim 可以更好地控制权限。普通用户可以通过 sudo 或 su 命令获取 root 权限来执行需要特权的操作,这样既能完成任务又能保持系统安全。

普通用户下配置的vim只在当前用户生效,安装vim插件需要遵循以下步骤:

  1. 选择插件管理器:首先,你需要选择一个适合的插件管理器来帮助你管理 Vim 插件。如果是使用云服务器的就不需要考虑这个,因为厂商已经为你修改好了插件管理器。

  2. 配置插件管理器:在用户的根目录下新建一个~/.vimrc文件,首先打开用户根目录,然后创建文件,随后打开.vimrc配置文件

cd /home/user

touch .vimrc

vim .vimrc

然后就可以通过插件管理器提供的命令或配置,可以轻松地安装所需的 Vim 插件。这里推荐一个大佬配置好的vim环插件:GitHub - ma6174/vim: vim配置文件和插件(不再维护)

这篇关于【Linux】文本编辑器Vim(Vim的操作方法、命令集,Vim插件安装配置)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/792080

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信