【Linux】linux系统VIM简介_使用

1、简介

1.1定义

  • VIM(Vi IMproved)是 Vi 编辑器的增强版本,提供了更多的功能和改进的用户界面。
  • 它被广泛认为是程序员的编辑器首选之一,特别适用于代码编辑和文本处理。
  • VIM 拥有多种模式,每种模式都有其特定的功能和操作方式。

1.2常用模式

  • 命令模式(Normal Mode):默认模式,用于执行复制、粘贴、剪切、查找、替换等操作。
  • 插入模式(Insert Mode):从命令模式进入,用于插入和编辑文本。
  • 可视模式(Visual Mode):选择文本块,以便进行复制、剪切等操作。
  • 底行模式(Command-Line Mode):从命令模式通过输入冒号(:)进入,用于保存文件、退出 VIM、查找替换等操作。

2、使用

2.1基本模式分类

  • 命令模式(正常模式,一般模式)
    • 直接用vim打开文本时,默认进入此模式。
    • 在此模式下,可以移动光标、复制粘贴、删除、替换、模式切换等操作,但不能直接编辑文本。
    • 光标移动可以使用如h(左)、j(下)、k(上)、l(右)等命令。
    • 撤销、恢复、重复等操作可以通过u(撤销)、Ctrl + r(重做)等命令实现。
  • 插入模式(编辑模式)
    • 从命令模式进入编辑模式,需要按下iIoOaArR等键之一。
    • 屏幕左下方会出现INSERTREPLACE等字样,表示已进入编辑模式。
    • 在此模式下,可以插入和删除文本。
    • 要回到命令模式,按Esc键。
  • 底行模式(尾行模式,命令行模式)
    • 在命令模式下输入:/可以将光标移到末行。
    • 在此模式下,可以执行如保存退出(:wq)、查找(/后接搜索内容)、替换(如:s@要查找的内容@替换的内容@g)等操作。

2.2常用快捷键

  • 移动光标
    • 字符间跳转:h(左)、j(下)、k(上)、l(右)。
    • 单词间跳转:w(下一个单词)、b(上一个单词)。
    • 行首行尾跳转:^(行首非空白字符)、0(行首)、$(行尾)。
    • 行间跳转:nG(跳转到第n行)、gg(跳转到第一行)、G(跳转到最后一行)。
    • 翻屏操作:Ctrl + f(向前翻页)、Ctrl + b(向后翻页)。
  • 编辑命令
    • 插入文本:i(当前字符前)、a(当前字符后)、o(当前行下方新开一行)。
    • 删除文本:x(删除当前字符)、dd(删除当前行)。
    • 复制粘贴:yy(复制当前行)、p(粘贴)。
    • 替换文本:r(替换当前字符)、cw(更改当前单词)。
  • 其他命令
    • 撤销操作:u(撤销)、Ctrl + r(重做)。
    • 保存退出::wq(保存并退出)、:q!(不保存强制退出)。
    • 查找替换:/(开始查找)、:s(替换命令)。

2.3多文件与多窗口操作

  • 使用:vs 文件名命令可以在当前窗口右侧打开一个新窗口并加载指定文件。
  • 使用Ctrl + w + w可以在不同窗口间切换。
  • 使用:wqall可以保存所有文件并退出vim。

2.4定制vim的工作特性

  • 在底行模式下,可以通过设置选项来定制vim的工作特性,但这些设置仅对当前vim进程有效。
  • 要使设置永久生效,需要修改vim的配置文件(通常是~/.vimrc)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/34098.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ImportError: No module named createrepo

我在用createrepo命令创建本地源时,出现如下: ImportError: No module named createrepo原因估计就是之前升级python2.6为2.7时导致(系统为centos7),看网上很多说, 修改/usr/share/createrepo/genpkgmeta…

大咖共话|智领未来,数字化革新生命健康产业

在数字化浪潮席卷全球的今天,生命健康产业正迎来前所未有的发展机遇。6月20日,“第三届滨海中关村协同创新发展交流会”在北京隆重举办,唯迈医疗与业界大咖齐聚一堂,在“数字化赋能驱动生命健康产业发展”圆桌论坛上,共…

【PostgreSQL】AUTO_EXPLAIN - 慢速查询的日志执行计划

本文为云贝教育 刘峰 原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。 一、介绍 在本文中,我们将了解 PostgreSQL AUTO_EXPLAIN功能的工作原理,以及为什么应该使用它来收集在生产系统…

(1985-2022年)各省、地级市数字经济专利数据 整理

数字经济专利数量是衡量一个国家或地区在数字经济领域创新能力和技术发展水平的重要指标。这些专利通常与数字技术、互联网、大数据分析、云计算、人工智能(AI)、区块链、物联网(IoT)等创新成果相关。数字经济专利的增长不仅反映了…

[JS]函数

