【Linux精讲系列】——vim详解

这篇具有很好参考价值的文章主要介绍了【Linux精讲系列】——vim详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

linux vim详解,Linux系统精讲,linux,vim,运维,服务器

​作者主页

📚lovewold少个r博客主页

   ⚠️本文重点c++入门第一个程序和基本知识讲解

👉【C-C++入门系列专栏】博客文章专栏传送门

😄每日一言:宁静是一片强大而治愈的神奇海洋!

linux vim详解,Linux系统精讲,linux,vim,运维,服务器

目录

目录

​作者主页

目录

前言

Linux编辑器vim的使用

vim的基本概念

vim的基本操作

进入vim编辑器

回到命令模式

进入插入模式

切换到末行模式

vim的正常模式命令集

vim正常模式命令集

插入模式

移动光标

删除文字

复制

替换

撤销上一次操作

更改

跳至到指定的行

vim末行模式命令集

vim的分屏模式

vim的额外配置

简单配置

vim for cpp 

支持环境

安装配置

卸载方法

命令模式 

总结


前言

首先我们要知道vim是什么?

        vi(Visual Editor)是由美国程序员比尔·乌尔曼(Bill Joy)于1976年开发的,最初是为了在Unix系统上进行文本编辑而创建的。它是一款基于模式编辑的文本编辑器,以其高效的键盘快捷键而闻名,可在终端环境下使用。vi 成为Unix系统中的标准文本编辑器,并且在大多数Unix和Linux系统上内置。

        vim(Vi IMproved):vim 由布莱姆·米特尔斯(Bram Moolenaar)于1991年开发,旨在改进 vi 的功能,并为用户提供更多的功能。vim 添加了许多新特性,如多级撤销、语法高亮、自动缩进、宏录制、拼写检查、插件支持等。vim 还提供了更多的定制选项,使用户能够根据自己的需求进行配置。vim 成为了 vi 的一个增强版本,但也保留了 vi 的基本编辑功能和键盘快捷键。

        vi 是老式的字处理器,功能齐全。而 vim 则可以说是基于vi上的程序开发者的一项很好用的工具。 连 vim 的官方网站 自己也说 vim 是一个程序开发工具而不是文字处理软件。当然了我们这里主要以vim作为讲解。

Linux编辑器vim的使用

vim的基本概念

vim常使用有三种模式:命令模式(Command mode),输入模式(Insert mode)、底线命令模式(Last line mode)

正常/普通/命令模式:

这种模式下主要是控制光标的移动,字符、字或行的删除,移动复制某区段的以及进入各种模式下的命令操作。

插入模式(insert mode)

在命令模式下按 i 进入插入模式。插入模式主要是对文本的修改操作,只有在插入模式(insert mode)下才能对文本进行插入操作。通过按【Esc】可以回到命令行模式。

末行模式:

在命令模式下按 shift + : 进入末行模式该模式主要是对文件的保存退出操作以及完成文本的一些功能性任务,比如查找字符串,列出行号等操作。

这些模式是最常用也是使用vim最频繁的三种模式,当然vim还具备很多模式我们不做过多讲解。

vim的强大在于他支持多模式的操作,我们不用去了解每一种模式,目前学习linux的vim主要核心还是抓住以上三个模式。

vim的基本操作

进入vim编辑器

vim 文件名

        vim+文件名默认进入命令模式即正常模式。打开所在目录下文件存在即会打开原有存在文件,打开不存在文件即会新建此文件名的文件。

linux vim详解,Linux系统精讲,linux,vim,运维,服务器

linux vim详解,Linux系统精讲,linux,vim,运维,服务器

回到命令模式

在任何模式下无脑Esc即可回到命令模式。

进入插入模式

在【命令模式】切换进入【插入模式】一般有三种方式可以进入

i, I 进入输入模式(Insert mode):
i 为【从目前光标所在处输入】, I 为【在目前所在行的第一个非空格符处开始输入】。 
a, A 进入输入模式(Insert mode):
a 为【从目前光标所在的下一个字符处开始输入】, A 为【从光标所在行的最后一个字符处开始输入】。
o, O 进入输入模式(Insert mode):
这是英文字母 o 的大小写。o 为【在目前光标所在的下一行处输入新的一行】; O 为在目前光标所在处的上一行输入新的一行!

