iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >【Linux】顶级编辑器Vim的基本使用及配置
  • 208
分享到

【Linux】顶级编辑器Vim的基本使用及配置

vimlinux编辑器运维服务器 2023-08-31 12:08:55 208人浏览 独家记忆
摘要

👑作者主页:@安 度 因 🏠学习社区:StackFrame 📖专栏链接:Linux 文章目录 一、前言二、vim基本概念三、vim 基本

👑作者主页:@安 度 因
🏠学习社区:StackFrame
📖专栏链接:Linux

文章目录

如果无聊的话,就来逛逛 我的博网 吧! 🌹

一、前言

在这里插入图片描述

今天 a n d u i n anduin anduin 将为大家讲解 linux 下一款功能十分强大的编辑器 vim 。vim 十分好用,但是好用的前提是 熟练度 + 配置 两者都有的情况下才能得心应手。而新手对于 vim 是很难操作的,所以今天我们会讲解 vim 的基本使用,并且讲解 vim 相关的配置。帮助大家快速上手 vim 编辑器。

二、vim基本概念

vim 是一个功能非常强大的全屏幕文本编辑器,在 Linux 中,vim 编辑器被广泛使用。因为其功能丰富,尤其受程序员喜爱。

vim 也是一个类似于 vi 的著名的功能强大、高度可定制的 文本编辑器 ,在 vi 的基础上改进和增加了很多特性。

vim 和 vi 一样,是多模式编辑器,不同的是 vimvi 的升级版本,它不仅兼容 vi 的所有指令,并且糅合了一些新的特性在 vim 中。例如语法高亮、可视化操作,这些不仅可以在终端运行,也可以也可以运行于 x window、 Mac os、windows

区分编辑器和 I D E IDE IDE

可能我们之前就是在 vs2022 、Devc++ 上写代码,在这类 IDE IDE IDE 中,一个软件就可以涵盖所有功能,包括编辑,编辑,调试等等;而我们的 vim 是编辑器,单纯是写代码的。如果要编译则需要用到 GCc,g++,调试需要用到 gdb 。工具之间互相独立,虽然 vim 可以对功能进行整合。但是还是要拎清概念:vim 是一款编辑器。

vim 拥有的模式一共有 12 12 12 种模式,但我们 真正常用的只有三种命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode) 。所以我们今天在将 vim 基本操作时,主要围绕这三种模式进行讲解:

