您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux百科

Linux下vim各模式的操作你了解吗

时间:2022-07-04 12:04:04  来源:  作者:Java架构学习指南

前言

学习linux少不了和vim打交道,今天我们就来了解一下什么是vim,如何高效使用vim以及如何配置vim。

vi和vim都是linux下多模式的编辑器,两者关系类似于c/c++的关系,vim是vi的升级版,不仅兼容vi的所有指令,还增加了一些新的特性,比如语法高亮,支持正则表达式等,vim具有程序编辑能力,常用于编写代码。下面让我们具体了解vim

Linux下vim各模式的操作你了解吗

Linux下vim各模式的操作你了解吗

vim的模式

vim有多种模式,这里介绍一些常用的模式给大家,分别是命令模式(也叫普通模式Normal mode)、插入模式(Insert mode)、底行模式(last line mode)、可视化模式(Visual mode)、替换模式(Replace mode)。

用得最多的就是命令模式、插入模式和底行模式。文章后面也会教大家在vim上查看其他模式,linux下一般默认是安装了vim,没有下载vim执行下面指令即可

[king@VM-12-11-centos code]$ sudo yum intsall -y vim

vim后直接跟文件就会打开对应的文件,如果文件不存在就会自动创建

[king@VM-12-11-centos code]$ vim tmp.c

打开后就是这个界面,这里我的vim是配置过的,和原生的vim不同,文章后面会介绍vim的具体配置。

Linux下vim各模式的操作你了解吗

Linux下vim各模式的操作你了解吗

vim模式间的切换

vim打开后默认在Normal命令模式下,也可以称为中间模式,因为模式间的切换都需要回到命令模式下再切换到对应的模式 在任何模式下只需要Esc键即可回到命令模式,如何从命令模式切换到指定模式我们我们接下来介绍

Linux下vim各模式的操作你了解吗

Linux下vim各模式的操作你了解吗

命令模式

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段等

光标操作

早期的键盘是没有上下左右键的

Linux下vim各模式的操作你了解吗

Linux下vim各模式的操作你了解吗

所以用h(左)、j(下)、k(上)、l(右)

  • shift+^ :光标定位到当前行的行首,shift+$光标定位到当前行行尾
  • gg :定位到起始行
  • shift+g :定位到结束行
  • n+shift+g :n表示指定的行数,跳转到指定行
  • b/w :以单词为单位光标前/后移动
  • #l :光标在该行向后移动#个间距
  • ctrl + b :屏幕往“后”移动一页
  • ctrl +f :屏幕往“前”移动一页
  • ctrl +u :屏幕往“后”移动半页
  • ctrl+d :屏幕往“前”移动半页

文本操作

  • yy :复制当前行
  • nyy :以当前行开始,复制n行
  • p:粘贴
  • np :一次重复粘贴n行
  • u:撤销
  • ctrl+r :恢复刚才的撤销,也就是撤销刚才的撤销
  • dd :删除光标所在行(ps:这里删除还可以当做剪切使用,比如dd删除当前行后,按p可以粘贴到指定位置)
  • ndd :删除n行
  • shift+~ :单词大小写切换
  • x :删除光标所覆盖的字符
  • xn :删除光标后的n个字符
  • shift+x :删除光标前的一个字符
  • n+shift+x :删除光标前n个字符
  • r+字符 :用指定字符替换光标所在字符
  • n+r+字符 :用指定字符替换光标后的n个字符

替换模式

  • shift+r :从命令模式切换为替换模式,在键盘上不断输入就会不断替换当前光标所在字符

插入模式

插入模式就是用来编辑文件内容的模式

从命令模式下进入插入模式:

  • i/I :在光标前面/行首插入
  • a/A :在光标后面/行尾插入
  • o/O :在光标下/上行行首插入

还有一些其他的方式这里就不介绍了,我们一般用i从命令模式进入插入模式然后编辑代码

底行模式

  • :(Shift+冒号) :从命令模式进入底行模式
  • w :保存
  • q :退出
  • ! :强制执行
  • wq! :强制保存并退出
  • set nu :显示行号
  • set nonu :去掉行号