linux vim详解,Linux系统精讲,linux,vim,运维,服务器

切换到末行模式

shift+:进入末行模式。在末行模式下可以实现对文件的保存退出,查找等操作。常用以下操作对文件的保存和写入退出。

:w 保存当前文件
:wq 保存并且退出vim
:q! 不保存强制退出vim

        以上操作就可以基本上把vim用起来了,实现基本的文件编写保存,退出等操作。然而我们要知道的是,vim主要是以键盘的方式操作,也就意味着键盘能做到很多功能操作而不需要鼠标。事实上vim的出现比鼠标诞生更加早,那么我们现在能用鼠标实现对光标的移动,文本的选取,以及查询等功能按键的点击操作。而我们知道其实很多操作都是有快捷键的,从而实现用键盘对文本编辑的快速操作。我们接下来主要学习对vim的功能操作。

vim的正常模式命令集

vim正常模式命令集

插入模式

Vim 的插入模式是用来输入文本的模式,可以通过以下命令从正常模式切换到插入模式且完成一些操作:

  • i :在光标当前位置开始输入文本。

  • I :在当前行的行首开始输入文本。

  • a :在光标下一个位置开始输入文本。

  • A :在当前行的行尾开始输入文本。

  • o :在当前行的下方插入一个新行,并开始输入文本。

  • O :在当前行的上方插入一个新行,并开始输入文本。

  • s :删除当前光标所在处的字符,并开始输入文本。

  • S :删除当前行,并开始输入文本。

  • c :删除指定范围的文本,并开始输入文本。需要和动作命令配合,例如 cw 删除一个单词,c$ 删除到行尾,c3w 删除三个单词等。

在插入模式下,按 Esc 键可以返回正常模式。

移动光标

        要知道的是在vim中,我们还保留了一些历史的印记。老式的键盘上没有上下左右的方向键,在之前要完成对光标的操作是集成在键盘h,j,k,l中。分别控制光标左下上右移动一格,当然我们也可以用我们的方向键操作。

        这是vi的创作人使用的键盘布局,当时对于上下左右键并没有完全的标准,甚至很多键盘并不存在上下左右键,vi便设计了这种操作方式。这样的操作方式逐步遗留到vim以过渡前期使用vi的人。同时我们使用hjkl也能有一定的优势,我们的双手可以一直停留在主键盘上,而不需要单独切换到右手端的方向键,对于习惯了使用hjkl键位作为方向键的人在光标操作也会更加快捷。

linux vim详解,Linux系统精讲,linux,vim,运维,服务器

  • 行内移动
    • 左移一个字符:h
    • 右移一个字符:l
    • 移动到下一个单词的开头:w
    • 移动到上一个单词的开头:b
    • 移动到当前单词的结尾:e
    • 移动到行首:0
    • 移动到行尾:$
  • 跨行移动
    • 下移一行:j
    • 上移一行:k
    • 移动到文件末尾:G
    • 移动到文件开头:gg
    • 移动到第n行:nG
    • 移动到屏幕顶部:H
    • 移动到屏幕中间:M
    • 移动到屏幕底部:L
    • 向前翻页:Ctrl+f
    • 向后翻页:Ctrl+b
    • 向前翻半页:Ctrl+u
    • 向后翻半页:Ctrl+d
  • 查找移动
    • 查找word并移动到第一个匹配处:/word
    • 移动到下一个匹配处:n
    • 移动到上一个匹配处:N
    • 查找光标所在单词并移动到第一个匹配处:*
    • 查找光标所在单词并移动到上一个匹配处:#
    • 查找匹配的括号并移动到对应位置:%

删除文字

  • 删除文字
    • 每按一次删除光标所在位置的一个字符:x
    • 指定删除所在位置后面(包括自己在内的)#个字符 : #x
    • 大写的X,每按一次可以删除光标所在位置前面的一个字符:X
    • #X表示删除光标所在的位置前面的#个字符:#X
    • 删除光标所在行:dd
    • 从光标所在位置,向后面删除#行:#dd