先了解一下这三种模式:

  • 正常/普通/命令模式(Normal mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode 。命令模式的功能很丰富,使操作便捷。

  • 插入模式(Insert mode)

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

  • 底行模式(last line mode)

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

三、vim 基本操作

首先,我们先讲讲最基本的操作,不说原理,只看操作。

当我们在终端输入 vim 时,会弹出这个界面:

image-20230104092149302

这个就是我们 vim 的界面,如果要退出,那么就需要按下 : q ,退出。

而 vim 另一个最基本的操作就是以 vim 方式打开文件,指令:vim file ,这里的 file 为文件名,如果文件不存在,当保存并退出 vim 时,会自动创建该文件。如果文件存在,则会直接打开文件。但是此刻,我们是不能进行输入操作的。

初识 vim 后,我们提出两个问题:

  1. : q 为什么可以退出界面?是和模式有关吗?
  2. 之前说到过模式,那么 vim file 进入的界面默认是什么模式?为什么不能输入?

大家先别着急,因为我们接下来讲解的就是三种模式的基本操作,而这两个问题在我讲完三种模式的操作时,大家自然也就明白了,所以我们接着往下看~

1、模式切换

vim 默认打开为 命令模式 ,命令模式下,是无法进行输入操作的。在命令模式下,可以实现对各种模式的切换,比如:

  • 命令模式 切换至 插入模式 :按 i / a / o 进入插入模式,三种方法都具有不同的效果。
  • 命令模式 切换至 底行模式shift : 两个键同时按住进入模式。进入模式后,在 vim 左下角出现了 :q 直接退出 ; wq :w 保存,q 退出,保存退出。
  • 任意模式 切换至 命令模式 :按 E S C ESC ESC ,直接切换至命令模式。

对于上面的切换操作可以用一张图表示:

image-20230104100907192

了解了这些,我们相当于已经学会了 vim 的最小集(能操作但不多),基于这些,我们尝试在 vim 下写一段代码:

在这里插入图片描述

2、命令模式

命令模式的目的就是让 vim 编辑更加高效

在命令模式下,我们可以使用 hjkl 进行 左、下、上、右 的光标移动。这种规定可以使得操作更加高效,集中。

下面,我们对常用命令做出一些整理(下面出现的 n 均代表数字) :

复制粘贴剪切

  • yy / nyy :复制光标所在行或者复制包含当前行在内的 n 行
  • p / np :粘贴一行或多行相同内容到当前光标所在行之下
  • dd / ndd :对当前行或者当前行在内的 n 行的内容进行剪切,移动光标到目标行进行 p 粘贴(只剪切,不粘贴相当于就是删除)

撤销

  • u :撤销上一步操作
  • ctrl + r :对撤销进行撤销

撤销只能对于本次操作内,退出保存再次操作时,是无法撤销的。

光标定位

对全局文档:

  • shift g :将光标定位到文档结尾
  • gg :将光标定位到文档开头
  • n shift g : 将光标定位到文档指定行

对局部长文本行(例如若干行100字符长度,行内快速定位):

  • shift $ :将光标定位到当前文档行的结尾
  • shift ^ :将光标定位到当前文档行的开头
  • w / b :按照单词为单位,进行后 / 前移动(单词定义:对于长串字符组成的非单词也认为是单词)
  • nw / nb :默认单词数从 0 开始,进行后 / 前移动 n 个单词间距

文本编辑

  • shift ~ :对文本行进行快速大小写切换,小写转大写,大写转小写。按住不动默认一直切换,直到文本行末尾
  • r 字符 / nr 字符 :替换光标所在的字符或者对于 n 个字符文本行进行批量化替换;如果 n 超过文本行长度,则不会进行替换
  • shift r :进入替换模式,该模式输入什么则对光标位置完成对等的替换,按退格键删除就是复原
  • x / nx :对文本行内进行向后删除或者对光标开始 n 个字符进行向后删除,按住不动默认一直删除,简单概括:行内删除,左侧–>右侧
  • shift x / shift nx :行内删除,右侧–>左侧

由于命令行模式指令较多,且部分指令单独演示起来效果不太好,所以我就完整演示一下 光标定位组 ,大家看一下效果即可:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vA2j40u9-1672838062778)(https://anduin.oss-cn-nanjing.aliyuncs.com/vim%E6%BC%94%E7%A4%BA8.gif)]

3、插入模式

  • 按 i 进入插入模式后,从光标当前位置开始输入
  • 按 a 进入插入模式后,光标往后跳转一个字符,从跳转后位置开始输入
  • 按 o 进入插入模式后,另起新的一行,从行首开始输入

4、底行模式

命令模式按 shift 进入底行模式。

调出 / 隐藏行号

  • set nu :显示行号
  • set nonu :隐藏行号

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yjk0HCSg-1672838062778)(https://anduin.oss-cn-nanjing.aliyuncs.com/vim%E6%BC%94%E7%A4%BA3.gif)]

搜索

  • : /关键字 :按照关键字搜索数据,并显示高亮

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KeD7BGmh-1672838062779)(https://anduin.oss-cn-nanjing.aliyuncs.com/vim%E6%BC%94%E7%A4%BA4.gif)]

保存和退出

  • w :保存
  • q :退出
  • wq :保存并退出
  • w! :在写保护文件情况下无法保存,强制保存。 ! 代表强制
  • q! :强制退出
  • wq! :强制保存并退出

强制的前提是 有权限 ,没权限照样不能强制。 ! 适用于强行修改写保护文件或配置文件等操作。

不退出 vim 执行 shell 命令

底行模式中,可以通过 !command 来完成不退出 vim ,执行 shell 指令,例如我们执行 ls -l 指令:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uYDkr4e1-1672838062779)(https://anduin.oss-cn-nanjing.aliyuncs.com/vim%E6%BC%94%E7%A4%BA9.gif)]

执行命令之后,会跳转到终端,这时按下 Enter 键返回。

批量替换数据

%s///g,可以对数据进行批量替换,g 代表全局,例如: %s/hello/HELLO/g ,是对全局中,将 hello 替换为 HELLO

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mexUPtDN-1672838062779)(https://anduin.oss-cn-nanjing.aliyuncs.com/vim%E6%BC%94%E7%A4%BA10.gif)]

分屏

在底行模式下使用vs file :创建一个 file 文件,这样就可以分屏。

如果想要知道我们当前处于哪个屏幕,只要明确一点:在 vim 中,光标在哪里,我们就是在编写哪个文件

通过 ctrl + ww 我们就可以切换到不同界面,分屏可以支持多个,但是推荐一般分屏 2 - 3 个就够用了,如果对于退出文件还是常规操作,下面我们全部演示一下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6qbnpfAH-1672838062779)(https://anduin.oss-cn-nanjing.aliyuncs.com/vim%E6%BC%94%E7%A4%BA11.gif)]

四、vim 的配置

我们上面演示操作的时候,可以发现当前使用的 vim 编辑器,没有智能化补全,没有缩进,连 tab 键都是八格,使用起来非常不方便。所以我们的 vim 通常需要配置。所谓配置,就是按照固定方法,让 vim 编辑器编写代码更加舒适,更加利于使用。

通常 vim 配置有两种方案:自定义配置自动化配置

自定义配置:

自定义 配置,就是按照自己的喜好配置,但是配置的时候可能会遇到很多问题,所以接下来我们简单就讲一下原理。

vim 在启动时,会自动在当前用户的 家目录 下,寻找配置文件,如果没有,就是默认配置。

image-20230104200349178

当前我们是没有配置文件的,所以需要手动创建一个:

[lx@VM-4-3-Centos ~]$ touch .vimrc

image-20230104200541110

现在 .vimrc 就是当前用户的配置文件。一个用户对应一个 vim 配置,如果只对当前用户进行配置,是不会影响其他用户的

使用 vim .vimrc 打开配置文件,进行相关配置,保存并关闭后,打开 vim ,这些配置会立马生效。

例如,我们随意进行一些配置:

set nusyntax enableset cursorlineset expandtabset tabstop=4set shiftwidth=4set smarttabset autoindentset encoding=utf-8set termencoding=utf-8set smartindentinoremap ( ()iinoremap [ []iinoremap { {}iinoremap < <>i  

这些可以完成一些基本配置,但是还是有一些问题的,比如成对大括号出现无法智能缩进等…

如果想要自定义配置的好的话,可以去查找一下资料,研究一下,配置出自己心仪的 vim ,虽然过程可能比较繁琐,但是一切都是为了自己的写代码时的舒适度。

博主是比较懒惰,对于一些细节要求也不多,所以采用的是第二种配置方案。

自动化配置

这种就是博主使用的配置方案。

某神为了解决小白在配置 vim 时十分繁琐的问题,于是在 gitee 中上传了一份自动配置方案。唯一的缺点是:该配置当前只支持 centos 7 版本,而博主也十分幸运,恰巧就是这个版本。

首先打开 gitee 搜索 vimforcpp ,打开后往下划或者直接点击 [该链接] 直接跳转。

然后看到安装方法

image-20230104202308777

复制框起来的指令,到 Linux 终端:

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

然后敲击回车,输入 root 账号密码,即可开始安装,安装界面:

image-20230104202431130

输入密码,等待安装成功后,根据提示输入:

source ~/.bashrc

就可以开始使用了~

该配置支持代码高亮,智能补齐、缩进,和语法提示等多种功能,不可谓不好用,接下来,就由我来演示一下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p0VIXFov-1672838062780)(https://anduin.oss-cn-nanjing.aliyuncs.com/vim%E6%BC%94%E7%A4%BA5.gif)]

版本正确的小伙伴们,还在等什么,赶紧使用起来!

五、结语

相信看到这里的小伙伴已经对 vim 的基本使用和配置有一定了解了。开头提出的问题大家应该可以轻松回答出来。

但是我们这里只是带大家上手,vim 还有很多操作,使用好 vim 可以让 Linux 环境下的开发事半功倍。

所以 a n d u i n anduin anduin 也为大家找来了陈皓大佬的 “vim 练级文章” ,有兴趣的小伙伴可以前去阅读:

那么到这里,本篇文章也就到此结束了,我们下期见~

来源地址:https://blog.csdn.net/m0_67867172/article/details/128554545

--结束END--

本文标题: 【Linux】顶级编辑器Vim的基本使用及配置

本文链接: https://www.lsjlt.com/news/385505.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【Linux】顶级编辑器Vim的基本使用及配置
    👑作者主页:@安 度 因 🏠学习社区:StackFrame 📖专栏链接:Linux 文章目录 一、前言二、vim基本概念三、vim 基本...
    99+
    2023-08-31
    vim linux 编辑器 运维 服务器
  • 【Linux】| Linux编辑器-vim的使用
    前言: 在上期我们介绍了关于【Linux】的软件包管理器——yum的使用,今天给大家介绍的是【Linux】的一款编辑器,即【vim】的使用教程。接下来,跟随我的脚步,一起去看看吧!! 目录 (一)走进vim👋 1、...
    99+
    2023-09-03
    linux 运维 服务器
  • linux下文本编辑器vim怎么用
    小编给大家分享一下linux下文本编辑器vim怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!文本文件的编辑命令:vim1、vim的三种状态模式1)命令模式(...
    99+
    2023-06-10
  • linux如何使用Vi/Vim编辑器
    这篇文章主要为大家展示了“linux如何使用Vi/Vim编辑器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux如何使用Vi/Vim编辑器”这篇文章吧。VI 编辑器是一个基于命令行的、功能...
    99+
    2023-06-16
  • Linux下Vim编辑器的使用小技巧有哪些
    小编给大家分享一下Linux下Vim编辑器的使用小技巧有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、备份个性化配置文件。Vim文本编辑器有很多默认的设置...
    99+
    2023-06-17
  • 关于Linux vi命令使用详解(vim编辑器)
    目录1、三种模式以及切换2、vi模式切换命令3、粘贴和拷贝4、保存和退出5、【高级命令】 光标命令6、【高级命令】 查找命令7、【高级命令】替换命令8、【高级命令】负责剪切命令1、三种模式以及切换   &nbs...
    99+
    2023-03-31
    Linux vi Linux vi命令 vi命令使用
  • linux常用基本命令及初级网络配置方法
    这篇文章主要介绍“linux常用基本命令及初级网络配置方法”,在日常操作中,相信很多人在linux常用基本命令及初级网络配置方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux常用基本命令及初级网络配...
    99+
    2023-06-13
  • JavaScriptwebpack5配置及使用基本介绍
    目录一、webpack1.1 简介1.2 五大核心概念entry (入口)output (出口)loaderplugin (插件)mode (模式)二、配置及使用项目结构使用html...
    99+
    2024-04-02
  • spf13-vim编辑器的使用优点有哪些
    本篇内容介绍了“spf13-vim编辑器的使用优点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!spf13-vim是一个跨平台和VIM...
    99+
    2023-06-12
  • linux常用的文本编辑器
    Linux常用的文本编辑器有以下几个:1. Vim:Vim 是一个功能强大的文本编辑器,它支持多种编辑模式,可以方便地编辑各种文本文...
    99+
    2023-09-20
    linux
  • Linux 使用vi文本编辑器详解
    目录 前言一.vi文本编辑器1.使用vi文本编辑器2.vi编辑器的工作模式3.命令模式中的基本操作(1)模式切换(2)移动光标(3)复制、粘贴和删除(4)查找文件内容(5)撤销编辑及保存和退出4.末行模式中的基...
    99+
    2023-03-06
    Linux 使用vi文本编辑器 linux操作系统vi文本编辑器 linux的vi编辑器命令
  • Linux 使用vi文本编辑器详解
    目录 前言一.vi文本编辑器1.使用vi文本编辑器2.vi编辑器的工作模式3.命令模式中的基本操作(1)模式切换(2)移动光标(3)复制、粘贴和删除(4)查找文件内容(5)...
    99+
    2023-03-06
    Linux 使用vi文本编辑器 linux操作系统vi文本编辑器 linux的vi编辑器命令
  • 如何使用Linux系统Vim编辑器来安装YouCompleteMe插件
    本篇内容主要讲解“如何使用Linux系统Vim编辑器来安装YouCompleteMe插件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Linux系统Vim编辑器来安装YouComplet...
    99+
    2023-06-12
  • linux中如何使用Sed文本编辑器
    这篇文章给大家分享的是有关linux中如何使用Sed文本编辑器的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Sed 缺少通常的文本框,而是按照用户的命令直接写入到文件上。sed 命令是为 AT&...
    99+
    2023-06-15
  • linux下vi编辑器的基本概念和操作
    这篇文章主要讲解了“linux下vi编辑器的基本概念和操作”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux下vi编辑器的基本概念和操作”吧! vi的基本概念   基本上vi...
    99+
    2023-06-13
  • Linux中怎么使用vi文本编辑器
    这篇文章主要介绍“Linux中怎么使用vi文本编辑器”,在日常操作中,相信很多人在Linux中怎么使用vi文本编辑器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux中...
    99+
    2023-03-08
    linux vi
  • Vim用户喜欢Kakoune文本编辑器的原因有哪些
    小编给大家分享一下Vim用户喜欢Kakoune文本编辑器的原因有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Kakoune 文本编辑器的灵感来源于...
    99+
    2023-06-15
  • 如何在Linux上使用JOE文本编辑器
    这篇文章将为大家详细讲解有关如何在Linux上使用JOE文本编辑器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。安装在 Linux 上,你也许能在你的发行版软件仓库中找到 JOE。虽然它有点小众,并不是所...
    99+
    2023-06-15
  • Linux系统中VIM最基本的使用方法是什么
    Linux系统中VIM最基本的使用方法是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。vim是linux下一款非常强大的文本编辑器,每一个程序员都应该熟练使...
    99+
    2023-06-28
  • linux中如何使用屏幕文本编辑器Vi
    这篇文章主要介绍了linux中如何使用屏幕文本编辑器Vi,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Linux系统提供了一个完整的编辑器家族系列,如Ed、Ex、Vi和Ema...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作