这里本来是有信号的,我们set nonu后就不显示行号了

Linux下vim各模式的操作你了解吗

Linux下vim各模式的操作你了解吗


Linux下vim各模式的操作你了解吗

Linux下vim各模式的操作你了解吗

vs [文件名] :在窗口下打开对应文件

Linux下vim各模式的操作你了解吗

Linux下vim各模式的操作你了解吗

这样就把code.c也显示出来了

ctrl+ww :光标在文件间切换,同时光标在哪个文件,操作的就是哪个文件,wq退出的也是对应的文件

Linux下vim各模式的操作你了解吗

Linux下vim各模式的操作你了解吗

help vim-modes查看vim的各种模式

开头的就是命令模式、可视化模式和选择模式的介绍,回车键或是上下左右键翻看文件内容,[冒号+q]即可退出

Linux下vim各模式的操作你了解吗

Linux下vim各模式的操作你了解吗

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

两者的区别是:[/关键字]是从文件底部开始找,而「?关键字」是从文件顶部开始的

可视化模式

v或shift+v或ctrl+v :都可从命令模式进入可视化模式

批量化注释和去注释

在可视化模式下:用hjkl键选择需要注释掉的区域(黄颜色的就是选中的区域)

Linux下vim各模式的操作你了解吗

Linux下vim各模式的操作你了解吗

然后按shift+i,再输入//此时就注释掉了上图第5行,然后Esc退出,被选中区域就全部注释掉了。

去掉注释:同样在可视化模式下,hjkl选择去注释区域,输入d直接去掉注释

使用hjkl键选择要复制的内容,按y键复制,移动光标,在要粘贴的地方按p粘贴,会直接在光标所在位置处向后粘贴

批量化缩进

同样在可视化模式下通过hjkl选中要缩进的区域,然后按shift+i然后Tab键缩进单行,然后Esc退出,这样被选中区域就都缩进了

vim的配置

默认得vim不太好用,需要我们自己配置,普通用户配置vim只能影响当前的普通用户,其他用户不受影响。同时建议以普通用户的身份配置,不要使用root用户配置。

在普通用户下创建一个名为.vimrc的文件,然后打开

[test@VM-12-11-centos ~]$ touch .vimrc
[test@VM-12-11-centos ~]$ vim .vimrc
  • 设置语法高亮:syntax on
  • 显示信号 :set nu

还有一些其他的我就不介绍了,[ESc]进入命令模式,[:wq]保存退出

Linux下vim各模式的操作你了解吗

Linux下vim各模式的操作你了解吗

这样vim就可以显示信号和语法高亮了

Linux下vim各模式的操作你了解吗

Linux下vim各模式的操作你了解吗

这里给大家推荐一个已经配置好的vim插件VimForCpp,现成的轮子不用白不用,将下面方框中的指令复制到linux上执行即可,不过只支持centos7

Linux下vim各模式的操作你了解吗

Linux下vim各模式的操作你了解吗

输入root密码后就可以下载了

Linux下vim各模式的操作你了解吗

Linux下vim各模式的操作你了解吗

下载完成后输入指令vim就配置好了

[test@VM-12-11-centos ~]$ source ~/.bashrc
Linux下vim各模式的操作你了解吗

Linux下vim各模式的操作你了解吗

配置好后,vim界面就是这样了

Linux下vim各模式的操作你了解吗

Linux下vim各模式的操作你了解吗

vim快捷键图片

Linux下vim各模式的操作你了解吗

Linux下vim各模式的操作你了解吗

文章介绍了vim的一部分功能,vim的功能远不止这么多,后期我会慢慢的更新内容。上面的这些常用指令熟练使用后,我们不仅可以脱离鼠标,还会大大提高写代码的效率。



