当前位置: 首页 > news >正文

高效文本编辑与导航:Vim中的三种基本模式及粘滞位的深度解析


✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭~✨✨

🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。

我是Srlua小谢,在这里我会分享我的知识和经验。🎥

希望在这里,我们能一起探索IT世界的奥妙,提升我们的技能。🔮

记得先点赞👍后阅读哦~ 👏👏

📘📚 所属专栏:Linux、运维

欢迎访问我的主页:Srlua小谢 获取更多信息和资源。✨✨🌙🌙

​​

​​

目录

粘滞位

粘滞位的使用

粘滞位的优点

适用场景

文本编辑器Vim三种模式

1. 命令模式(Normal Mode)

光标所在行

光标快速定位

2. 插入模式(Insert Mode)

3. 底行模式(Command-Line Mode)

总结


在此之前,为权限篇做一个补充:什么是粘滞位

粘滞位

在Linux中,"粘滞位"(Sticky Bit)是一种文件权限设置,主要用于目录,以确保只有文件的所有者或超级用户可以删除或重命名目录中的文件。它通常用于公共目录,如/tmp,以防止用户删除或修改其他用户的文件。

粘滞位的使用

  1. 设置粘滞位: 可以使用chmod命令来设置粘滞位。例如:

    chmod +t /path/to/directory
  2. 查看粘滞位: 使用ls -l命令查看目录权限时,如果粘滞位被设置,会在权限字符串的最后一位显示为t

    drwxrwxrwt 9 root root 4096 Oct 25 12:00 /tmp
  3. 删除文件: 如果在一个有粘滞位的目录中,用户只能删除自己创建的文件或目录,其他用户无法删除。

粘滞位的优点

  • 安全性:防止其他用户意外或恶意删除文件。
  • 管理:在共享目录中,维护文件的完整性。

适用场景

  • /tmp:临时文件存储,允许所有用户创建文件,但防止其他用户删除。
  • 任何需要共享但又不希望用户干扰彼此文件的目录。

文本编辑器Vim三种模式

在Linux中,特别是在使用文本编辑器Vim时,有三种主要的模式:命令模式、插入模式和底行模式。每种模式有不同的功能和用途。

1. 命令模式(Normal Mode)

光标所在行

  • 进入方式:打开Vim时默认处于此模式。
  • 功能:在命令模式下,你可以使用各种命令来操作文本,比如移动光标、删除行、复制粘贴等。
  • 常用命令
    • hjkl:左右上下移动光标。
    • x:删除光标所在的字符。
    • dd:删除当前行。
    • yy:复制当前行。(n+yy)
    • p:粘贴。

在Vim中,n+yyn+ddn+p是一些非常实用的命令,用于复制、删除和粘贴文本。以下是对它们的详细说明:

1. n+yy:复制多行

  • 功能:复制当前行及其下方的 n 行(包括当前行)。
  • 用法
    • 在命令模式下,输入 n(例如,3)后紧接着输入 yy
    • 示例:3yy 复制当前行及下方的两行(共三行)。

2. n+dd:删除多行

  • 功能:删除当前行及其下方的 n 行(包括当前行)。
  • 用法
    • 在命令模式下,输入 n 后紧接着输入 dd
    • 示例:2dd 删除当前行及下方的一行(共两行)。

3. n+p:粘贴多行

  • 功能:将之前复制或删除的内容粘贴到光标位置。
  • 用法
    • 在命令模式下,直接输入 p(在光标后粘贴)或 P(在光标前粘贴)。
    • 如果之前使用 n+yy 或 n+dd 进行了操作,使用 p 会粘贴你刚刚复制或删除的内容。

示例

假设当前有以下文本:

1. 行一
2. 行二
3. 行三
4. 行四
5. 行五
  • 执行 2yy,则复制“行一”和“行二”。
  • 执行 3dd,则删除“行一”、“行二”和“行三”。
  • 执行 p,则将之前复制的“行一”和“行二”粘贴在光标所在位置。

光标快速定位