介绍 函数就是用来执行特点任务的代码块, 目的是实现代码复用, 提高开发效率 使用 1.0函数的声明 function 函数名 () {//函数体 } 2.0函数的调用 3.0命名规范 和变量命名规则基本一致尽量小驼峰式命名前缀应该为动词 传参 函数的参数可以极大提高函数的灵活性 1.0参数…

【React】变量 useState

开发需要,随便学学react。上手第一天,感觉这个JS语法很怪,没有什么逻辑性,比较抽象。随便写写笔记。 跟着网上找的项目写写感觉这个项目还不错: 分享给码友 https://zh-hans.react.dev/learn/tutorial-tic-tac-toe 参…

PEI转染试剂哪个品牌好用?

在做细胞转染实验时,经常会有这样的疑问,我们应该选择PEI转染试剂还是脂质体转染试剂?PEI转染试剂哪个品牌好用?在了解这个问题之前,我们先看看细胞转染的背景。 近年来,随着许多与疾病和细胞过程相关的基因被确定为…

等保测评是什么?等保方案怎么做?

等保测评,全称为网络安全等级保护测评,是依据国家相关标准对信息系统进行安全性评估和测试,以确保其符合国家等级保护要求的一种活动。这项测评工作对于保障信息系统安全至关重要,尤其是在当前网络安全威胁日益严峻的背景下。下面…

内存问题调优-GC

1. 排查元空间内存溢出 : 在JVM中配置 -verbose:class 打印类加载信息。 什么条件触发GC-CMS为例 1. eden区满了?会不会触发GC? eden区满触发YGC,FGC会出发全代回收,即Eden区也会被回收2. 老年代满了会不会触发GC&a…

代码随想录训练营Day45

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、打家劫舍二、打家劫舍2三、打家劫舍3 前言 提示:这里可以添加本文要记录的大概内容: 今天是跟着代码随想录刷题的第45天&#xff…

XX公司-JAVA笔试题

一、单选题 某单位的会议室有5排共40个座位,每排座位数相同。小张和小李随机入座,则他们坐在同一排的概率()。 A、不高于 15% B、高于 15%但低于 20% C、正好为 20% D、高于 20% 先让小张随机入座,有40个座位可选&…

【大数据 复习】第9章 数据仓库分析工具Hive

一、概念 1.概述 (1)Hive是一个构建于Hadoop顶层的数据仓库工具。 (2)某种程度上可以看作是用户编程接口,本身不存储和处理数据。 (3)依赖分布式文件系统HDFS存储数据。 (4&#xf…

python - 变量和字符串

一.变量 变量名就像我们现实社会的名字,把一个值赋值给一个名字时,Ta会存储在内存中,称之为变量(variable),在大多数语言中,都把这种行为称为“给变量赋值”或“把值存储在变量中”。 •不过P…

赋能行业数字化转型——家居建材信息API合集

家居建材信息API的核心原理在于利用互联网技术,通过预先定义的接口规范,实现家居建材信息的共享与交互。API作为连接数据源和应用程序的桥梁,能够接收请求并返回相应的数据。 家居建材信息API具有以下几个方面特点: 数据标准化&…

快手可灵:上线图生视频和视频续写

上次介绍的快手的 Kling 大模型上线了新功能,其中图生视频支持将静态图像转化为生动的 5 秒视频,运动幅度比 Luma 低,但是非常稳定。视频续写则支持单次让视频运动延续 4.5 秒,支持连续多次的续写,最长可生成 3 分钟的…

族乐智能零火转单火套件零火智能开关单火模块零线生成器

族乐智能零火转单火套件零火智能开关单火模块零线生成器 史新华 族乐智能零火转单火套件,如同一位巧手匠人,将传统的零火智能开关巧妙地转化为更为灵活的单火模式。这款套件不仅体现了现代科技的精妙之处,更展现了对传统技术的深情致敬与巧…

第30讲:Ceph集群RBD块存储通过CSI客户端与K8S StorageClass集成

文章目录 1.Ceph集群使用CSI客户端与K8S StorageClass集成简介2.RBD块存储与StorageClass集成架构图3.Ceph集群为StorageClass提供块存储设备3.1.在Ceph集群中创建StorageClass使用的资源池3.2.创建K8S集群访问RBD块存储设备的认证用户3.3.获取Ceph集群的集群信息 4.在K8S集群中…

C语言—结构体

1.结构体类型的声明 结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。 1.1结构的简单声明 struct xxx {member——list; }xxxxx; 例如:描述一本书 struct BOOK {char Book_Name[20];char autho…

面向卫星遥感的红外微小舰船目标检测方法:MTU-Net

论文简介 空间红外微小舰船检测旨在从地球轨道卫星所拍摄的图像中识别并分离出微小舰船。由于图像覆盖面积极其广大(如数千平方公里),这些图像中的候选目标相比空中或地面成像设备观测到的目标,尺寸更小、亮度更低且变化更多。现有…

mayavi pyqt 实例

目录 安装: 示例代码: 生成3d检测框: 显示立方体 两个窗口 安装: pip install vtk pip install mayavi pip install PyQt5 pip install pyqt5 mayavi traits traitsui 示例代码: import sys from PyQt5.QtWidg…