Tags:vim   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
精通vi/vim编辑器:几个关键技巧
vi编辑器是Linux系统中常用的文本编辑器,对于系统管理员和程序员来说,掌握vi编辑器的常用技巧是非常必要的。本文将介绍一些vi编辑器的常用技巧,帮助读者提高编辑效率。进入vi...【详细内容】
2023-09-05  Search: vim  点击:(250)  评论:(0)  加入收藏
Linux Vim常用命令总结 从入门到精通
Vim 是一款功能丰富的文本编辑器,拥有许多强大的命令和快捷键。以下是Vim中一些常用并且非常有用的命令和技巧:1.模式:普通模式:Vim的默认模式,用于导航和执行命令。插入模式:键入...【详细内容】
2023-08-10  Search: vim  点击:(592)  评论:(0)  加入收藏
Linux神之编辑器VIM,史上最强编辑器!
什么是vim编辑器?做编程工作,离不开各种编辑器,每种语言都有适合自己的文本编辑器,比如Python用PyCharm,C++用Visual Studio,前端开发用VS Code......但是,如果需要一款综合性价比...【详细内容】
2023-01-08  Search: vim  点击:(342)  评论:(0)  加入收藏
Linux常用命令(vim+权限+磁盘+网络)
常用命令cd - 可以快速回到上个目录ls -l /proc/PID 查看当前进程详细信息ls -hal h 文件容量易读模式du -sh 文件夹路径 查看使用量touch -t "202101011200" aaa.txt...【详细内容】
2022-10-24  Search: vim  点击:(387)  评论:(0)  加入收藏
Vim到底可以配置得多漂亮?
DevWeekly收集整理每周优质开发者内容,包括开源项目、工具资源、技术文章等方面,每周五首发于GitHub - Jackpopc/DevWeekly: 每周五发布,精选优质开发者内容,包括开源项目、工...【详细内容】
2022-07-24  Search: vim  点击:(538)  评论:(0)  加入收藏
Linux下vim各模式的操作你了解吗
前言学习linux少不了和vim打交道,今天我们就来了解一下什么是vim,如何高效使用vim以及如何配置vim。vi和vim都是linux下多模式的编辑器,两者关系类似于c/c++的关系,vim是vi的升...【详细内容】
2022-07-04  Search: vim  点击:(428)  评论:(0)  加入收藏
VS Code - Vim 插件自动切换输入法
前言: 在使用 Linux 的过程中,vim 是一个不错的编辑器,以至于多数人将其用成了习惯,在没有 vim 的环境下还是习惯用 vim 的快捷键来编辑文本。所以便有开发者们为众多的 IDE 和...【详细内容】
2022-06-05  Search: vim  点击:(360)  评论:(0)  加入收藏
Linux开发工具(yum、vim、gcc/g++、gdb、make/makefile)
一、软件包管理器yum1.什么是软件包在Linux下安装软件, 通常的办法是下载程序的源代码、编译、得到可执行程序。但是这样麻烦、不便于操作,于是一些人把常用的软件提前编译好...【详细内容】
2022-04-07  Search: vim  点击:(313)  评论:(0)  加入收藏
vim 技巧 及缩进
vim如何选中多行后批量缩进1. ”shift+v“选中行2. 使用"=="进行缩进 带来的问题是:可能很多时候默认都是table【而我想要的是4个空格或者8个空格】所以继续下面: 永久设置TAB...【详细内容】
2021-04-12  Search: vim  点击:(722)  评论:(0)  加入收藏
不会vi/vim,看这一篇足矣
今日分享:Don't allow your rituals to become ruts. -- Todd Henry❞ vi/vim 的重要性不言而喻,比如登录服务器操作。那么如何掌握呢?看这一篇足矣。1.介绍vi/vim 是 Linu...【详细内容】
2020-07-04  Search: vim  点击:(409)  评论:(0)  加入收藏
▌简易百科推荐
微软 Win11 Linux 子系统(WSL)发布 2.2.2 版本
IT之家 4 月 8 日消息,微软近日更新 Windows Subsystem for Linux(WSL),最新 2.2.2 版本中带来了诸多改进,重点更新了 nft 规则,可以让 IPv6 流量通过 Linux 容器。图源: dev.to,AI...【详细内容】
2024-04-08    IT之家  Tags:Linux   点击:(10)  评论:(0)  加入收藏
从原理到实践:深入探索Linux安全机制
Linux 是一种开源的类Unix操作系统内核,由Linus Torvalds在1991年首次发布,其后又衍生出许多不同的发行版(如Ubuntu、Debian、CentOS等)。前言本文将从用户和权限管理、文件系统...【详细内容】
2024-03-27  凡夫编程  微信公众号  Tags:Linux安全   点击:(26)  评论:(0)  加入收藏
在Linux系统中,如何处理内存管理和优化的问题?
本文对 Linux 内存管理和优化的一些高级技巧的详细介绍,通过高级的内存管理技巧,可以帮助系统管理员和开发人员更好地优化 Linux 系统的内存使用情况,提高系统性能和稳定性。在...【详细内容】
2024-03-26  编程技术汇  微信公众号  Tags:Linux   点击:(18)  评论:(0)  加入收藏
Linux 6.9-rc1 内核发布:AMD P-State 首选核心、BH 工作队列
IT之家 3 月 25 日消息,Linus Torvalds 宣布,Linux 6.9 内核的首个 RC(候选发布)版 Linux 6.9-rc1 发布。▲ Linux 6.9-rc1Linus 表示,Linux 内核 6.9 看起来是一个“相当正常”...【详细内容】
2024-03-25    IT之家  Tags:Linux   点击:(16)  评论:(0)  加入收藏
轻松实现Centos系统的软件包安装管理:yum指令实战详解
yum 是一种用于在 CentOS、Red Hat Enterprise Linux (RHEL) 等基于 RPM 的 Linux 发行版上安装、更新和管理软件包的命令行工具。它可以自动解决软件包依赖关系,自动下载并...【详细内容】
2024-02-27  凡夫贬夫  微信公众号  Tags:Centos   点击:(61)  评论:(0)  加入收藏
Win + Ubuntu 缝合怪:第三方开发者推出“Wubuntu”Linux 发行版
IT之家 2 月 26 日消息,一位第三方开发者推出了一款名为“Wubuntu”的缝合怪 Linux 发行版,系统本身基于 Ubuntu,但界面为微软 Windows 11 风格,甚至存在微软 Windows 徽标。据...【详细内容】
2024-02-27    IT之家  Tags:Ubuntu   点击:(55)  评论:(0)  加入收藏
Linux中磁盘和文件系统工作原理解析
在Linux系统中,一切皆文件的概念意味着所有的资源,包括普通文件、目录以及设备文件等,都以文件的形式存在。这种统一的文件系统管理方式使得Linux系统具有高度的灵活性和可扩展...【详细内容】
2024-02-20  王建立    Tags:Linux   点击:(61)  评论:(0)  加入收藏
Linux子系统概览
inux操作系统是一个模块化的系统,由多个子系统组成。这些子系统协同工作,使Linux能够执行各种任务。了解Linux的子系统有助于更好地理解整个操作系统的运作机制。以下是Linux...【详细内容】
2024-02-01    简易百科  Tags:Linux   点击:(89)  评论:(0)  加入收藏
Linux内核:系统之魂与交互之源
内核,作为任何基于Linux的操作系统的心脏,扮演着至关重要的角色。它不仅是计算机系统软件与硬件之间的桥梁,更是确保系统稳定、高效运行的关键。内核提供了一系列核心功能,为上...【详细内容】
2024-02-01  松鼠宝贝    Tags:Linux内核   点击:(74)  评论:(0)  加入收藏
如何确保Linux进程稳定与持久
在Linux系统中,进程的稳定性与持久性对于维持系统的持续运行至关重要。然而,由于各种原因,进程可能会面临崩溃或系统重启的情况。为了确保关键进程能够持续运行,我们必须采取一...【详细内容】
2024-01-19  松鼠宝贝    Tags:Linux进程   点击:(94)  评论:(0)  加入收藏
站内最新
站内热门
站内头条