1. Shift + r

  • 功能:在命令模式下,按 Shift + r 进入替换模式,可以替换光标所在位置的字符。你可以逐个字符地替换文本。

2. Shift + g

  • 功能:跳转到文件的最后一行。可以快速查看文件的末尾内容。

3. gg

  • 功能:跳转到文件的第一行。与 Shift + g 相对,方便快速返回文件开头。

4. n + Shift + g

  • 功能:如果在搜索模式下,按 n 加 Shift + g,将跳转到下一个匹配的结果所在的行。

5. Shift + 4 = $

  • 功能:移动光标到当前行的行尾。$ 是在命令模式下的常用命令。

6. Shift + 6 = ^

  • 功能:移动光标到当前行的行首。^ 是在命令模式下的另一个常用命令。

7. 单词为单位,向后跳转

  • 命令:使用 w 可以向前跳转到下一个单词的开头。

8. 单词为单位,向前跳

  • 命令:使用 b 可以向后跳转到前一个单词的开头。

9. n + x:光标位置向后按照字符进行删除

  • 功能:删除光标所在位置的 n 个字符。比如,3x 会删除光标后面的三个字符。

10. Shift + x = X:光标位置向前删除

  • 功能:删除光标前面的字符。X 会删除光标前的一个字符,n + Shift + x 可以删除多个字符。

11. Shift + ~

  • 功能:切换光标位置字符的大小写。例如,光标所在字符会从小写变为大写,反之亦然。

12. n + r:替换字符

  • 功能:在命令模式下,输入 n(例如 2)后按 r,可以替换光标所在位置的字符。例如,2rX 会将光标位置的下一个字符替换为 X

13. u

  • 功能:撤销上一次的操作。多次按 u 可以撤销多次操作。

14. Ctrl + r

  • 功能:重做撤销的操作。与 u 相反,可以恢复之前撤销的操作。

注释:ctrl + v   hjkl (光标定位) shift + i(l) -> // -> esc

去注释:ctrl + v -> hjkl -> d

2. 插入模式(Insert Mode)

  • 进入方式:从命令模式按 i 进入插入模式(在光标前插入),按 a(在光标后插入),或按 o(在当前行下新建一行并插入)。
  • 功能:在插入模式下,可以直接输入文本。
  • 退出方式:按 Esc 键返回命令模式。

3. 底行模式(Command-Line Mode)

  • 进入方式:在命令模式下按 : 键。
  • 功能:可以输入各种命令,比如保存、退出、搜索等。
  • 常用命令
    • :w:保存文件。
    • :q:退出Vim。
    • :wq:保存并退出。
    • :q!:强制退出(不保存)。
    • :set number:显示行号。

总结

  • 命令模式:进行导航和文本操作。
  • 插入模式:输入文本。
  • 底行模式:执行命令和设置。

​​

希望对你有帮助!加油!

若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!

相关文章:

高效文本编辑与导航:Vim中的三种基本模式及粘滞位的深度解析

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…...

w005基于Springboot学生心理咨询评估系统

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…...

实战-任意文件下载

实战-任意文件下载 1、开局 开局一个弱口令,正常来讲我们一般是弱口令或者sql,或者未授权 那么这次运气比较好,直接弱口令进去了 直接访问看看有没有功能点,正常做测试我们一定要先找功能点 发现一个文件上传点,不…...

PG数据库之视图详解

1. 视图的基本定义 在PostgreSQL(简称pg)数据库中,视图(View)是一种虚拟表,其内容由SQL查询定义。视图并不实际存储数据,而是在每次查询时根据定义的查询语句动态生成结果。视图可以简化复杂的…...

时间序列预测(十五)——有关Python项目框架的实例分析

#1024程序员节|征文# 在之前的学习中,已经对时间序列预测的相关内容有了大致的了解。为了进一步加深理解,并能够将所学知识应用于实际中,我决定找一个完整的Python框架来进行深入学习。经过寻找,我终于找到了一篇非常具…...

ETL、ELT和反向ETL都有什么不同?怎么选择?

数据处理是现代企业中不可或缺的一部分。随着数据量的不断增长,如何高效地处理、转换和加载数据变得尤为重要。本文将介绍三种常见的数据处理方式:ETL、ELT和反向ETL,帮助读者更好地理解和选择适合自己业务需求的方式。 一、ETL 定义&#…...

linux 中文实用型手册 基于RHEL(红帽系)

硬件系统 Updated by wangjing on 2024-10-28 at 02:36:57 in Tongzhou District, Beijing. 硬件信息 机器型号 dmidecode | grep "Product Name"CPU型号 cat /proc/cpuinfo |grep "model name" | uniqWWWCPU详情 lscpuCPU个数 cat /proc/cpuinfo |grep &q…...

Hash表算法

哈希表 理论知识(本文来自于代码随想录摘抄)什么是哈希常见的三种哈希结数组:set:map:其他常用方法或者技巧(自己总结的) 练习题和讲解有效的字母移位词349. 两个数组的交集1. 两数之和454. 四数相加 II15. 三数之和 总…...

MySQL企业常见架构与调优经验分享

文章目录 一、选择 PerconaServer、MariaDB 还是 MYSQL二、常用的 MYSQL 调优策略三、MYSOL 常见的应用架构分享四、MYSOL 经典应用架构 观看学习课程的笔记,分享于此~ 课程:MySQL企业常见架构与调优经验分享 mysql官方优化文档 调优MySQL参数 一、选择 …...

C++引用类型变量

引用变量的主要用途是用作函数的形参。这样函数将使用原始数据,而不是副本。除指针之外,引用也为处理大型结构提供了一种非常方便的途径。 再C中使用&符号标识引用。也就是说C给&符号赋予了另一个含义,将其用来声明引用。 引用的声…...

《C++23 新特性:现代软件开发的变革力量》

在软件开发的快速演进中,C作为一种强大且广泛应用的编程语言,不断推陈出新以适应日益复杂的开发需求。C23 的到来,为现代软件开发带来了诸多新的机遇和挑战。它的新特性不仅影响着开发者的编程习惯,也在代码效率、可维护性以及软件…...

Educational Codeforces Round 88 E. Modular Stability

题目链接 Educational Codeforces Round 88 E. Modular Stability 思路 对于任意的非负整数 x x x&#xff0c;我们要满足 x % a % b x % b % a x \% a \% b x \% b \% a x%a%bx%b%a。因为 a < b a < b a<b&#xff0c;所以只有 b b b为 a a a的倍数时才满足条件…...

Android中SurfaceView与GLSurfaceView 的关系

SurfaceView 与 GLSurfaceView 的关系 在 Android 开发中&#xff0c;SurfaceView 和 GLSurfaceView 是实现自定义渲染效果的关键组件。它们提供了不同的渲染方式&#xff0c;适用于不同的应用场景。我们将通过以下几个方面详细说明 SurfaceView 和 GLSurfaceView 的特点及实现…...

numpy——数学运算

一、标量——矢量 import numpy as npa 3.14 b np.array([[9, 5], [2, 7]])print(a) print(b)# ---------- 四则运算 ---------- print(a b) # np.add print(a - b) # np.subtract print(a * b) # np.multiply print(a / b) # np.divide 二、矢量——矢量 import nump…...

【工具】Charles对360浏览器抓包抓包

Charles 和 switchy sharp 配合&#xff0c;可以对 Chrome 进行抓包也可以配合对360安全浏览器抓包。 本文以Windows 电脑中的配置为例&#xff0c;介绍如何实现抓包。&#xff08;Mac中操作基本一致&#xff09; 1.安装Charles 可根据自己的电脑下载对应的版本&#xff1a;…...

【HarmonyOS】判断应用是否已安装

【HarmonyOS】判断应用是否已安装 前言 在鸿蒙中判断应用是否已安全&#xff0c;只是通过包名是无法判断应用安装与否。在鸿蒙里新增了一种判断应用安装的工具方法&#xff0c;即&#xff1a;canOpenLink。 使用该工具函数的前提是&#xff0c;本应用配置了查询标签querySch…...

