【Linux】vim 操作指令详解

Linux

  • 1 what is vim ?
  • 2 vim基本概念
  • 3 vim的基本操作 !
    • 3.1 vim的快捷方式
      • 3.1.1 复制与粘贴
      • 3.1.2 撤销与剪切
      • 3.1.3 字符操作
    • 3.2 vim的光标操作
    • 3.3 vim的文件操作
  • 总结
  • Thanks♪(・ω・)ノ感谢阅读
  • 下一篇文章见!!!

1 what is vim ?

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

vim相当于是vi的升级版, vim具有程序编辑能力,可以主动以字体颜色标识语法的正确性,方便代码编写 ,程序简单,编辑速度非常快
综上所述 这是一个老式的文字处理工具,但是功能很齐全,不仅是文本处理工具,还是一个程序编辑工具

最重要的是 vim 生态丰富,使用起来十分方便。

2 vim基本概念

vim具有主要有三个模式(vim具有非常多的模式):
命令模式 底行模式 插入模式

1. 命令/正常模式 (Normal mode):
   控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
2. 插入模式 (Insert mode):
	只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是使用的最频繁的编辑模式。
3. 末行模式(last line mode)
	文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入


(我的vim配置过了,界面略有不同)

3 vim的基本操作 !

我们了解vim之后,下一步就要学习如何使用这个实用工具。
我们分两个部分来详细讲解,如同windos的鼠标与键盘快捷方式。

3.1 vim的快捷方式

3.1.1 复制与粘贴

vim中的复制粘贴操作:

yy 复制当前行
n + yy 连续复制 n 行
p 粘贴到光标下一行
n + p 粘贴 n 次

来看看具体操作效果:
(复制粘贴这里就不放动图了,图片挺直观)
在这里插入图片描述

效果比Ctrl c 、Ctrl v更强大!

3.1.2 撤销与剪切

vim 中的撤销剪切操作:
u 撤销操作
dd 剪切 / 删除 指定行
n + dd 剪切 / 删除 n 行

来看看操作效果:
撤销
在这里插入图片描述
剪切 / 删除
在这里插入图片描述
剪切/删除 n 行
在这里插入图片描述

3.1.3 字符操作

vim 中的字符操作:

shift + ` 切换大小写
n + x 删除 光标后 n 个字符 (一行内)
n + shift + x 删除 光标前 n 个字符 (一行内)
n + r 光标位置进行指定切换 一次可替换多个
shift + r 进入 替换模式 直接进行文本替换

来看看操作效果

切换大小写
在这里插入图片描述
删除字符
在这里插入图片描述
替换字符
在这里插入图片描述

3.2 vim的光标操作

这里如同鼠标一样灵活操作。
vim 中的光标操作:

shift + 4 = $ 光标移动到当前行的结尾
shift + 6 = ^ 光标移动到当前行的开头
gg 移动光标到文本开头
shift + g 移动光标到文本最后一行
n + shift + g 移动光标到文本第 n 行
h j k l 左 下 上 右 移动光标
w 以单词为单位向后移动光标
b 以单词为单位向前移动光标

来看看操作效果:

移动到行开头 / 结尾
在这里插入图片描述
移动到文本开头 / 结尾
在这里插入图片描述
上下左右移动光标
在这里插入图片描述
以单词为单位移动
在这里插入图片描述

3.3 vim的文件操作

文件操作是在底行模式下进行的保存,编译 ,强制等操作。
w 保存
q 退出
!强制进行操作
vs filename 多文件分屏操作
!command 不退出vim 进行 shell 指令操作

来看看操作效果:

保存退出

加粗样式
分屏操作
在这里插入图片描述

总结

vim 的操作我只介绍了一部分,还有许多等待大家探索!!!

Thanks♪(・ω・)ノ感谢阅读

下一篇文章见!!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

无刷电机学习-方波电调 程序篇1(AM32)

一、AM32简介 AM32 固件专为 ARM 处理器设计,用于控制无刷电机 (BLDC)。该固件旨在安全、快速、平滑、快速启动和线性油门。它适用于多种车辆类型和飞行控制器。 AM32具有以下特点: 可通过 betaflight 直通、单线串行或 arduino 升级固件伺服 PWM、Dsh…

基于SpringBoot Vue宠物领养系统

大家好✌!我是Dwzun。很高兴你能来阅读我,我会陆续更新Java后端、前端、数据库、项目案例等相关知识点总结,还为大家分享优质的实战项目,本人在Java项目开发领域有多年的经验,陆续会更新更多优质的Java实战项目&#x…

Leetcode—216.组合总和III【中等】

2023每日刷题&#xff08;七十八&#xff09; Leetcode—216.组合总和III 算法思想 实现代码 class Solution { public:vector<vector<int>> combinationSum3(int k, int n) {vector<vector<int>> ans;vector<int> path;function<void(int,…

【复现】万户ezoffice协同管理平台 SQL注入漏洞_26

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一&#xff1a; 四.修复建议&#xff1a; 五. 搜索语法&#xff1a; 六.免责声明 一.概述 万户ezOFFICE协同管理平台分为企业版和政务版。 解决方案由五大应用、两个支撑平台组成&#xff0c;分别为知识管理、工作流程、沟…

2011-2022年北大数字普惠金融指数“第五期”(包括省市县)

2011-2022年北大数字普惠金融指数“第五期”&#xff08;包括省市县&#xff09; 1、时间&#xff1a;2011-2022年 其中县级的时间为2014-2022年 2、来源&#xff1a;北大数字普惠金融指数 3、范围&#xff1a;全国31省&#xff0c;337个地级市以及2800个县 4、指标&#x…

CSS 图片遮罩学习小节

概念&#xff1a;-webkit-mask-image是一项用于制作镂空图形和图形遮罩效果的CSS样式属性。 -webkit-mask-image 的值既可以是渐变色也可以是图片地址。 -webkit-mask-image 的起源很早&#xff0c;但兼容性不好&#xff0c;因此用途并不广泛。 效果如下&#xff1a; 底图&…

Apache Doris (六十九):JDBC Catalog

🏡 个人主页:IT贫道-CSDN博客 🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~ 🔔 博主个人B栈地址:豹哥教你学编程的个人空间-豹哥教你学编程个人主页-哔哩哔哩视频 目录 1. 创建Catalog

Linux运维实战:CentOS7.6操作系统(Shell脚本基础)

文章目录 第19章 Shell脚本基础19.1 Shell基本语法19.1.1 什么是Shell19.1.2 编程语言分类1.低级语言2.高级语言19.1.3 什么是Shell脚本19.2 Shell变量及运用19.2.1 Shell变量1.变量的设置规则如下2.按照变量的作用可以分成以下4类3.按照变量的作用域可以把变量分成两类:…

【愚公系列】2023年12月 HarmonyOS应用开发者基础认证(完美答案)

&#x1f3c6; 作者简介&#xff0c;愚公搬代码 &#x1f3c6;《头衔》&#xff1a;华为云特约编辑&#xff0c;华为云云享专家&#xff0c;华为开发者专家&#xff0c;华为产品云测专家&#xff0c;CSDN博客专家&#xff0c;CSDN商业化专家&#xff0c;阿里云专家博主&#xf…

编码下的雪景:如何用HTML和JS让雪花在屏幕上舞动

这段时间&#xff0c;全国各地都加入了下雪的队伍当中&#xff0c;看着窗外漫天飞雪&#xff0c;想着我的网站上面也来一场雪吧。正琢磨着如何实现&#xff0c;网上突然蹦出来一段下雪的代码&#xff0c;这不正是我要的么&#xff1f;先来看看效果吧。 效果一 效果二 效果三 要…

一文让你彻底搞懂cookie和session产生漏洞的原理

首先让我们来看看登录的一般流程&#xff1a; 输入账号密码提交给后端&#xff1b;后端进行判断账号密码是否一致&#xff0c;这里的逻辑根据每个程序员的想法去写&#xff1b;如果通过2登录成功&#xff0c;跳转登录成功的页面&#xff1b; 如果通过2登录失败&#xff0c;跳转…

时限挑战——深度解析Pytest插件 pytest-timeout

在软件开发中,测试用例的执行时间通常是一个关键考虑因素。Pytest插件 pytest-timeout 提供了一个强大的插件,允许你设置测试用例的超时时间。本文将深入介绍 pytest-timeout 插件的基本用法和实际案例,助你精确掌控测试用例的执行时限。 什么是pytest-timeout? pytest-tim…

Rustdesk 中VP8 / VP9 / AV1 是什么?

环境&#xff1a; Rustdesk1.1.9 VP8 / VP9 / AV1 问题描述&#xff1a; VP8 / VP9 / AV1 是什么&#xff1f; 解决方案&#xff1a; 1.VP8、VP9和AV1是视频编解码器&#xff0c;用于压缩和解压缩视频数据。它们是由Google和Alliance for Open Media&#xff08;AOM&#…

seldom之数据驱动

seldom之数据驱动 如果自动化某个功能&#xff0c;测试数据不一样而操作步骤是一样的&#xff0c;那么就可以使用参数化来节省测试代码。 seldom是我在维护一个Web UI自动化测试框&#xff0c;这里跟大家分享seldom参数化的实现。 GitHub&#xff1a;GitHub - SeldomQA/seld…

设计模式—行为型模式之备忘录模式

设计模式—行为型模式之备忘录模式 备忘录&#xff08;Memento&#xff09;模式&#xff1a;在不破坏封装性的前提下&#xff0c;捕获一个对象的内部状态&#xff0c;并在该对象之外保存这个状态&#xff0c;以便以后当需要时能将该对象恢复到原先保存的状态。该模式又叫快照模…

jdk17新特性——文本块(即多行的字符串)增强

目录 一、文本块(即多行的字符串)概述二、文本块(即多行的字符串)示例2.1、jdk17之前 多行字符串处理方式2.2、jdk17及以后版本 多行字符串处理方式2.3、注意事项 三、文本块(即多行的字符串)转义字符示例3.1、jdk17及以后版本 多行字符串的转义字符处理方式示例一3.2、jdk17及…

又一款在线文档写作神器-Writerside

背景 最近自己整理一款在线文档&#xff0c;不小心&#xff0c;又发现github上有一款很比较符合我想法的文档&#xff0c;仔细跟踪以下&#xff0c;这款工具是 Writerside&#xff0c;竟然是jetbrains 出品&#xff0c;可以单独下载&#xff0c;也可以使用idea的插件使用&…

K8s知识点总结_part2

为什么我们会需要 Pod&#xff1f; 容器的本质是一种特殊的进程&#xff0c;如果映射到系统中&#xff0c;容器镜像就是这个系统里的“.exe”安装包。 那么 Kubernetes 呢&#xff1f;Kubernetes 就是操作系统 在一个真正的操作系统里&#xff0c;进程并不是“孤苦伶仃”地独…

软考之软件工程

一、瀑布模型 严格区分阶段&#xff0c;每个阶段因果关系紧密相连&#xff0c;只适合需求明确的项目 缺点&#xff1a;软件需求完整性、正确性难确定&#xff1b;严格串行化&#xff0c;很长时间才能看到结果&#xff1b;瀑布模型要求每个阶段一次性完全解决该阶段工作&#xf…

LeetCode_11_中等_盛最多水的容器

文章目录 1. 题目2. 思路及代码实现&#xff08;Python&#xff09;2.1 双指针 1. 题目 给定一个长度为 n n n 的整数数组 h e i g h t height height 。有 n n n 条垂线&#xff0c;第 i i i 条线的两个端点是 ( i , 0 ) (i, 0) (i,0) 和 ( i , h e i g h t [ i ] ) (i…