复制

  • 将光标所在之处到字尾的字符复制到缓冲区:yw
  • 复制#个字符到缓冲区:#yw
  • 复制光标所在行到缓冲区:yy
  • 拷贝从光标所在行往下数#行文字:#yy
  • 粘贴缓冲区内容到光标所在行:p

替换

  • 替换光标所在位置的字符:r
  • 替换光标所在之处的字符,知道按下ESC键停止:R

撤销上一次操作

  • 如果您误执行一个命令,可以马上按下u撤销上一个操作,多次按u可以多次撤销:u
  • 撤销的恢复,对于错误撤销可以执行对撤销操作的撤销:crtl+r

更改

  • 更改光标所在处的字到字尾处:cw
  • 表示可以更改光标所在位往后的#个字符:c#w

跳至到指定的行

  • 列举处光标所在行的行号:crtl+g
  • 移动光标至文章的第#行的行首:#G

vim末行模式命令集

首先在命令模式下shift+:进入末行模式。

  • 保存文件:w
  • 退出 Vim 编辑器:q
  • 保存文件并退出 Vim 编辑器:wq
  • 强制退出 Vim 编辑器,不保存修改:q!
  • 显示行号:set nu
  • 隐藏行号:set nonu
  • 向下搜索 word 这个字符串:/word
  • 向上搜索 word 这个字符串:?word
  • 重复上一次的搜索 :n
  • 替换当前行第一个 old 为 new :s/old/new
  • 替换当前行所有的 old 为 new :s/old/new/g
  • 替换整个文件中所有的 old 为 new :%s/old/new/g

vim的分屏模式

分屏命令

sp:水平分屏

vsp:垂直分屏

ctrl+ww:多屏之间切换

qall:退出所有屏,以此内推有:wall、wqall

vim -o aa.txt bb.txt:进入的时候就进行分屏(o水平;O垂直)

vim的额外配置

        我们确实知道了用键盘就可以实现对文本的各种操作,但是使用起来还是不舒服,相比于vs还有很多编辑器来说,他的使用相当麻烦。无法自动缩进,自动补全,用起来得一个字一个字的打,这还不如用word,至少还有个括号匹配。所以这一小节我们就讲一讲如何实现自主配置vim,完成高级的编译环境搭建。

简单配置

        我们首先要理解的是如何更改配置文件。在目录/etc/下有一个名为virmrc的文件,这是系统公共的vim配置文件,对于所有用户都生效,而我们配置vim文件最好是在自己的普通用户下建立配置文件。

        在每一个用户的主目录底下,都可以创建自己私有的配置文件,命名为".vimrc"。通常情况下会存在一个这样的文件,如果没有自行配置即可。

首先进入用户主目录,用vim打开".vimrc"文件

linux vim详解,Linux系统精讲,linux,vim,运维,服务器

        在这个文件下我们可以通过添加配置选项来配置vim运行环境。这里我们就不赘诉可以执行那些指令来改变操作环境,我们直接使用插件或者别人已经配置好的文件进行修改。

vim for cpp 

        这里我们学习使用一键化配置的方式。主要目标是帮助对vim配置方法不熟悉的新手封装的一键式vim环境安装包. 主要针对终端vim用户, 适合远程ssh连接Linux服务器进行开发的场景(例如使用阿里云服务器或者腾讯云服务器等)。

项目原地址:VimForCpp: 快速将vim打造成c++ IDE

支持环境

目前只支持 Centos7 x86_64.

安装配置

在 shell 中执行指令(想在哪个用户下让vim配置生效, 就在哪个用户下执行这个指令. 强烈 "不推荐" 直接在 root 下执行):

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

卸载方法

在安装了 VimForCpp 的用户下执行:

bash ~/.VimForCpp/uninstall.sh

命令模式 

linux vim详解,Linux系统精讲,linux,vim,运维,服务器

        此项目主要对cpp环境进行适配,能实现代码高亮,代码补全自动缩进等操作。具体可以看项目操作文档。

总结

        本章主要讲解了vim的常见操作,vim编辑器强大且在linux开发环境下极为重要,掌握vim是学习linux系统中极为重要的一环。相信大家都能快速掌握。


    作者水平有限,如有错误欢迎指正!