Qt Designer客户端安装和插件集(pyqt5和pyside2)

GitHub - PyQt5/QtDesignerPlugins: Qt Designer PluginsQt Designer Plugins. Contribute to PyQt5/QtDesignerPlugins development by creating an account on GitHub.https://github.com/PyQt5/QtDesignerPlugins 一、下载客户端 https://github.com/PyQt5/QtDesigner/rel…...

基于边缘计算的智能门禁系统架构设计分析

案例 阅读以下关于 Web 系统架构设计的叙述&#xff0c;回答问题1至问题3。 【说明】 某公司拟开发一套基于边缘计算的智能门禁系统&#xff0c;用于如园区、新零售、工业现场等存在来访被访业务的场景。来访者在来访前&#xff0c;可以通过线上提前预约的方式将自己的个人信息…...

鸿蒙实现相机拍照及相册选择照片

前言&#xff1a; 1.如果你的应用不是存储类型或者相机拍照类型&#xff0c;你就需要用 kit.CameraKit Api 实现相机拍照和相册选择照片功能&#xff0c;如果你不用这个的话&#xff0c;你使用 picker.PhotoViewPicker &#xff0c;你就需要申请权限&#xff0c;那你提交应用审…...

「C/C++」C++17 之 std::filesystem::recursive_directory_iterator 目录及子目录迭代器

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「C/C」C/C程序设计&#x1f4da;全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…...

智能EDA小白从0开始 —— DAY30 冉谱微RFIC-GPT

在科技日新月异的今天&#xff0c;电子设计自动化&#xff08;EDA&#xff09;行业正以前所未有的速度推动着半导体产业的革新与发展&#xff0c;引领着全球电子产业迈向更加智能化、高效化的未来。作为EDA领域的佼佼者&#xff0c;冉谱公司始终站在技术创新的前沿&#xff0c;…...

Android -- 调用系统相册之图片裁剪保存

前言 最近线上反馈&#xff0c;部分vivo手机更换头像时调用系统相册保存图片失败&#xff0c;经本人测试&#xff0c;确实有问题。 经修复后&#xff0c;贴出这块的代码供小伙伴们参考使用。 功能 更换头像选择图片&#xff1a; 调用系统相机拍照&#xff0c;调用系统图片…...

读《道德经》让人感到心胸气闷?董仲舒篡改

为什么读《道德经》会让人感到心胸气闷&#xff1f;难道是董仲舒篡改所致&#xff1f; 作为世界智慧源头的《老子》&#xff0c;享誉古今中外&#xff0c;是世界历史上最伟大的著作之一。 然而&#xff0c;很多人读《道德经》时会感到心胸气闷&#xff0c;这究竟是为什么呢&am…...

D52【python 接口自动化学习】- python基础之模块与标准库

day52 标准库 学习日期&#xff1a;20241029 学习目标&#xff1a;模块与标准库 -- 67 标准库&#xff1a;Python默认提供的便携功能有哪些&#xff1f; 学习笔记 标准库中的常见组件 如何通过官方文档学习标准 from urllib.request import urlopen with urlopen(http://ww…...

基于yolov8的布匹缺陷检测系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】

更多目标检测和图像分类识别项目可看我主页其他文章 功能演示&#xff1a; 基于yolov8的布匹缺陷检测系统&#xff0c;支持图像、视频和摄像实时检测【pytorch框架、python源码】_哔哩哔哩_bilibili &#xff08;一&#xff09;简介 基于yolov8的布匹缺陷检测系统是在 PyTo…...

SQL Server 中,将单行数据转换为多行数据

在 SQL Server 中&#xff0c;将单行数据转换为多行数据通常涉及到将某个字段中的逗号分隔的值拆分成多行。这种操作通常称为“拆分”或“展开”&#xff08;Explode&#xff09;。以下是一些常用的方法来实现这一目标&#xff1a; 1. 使用内置函数 STRING_SPLIT 从 SQL Serv…...

