【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

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor