vim基本使用方法

VIM

  • 1.vim介绍
  • 2.vim基本操作
    • 2.1 模式切换
    • 2.2 命令模式
    • 2.3 底行模式

1.vim介绍

vim是linux上一个有多个编辑模式的编辑器。
这里主要介绍三种模式:

  • 命令模式(Normal mode)
    执行命令的模式,主要任务就是控制光标移动、复制和删除。
  • 插入模式(Insert mode)
    可以进行文字输入,编写代码模式。
  • 末行/底行模式(last line mode)
    文件保存退出,文本替换、列出行号等操作。

2.vim基本操作

使用vim打开不存在、已存在的文件
vim text.cpp

2.1 模式切换

  • 正常(Normal)模式切换到插入(Insert)模式:
    输入i、a、o任意一个小写字母即可切换到插入模式。
  • 插入模式/底行(last line)模式切换到正常模式:
    按一下Esc即可。
  • 正常模式切换到末行模式:
    输入:即可。

2.2 命令模式

  • yy(nyy):将光标所在的行(从下数n行)复制。
  • p(np):将复制的内容进行粘贴(n次)。
  • u:撤销操作。
  • Ctrl+r:撤销上一次撤销的动作。

上下移动:

  • G:将光标定位到文件结尾。
  • gg:光标定位到文件最开始。
  • n+G:光标定位到文件n行。

左右移动:

  • ^:将光标定位到当前行最开始。
  • $ :将光标定位到当前行最结尾。
  • w,b:以单词为单位将光标项向前后移动。
  • h、j、k、l:左、下、上、右。

文本替换:

  • shift+~:大小写替换,可以一下一下按,可以一直按。
  • R:进入替换模式。
  • r:替换光标所在的字符,支持nr,直接替换n个字节。
  • ·x 删除光标所在及其后面字符。支持nx。
  • X:删除光标前字符。支持nX。

2.3 底行模式

  • set nu/nonu:打开或关闭行号。
  • vs 文件名:分屏操作。
  • Ctrl+ww:将光标移到另一个文件中。
  • w:写入;w!
  • q:退出;q!
  • !+ cmd :不退出vim执行linux命令。

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

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

相关文章

8. 实现业务功能--用户注册

目录 1. 顺序图 2. 参数要求 3. 接口规范 4. 创建扩展 Mapper.xml 5. 修改 DAO 6. 创建 Service 接口 7. 实现接口 8. 测试接口 9. 实现 Controller 9.1 密码加密处理 10. 实现前端界面 业务实现过程中主要的包和目录及主要功能: model 包:实体对象 d…

动态规划入门之01背包变形嗑药

P1802 5 倍经验日 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 嗑药固然可耻,但是能让你快速变强 --鲁迅 手动滑稽,话归正题 动态规划之背包入门01背包模板_爱莉我老婆的博客-CSDN博客 这是01背包的模板,没看的可以去看看。 我们把…

vue 弹出框 引入另一个vue页面

为什么要这么做,适用于在一个页面逻辑比较多的时候,可以搞多个页面,防止出错 index页面点击解约按钮,弹出框 进入jieyue.vue 核心代码 <el-buttonsize"mini"type"text"icon"el-icon-edit"v-if"scope.row.delFlag 0"click"j…

守护网络安全:深入了解DDOS攻击防护手段

ddos攻击防护手段有哪些?在数字化快速发展的时代&#xff0c;网络安全问题日益凸显&#xff0c;其中分布式拒绝服务(DDOS)攻击尤为引人关注。这种攻击通过向目标网站或服务器发送大量合法或非法的请求&#xff0c;旨在使目标资源无法正常处理其他用户的请求&#xff0c;从而达…

【复盘】第 111 场力扣夜喵双周赛

又是7分选手&#xff0c;好好复盘&#xff01; 第一题&#xff08;签到题&#xff09; 给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 target &#xff0c;请你返回满足 0 < i < j < n 且 nums[i] nums[j] < target 的下标对 (i, j) 的数目。 示例 …

探索人工智能 | 模型训练 使用算法和数据对机器学习模型进行参数调整和优化

前言 模型训练是指使用算法和数据对机器学习模型进行参数调整和优化的过程。模型训练一般包含以下步骤&#xff1a;数据收集、数据预处理、模型选择、模型训练、模型评估、超参数调优、模型部署、持续优化。 文章目录 前言数据收集数据预处理模型选择模型训练模型评估超参数调…

websocker无法注入依赖

在公司中准备用websocker统计在线人数&#xff0c;在WebSocketServer使用StringRedisTemplate保存数据到redis中去&#xff0c;但是在保存的时候显示 StringRedisTemplate变量为null 详细问题 2023-08-20 10:37:14.109 ERROR 28240 --- [nio-7125-exec-1] o.a.t.websocket.po…

linux面试题整理

目录标题 基础篇1.说下企业为什么用linux而不用windows&#xff1f;2.linux学过什么&#xff0c;怎么学习的&#xff1f;3.linux基本命令4.linux查看端口、进程、文件类型、挂载5.使用top命令之后前五行会显示什么内容&#xff1f;6.linux怎么查找一个文件7.vim进去后的各种操作…

NAS个人云存储 - 手把手教你搭建Nextcloud个人云盘并实现公网远程访问

文章目录 摘要1. 环境搭建2. 测试局域网访问3. 内网穿透3.1 ubuntu本地安装cpolar3.2 创建隧道3.3 测试公网访问 4 配置固定http公网地址4.1 保留一个二级子域名4.1 配置固定二级子域名4.3 测试访问公网固定二级子域名 摘要 Nextcloud,它是ownCloud的一个分支,是一个文件共享服…

LeetCode ——二叉树篇(三)

刷题顺序及思路来源于代码随想录&#xff0c;网站地址&#xff1a;https://programmercarl.com 二叉树的定义及创建见&#xff1a; LeetCode ACM模式——二叉树篇&#xff08;一&#xff09;_要向着光的博客-CSDN博客 目录 116. 填充每个节点的下一个右侧节点指针 117. 填…

Maven介绍_下载_安装_使用_原理

文章目录 1 Maven介绍1.1 Maven的介绍1.2 Maven的作用 2 Maven下载与安装2.1 官网下载2.2 文件目录2.3 环境配置 3 Maven基础概念3.1 仓库分类3.2 依赖坐标3.3 坐标组成 4 Maven配置4.1 本地仓库配置4.2 远程仓库的设置4.3 镜像仓库配置4.4 IDEA配置Maven 5 Maven项目创建5.1 M…

LaWGPT零基础部署win10+anaconda

准备代码&#xff0c;创建环境 # 下载代码 git clone https://github.com/pengxiao-song/LaWGPT cd LaWGPT # 创建环境 conda create -n lawgpt python3.10 -y conda activate lawgpt pip install -r requirements.txt # 启动可视化脚本&#xff08;自动下载预训练模型约15GB…

arcpy之excel数据处理

目录 步骤一:导入所需模块步骤二:从Excel读取数据步骤三:将数据导入到Excel中步骤四:写入Excel数据总结当涉及到地理信息系统(GIS)数据处理时, ArcPy提供了处理 Excel数据的强大功能,包括从 Excel读取数据和将数据导入到 Excel中。在本篇博客中,我将向您介绍如何使…

postgresql自定义方法创建之坐标的自动转换

postgresql导入点类型的空间数据&#xff0c;一般会提供xy坐标(或者lon和lat)字段&#xff0c;一般的工具并没有提供转换为空间数据的功能。此时&#xff0c;我们需要提供一些方法或者触发器来实现空间字段的自动更新。而xy坐标在导入的时候也会存在两种情况&#xff0c;一种是…

回归预测 | MATLAB实现BiLSTM双向长短期记忆神经网络多输入多输出预测

回归预测 | MATLAB实现BiLSTM双向长短期记忆神经网络多输入多输出预测 目录 回归预测 | MATLAB实现BiLSTM双向长短期记忆神经网络多输入多输出预测预测效果基本介绍程序设计往期精彩参考资料 预测效果 基本介绍 MATLAB实现BiLSTM双向长短期记忆神经网络多输入多输出预测&#x…

el-row的@click.stop并没有阻止事件冒泡,还是会触发外层div的点击事件

当点击一个元素时&#xff0c;会进行冒泡&#xff0c;一直触发到父元素。可以通过给click加stop来阻止事件冒泡&#xff0c;如&#xff1a;click.stop“search_maf_version(version)”&#xff0c;但是发现给el-row加上click.stop并没有生效&#xff0c;还是会触发外部的点击事…

第二讲:BeanFactory的实现

BeanFactory的实现 1. 环境准备2. 初始化DefaultListableBeanFactory3. 手动注册BeanDefinition4. 手动添加后置处理器5. 获取被依赖注入的Bean对象6. 让所有的单例bean初始化时加载7. 总结 Spring 的发展历史较为悠久&#xff0c;因此很多资料还在讲解它较旧的实现&#xff0c…

中间件(上)

1、何为中间件&#xff1a; 中间件&#xff08;Middleware&#xff09;是指位于操作系统和应用程序之间的一层软件层&#xff0c;用于提供各种服务和功能&#xff0c;以帮助不同的应用程序、系统或组件进行通信、交互和协作。中间件可以看作是在不同计算机或系统之间建立连接和…

时序预测 | MATLAB实现基于CNN-BiLSTM卷积双向长短期记忆神经网络的时间序列预测-递归预测未来(多指标评价)

时序预测 | MATLAB实现基于CNN-BiLSTM卷积双向长短期记忆神经网络的时间序列预测-递归预测未来(多指标评价) 目录 时序预测 | MATLAB实现基于CNN-BiLSTM卷积双向长短期记忆神经网络的时间序列预测-递归预测未来(多指标评价)预测结果基本介绍程序设计参考资料 预测结果 基本介绍…

iTOP-RK3568开发板ubuntu环境下安装Eclipse

eclipse 是使用 Java 语言开发的&#xff0c;一个 Java 应用程序&#xff0c;这意味着 eclipse 只能运行在 Java虚拟机上。倘若没有安装 JDK&#xff08;Java Development Kit&#xff09;&#xff0c;即使在 ubuntu 上安装了 eclipse&#xff0c;也不能运行&#xff0c;所以要…