解决数组两数之和问题与逻辑推理找出谋杀案凶手

给定一个整数数组nums和一个整数目标值target(2<nums.length<10^4)&#xff0c;请你在该数组中找出和为目标值target 的那两个整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案&#xff0c;并且你不能使用两次相同的元素。 你可以按任意顺序返…...

uniapp的IOS证书申请(测试和正式环境)及UDID配置流程

1.说明 本教程只提供uniapp在ios端的证书文件申请&#xff08;包含正式环境和开发环境&#xff09;、UDID配置说明&#xff0c;请勿用文档中的账号和其他隐私数据进行测试&#xff0c;请勿侵权&#xff01; 2.申请前准备 证书生成网站&#xff1a;苹果应用上传、解析&#x…...

windows 安装apex_Nvidia Apex安装

参见windows 安装apex_Nvidia Apex安装 重点&#xff1a; 1、在安装前先检查一下&#xff0c;电脑的cuda版本和pytorch内的cuda版本是否一样&#xff0c;不一样的话就把低版本的进行升级&#xff1b; $ git clone https://github.com/NVIDIA/apex$ cd apex2、在保证cuda版本一…...

Laravel5 抓取第三方网站图片,存储到本地

背景 近期发现&#xff0c;网站上的部分图片无法显示&#xff0c; 分析发现&#xff0c;是因为引用的第三方网站图片&#xff08;第三方服务器证书已过期&#xff09; 想着以后显示的方便 直接抓取第三方服务器图片&#xff0c;转存到本地服务器 思路 1. 查询数据表&#xff0…...

网站广告推送怎么做/官方正版清理优化工具

一、八大排序 排序也称排序算法(Sort Algorithm)&#xff0c;排序是将一组数据&#xff0c;依指定的顺序进行排列的过程。 排序分类 总体对比 1 冒泡排序 基本思想 冒泡排序&#xff08;Bubble Sorting&#xff09;的基本思想是&#xff1a;通过对待排序序列从前向后&…...

php网站建设制作方案/百度基木鱼建站

智慧警务三维电子沙盘系统 以“情报大数据、指挥扁平化、勤务可视化、情指勤一体化”为设计思想&#xff0c;整合三台合一、有无线通讯、12110短信平台、天网、交通平台、治安卡口、情报平台、一标三实、PGIS、GPS&#xff0c;采用大数据、云计算、三维GIS、移动互联网、物联…...

国外那些网站做展厅比较好/网站提交入口

方差分析针对因子型解释变量(也即分组变量)进行建模&#xff0c;而回归分析一般针对连续型解释变量进行建模。方差分析基于贝叶斯概率理论判断组间差异&#xff0c;而回归分析则可以基于最大似然法推断模型参数。这两种分析是很多数理统计例如组间差异分析(Metastats、Adonis、…...

网站改版 删除栏目/上海网络推广

数据表设计的时候使用一个字段来存储多对多关系&#xff0c;比如表 user 中有一个字段叫 category, category存储的是 "1,3,9" 这样的类型的数据&#xff0c;实际上是 category 的 id 用逗号分隔开来的。 向 user 表录入 100万的数据&#xff0c;同时建立 user_cate…...

电子科技技术支持东莞网站建设/网店运营公司

插入排序 插入排序是这样实现的&#xff1a;    首先新建一个空列表&#xff0c;用于保存已排序的有序数列&#xff08;我们称之为"有序列表"&#xff09;。    从原数列中取出一个数&#xff0c;将其插入"有序列表"中&#xff0c;使其仍旧保持有序状态…...

郑州网站关键词推广/舆情网站直接打开的软件

为什么80%的码农都做不了架构师&#xff1f;>>> 一、准备 下载新版JDK&#xff1a;http://www.oracle.com/technetwork/java/javase/downloads/index.html 所有版本请戳&#xff1a;http://www.oracle.com/technetwork/java/archive-139210.html 二、安装与配置 先…...