linux vim详解,Linux系统精讲,linux,vim,运维,服务器

    文章来源地址https://www.toymoban.com/news/detail-768135.html

到了这里,关于【Linux精讲系列】——vim详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux系列讲解 —— VIM配置与美化

    1.1 配置文件 vim的配置文件有两处,请根据实际情况选择修改哪个。 (1) 全局配置文件( /etc/vim/vimrc ) 此文件的配置会对系统内所有用户有效,包括root用户。 (2) 单用户配置文件( /home/xxx/.vimrc ) 此文件的配置只对用户xxx有效。这里xxx代表用户名,比如用户名是sun,则修改

    2024年02月04日
    浏览(36)
  • 【Linux】vim 操作指令详解

    我们先来了解 vi , vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于 x window、 mac os、windows。 vim相当于是vi的升级版 , vi

    2024年01月24日
    浏览(43)
  • 运维 | 查看 Linux 服务器 IP 地址

    大多数在操作 Linux 系统时,我们经常需要知道服务器的 IP 比便于后续的一系列操作,这时候有快速查看主机 IP 的命令行操作,能够有效的帮助我们 本章节主要记录一些常用查看服务器 IP 的命令,希望对大家有所帮助。 查看 Linux 服务器的 IP 地址的命令大体上有以下几种。

    2024年04月27日
    浏览(81)
  • Linux编辑器——Vim详解

    目录 ⭐前言 ⭐vim的基本概念 ⭐vim的基本操作 ⭐vim命令模式命令集  ⭐vim末行模式命令集 ⭐简单vim配置 ⭐配置文件的位置 ⭐常用配置选项 vi/vim的区别 简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面

    2024年02月21日
    浏览(52)
  • 【Linux】编辑器vim详解

        vim是 文件编辑器 ,是vi的升级版本,兼容vi的所有指令,同时做了优化和延伸。vim有多种模式,其中最常用的模式有命令模式、插入模式、底行模式以及替换模式和视图模式。(视图模式本文暂不提及)    在使用vim编辑器进行文件的编辑之前,需要确保自己的系统已经

    2024年02月06日
    浏览(50)
  • 【运维】Linux 跨服务器复制文件文件夹

    如果是云服务 建议用内网ip scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来

    2024年02月08日
    浏览(74)
  • Linux:Vim文本编辑器及其应用详解

    众多 Linux 发行版系统,通常都已经默认安装好了 vi 或 Vim 文本编辑器,Centos 也不例外,该系统就默认安装有 vi 文本编辑器,但建议大家使用 Vim。 如果在命令行模式下输入“vim”,输出结果为“Command not found”,则表示此系统中未安装 Vim。 CentOS 系统中,使用如下命令即可安

    2024年02月12日
    浏览(74)
  • 【Linux系统编程】Linux编辑器——vim

    从这篇文章开始,我们要来学习一些Linux中的开发工具。 这篇文章,我们先来学习一下Linux中的文本编辑器——vim。 首先我们来认识一下什么是vim Vim(Vi IMproved)是一款文本编辑器,它是从 Vi 编辑器发展而来的。Vim 在功能上比 Vi 更加强大,并提供了更多的扩展性和定制选项

    2024年02月13日
    浏览(55)
  • 《Linux运维篇:Linux系统运维指南》

    《Linux运维总结:Ubuntu20.04+Ubuntu22.04配置静态固定IP地址》 《Linux运维总结:使用U盘制作Linux镜像》 《Linux运维实战:不重启识别新挂载磁盘》 《Linux运维实战:使用parted进行磁盘分区》 《Linux运维实战:fdisk和parted一键分盘格式化分区》 《Linux运维实战:Centos7.9系统实现在线

    2023年04月24日
    浏览(73)
  • Linux文本编辑器vim使用和配置详解

    ​ vim是Linux的一款文本编辑器,可以用来编辑代码,而且支持语法高亮,还可以进行一系列配置使vim更多样化。也可以运行于windows,mac os上。 ​ vim有多种模式,但目前我们只介绍绝大多数场景用的到的模式,也就是命令模式,插入模式和底行模式,其他模式以后用到了会介

    2024年02月05日
    浏览(69)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包