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

Linux关于vim的笔记

Linux关于vim的笔记:(vimtutor打开vim 教程)

---------------------------------------------------------------------------------------------------------------------------------

  1. 光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键。

         h (左移)       j (下行)       k (上行)     l (右移)

  2. 欲进入 Vim 编辑器(从命令行提示符),请输入:vim 文件名 <回车>

  3. 欲退出 Vim 编辑器,请输入 <ESC>   :q!   <回车> 放弃所有改动。

                      或者输入 <ESC>   :wq   <回车> 保存改动。

  4. 在正常模式下删除光标所在位置的字符,请按: x

  5. 欲插入或添加文本,请输入:

         i   输入欲插入文本   <ESC>             在光标前插入文本

         A   输入欲添加文本   <ESC>             在一行后添加文本

特别提示:按下 <ESC> 键会带您回到正常模式或者撤消一个不想输入或部分完整

的命令。

---------------------------------------------------------------------------------------------------------------------------------

  1. 欲从当前光标删除至下一个单词,请输入:dw

  2. 欲从当前光标删除至当前行末尾,请输入:d$

  3. 欲删除整行,请输入:dd

  4. 欲重复一个动作,请在它前面加上一个数字:2w

  5. 在正常模式下修改命令的格式是:

               operator   [number]   motion

     其中:

       operator - 操作符,代表要做的事情,比如 d 代表删除

       [number] - 可以附加的数字,代表动作重复的次数

       motion   - 动作,代表在所操作的文本上的移动,例如 w 代表单词(word),

                  $ 代表行末等等。

  6. 欲移动光标到行首,请按数字0键:0

  7. 欲撤消以前的操作,请输入:u (小写的u)

     欲撤消在一行中所做的改动,请输入:U (大写的U)

     欲撤消以前的撤消命令,恢复以前的操作结果,请输入:CTRL-R

---------------------------------------------------------------------------------------------------------------------------------

  1. 要重新置入已经删除的文本内容,请按小写字母 p 键。该操作可以将已删除

     的文本内容置于光标之后。如果最后一次删除的是一个整行,那么该行将置

     于当前光标所在行的下一行。

  2. 要替换光标所在位置的字符,请输入小写的 r 和要替换掉原位置字符的新字

     符即可。

  3. 更改类命令允许您改变从当前光标所在位置直到动作指示的位置中间的文本。

     比如输入 ce 可以替换当前光标到单词的末尾的内容;输入 c$ 可以替换当

     前光标到行末的内容。

  4. 更改类命令的格式是:

         c   [number]   motion

---------------------------------------------------------------------------------------------------------------------------------

  1. CTRL-G 用于显示当前光标所在位置和文件状态信息。

     G 用于将光标跳转至文件最后一行。

     先敲入一个行号然后输入大写 G 则是将光标移动至该行号代表的行。

     gg 用于将光标跳转至文件第一行。

  2. 输入 / 然后紧随一个字符串是在当前所编辑的文档中正向查找该字符串。

     输入 ? 然后紧随一个字符串则是在当前所编辑的文档中反向查找该字符串。

     完成一次查找之后按 n 键是重复上一次的命令,可在同一方向上查

     找下一个匹配字符串所在;或者按大写 N 向相反方向查找下一匹配字符串所在。

     CTRL-O 带您跳转回较旧的位置,CTRL-I 则带您到较新的位置。

  3. 如果光标当前位置是括号(、)、[、]、{、},按 % 会将光标移动到配对的括号上。

  4. 在一行内替换头一个字符串 old 为新的字符串 new,请输入  :s/old/new

     在一行内替换所有的字符串 old 为新的字符串 new,请输入  :s/old/new/g

     在两行内替换所有的字符串 old 为新的字符串 new,请输入  :#,#s/old/new/g

     在文件内替换所有的字符串 old 为新的字符串 new,请输入  :%s/old/new/g

     进行全文替换时询问用户确认每个替换需添加 c 标志        :%s/old/new/gc

---------------------------------------------------------------------------------------------------------------------------------

  1. :!command 用于执行一个外部命令 command。

     请看一些实际例子:

         (MS-DOS)         (Unix)

          :!dir            :!ls            -  用于显示当前目录的内容。

          :!del FILENAME   :!rm FILENAME   -  用于删除名为 FILENAME 的文件。

  2. :w FILENAME  可将当前 VIM 中正在编辑的文件保存到名为 FILENAME 的文

     件中。

  3. v motion :w FILENAME 可将当前编辑文件中可视模式下选中的内容保存到文件

     FILENAME 中。

  4. :r FILENAME 可提取磁盘文件 FILENAME 并将其插入到当前文件的光标位置

     后面。

  1. :r !dir 可以读取 dir 命令的输出并将其放置到当前文件的光标位置后面。

-----------------------------------------------------------------------------------------------------------------------------

  1. 输入小写的 o 可以在光标下方打开新的一行并进入插入模式。

     输入大写的 O 可以在光标上方打开新的一行。

  2. 输入小写的 a 可以在光标所在位置之后插入文本。

     输入大写的 A 可以在光标所在行的行末之后插入文本。

  3. e 命令可以使光标移动到单词末尾。

  4. 操作符 y 复制文本,p 粘贴先前复制的文本。

  5. 输入大写的 R 将进入替换模式,直至按 <ESC> 键回到正常模式。

  6. 输入 :set xxx 可以设置 xxx 选项。一些有用的选项如下:

        'ic' 'ignorecase'       查找时忽略字母大小写

        'is' 'incsearch'        查找短语时显示部分匹配

        'hls' 'hlsearch'        高亮显示所有的匹配短语

     选项名可以用完整版本,也可以用缩略版本。

  7. 在选项前加上 no 可以关闭选项:  :set noic

-----------------------------------------------------------------------------------------------------------------------------

  1. 输入 :help 或者按 <F1> 键或 <Help> 键可以打开帮助窗口。

  2. 输入 :help cmd 可以找到关于 cmd 命令的帮助。

  3. 输入 CTRL-W CTRL-W  可以使您在窗口之间跳转。

  4. 输入 :q 以关闭帮助窗口

  5. 您可以创建一个 vimrc 启动脚本文件用来保存您偏好的设置。

  6. 当输入 : 命令时,按 CTRL-D 可以查看可能的补全结果。

     按 <TAB> 可以使用一个补全。

-----------------------------------------------------------------------------------------------------------------------------

2024/11/25创建

麻瓜也要学魔法

相关文章:

Linux关于vim的笔记

Linux关于vim的笔记&#xff1a;(vimtutor打开vim 教程) --------------------------------------------------------------------------------------------------------------------------------- 1. 光标在屏幕文本中的移动既可以用箭头键&#xff0c;也可以使用 hjkl 字母键…...

linux mount nfs开机自动挂载远程目录

要在Linux系统中实现开机自动挂载NFS共享目录&#xff0c;你需要编辑/etc/fstab文件。以下是具体步骤和示例&#xff1a; 确保你的系统已经安装了NFS客户端。如果没有安装&#xff0c;可以使用以下命令安装&#xff1a; sudo apt-install nfs-common 编辑/etc/fstab文件&#…...

【vue】导航守卫

什么是导航守卫 在vue路由切换过程中对行为做个限制 全局前置守卫 route.beforeEach((to, from, next)) > {// to是切换到的路由// from是正要离开的路由// next控制是否允许进入目标路由next(false); //不允许 }路由级别的导航守卫 const routes [{path: /User,name: U…...

基于Matlab实现LDPC编码

在无线通信和数据存储领域&#xff0c;LDPC&#xff08;低密度奇偶校验码&#xff09;编码是一种高效、纠错能力强大的错误校正技术。本MATLAB仿真程序全面地展示了如何在AWGN&#xff08;加性高斯白噪声&#xff09;信道下应用LDPC编码与BPSK&#xff08;二进制相移键控&#…...

PostgreSQL 中约束Constraints

在 PostgreSQL 中&#xff0c;约束&#xff08;Constraints&#xff09;是用于限制进入数据库表中数据的规则。它们确保数据的准确性和可靠性&#xff0c;通过定义规则来防止无效数据的插入或更新。PostgreSQL 支持多种类型的约束&#xff0c;每种约束都有特定的用途和语法。以…...

✨系统设计时应时刻考虑设计模式基础原则

目录 &#x1f4ab;单一职责原则 (Single Responsibility Principle, SRP)&#x1f4ab;开放-封闭原则 (Open-Closed Principle, OCP)&#x1f4ab;依赖倒转原则 (Dependency Inversion Principle, DIP)&#x1f4ab;里氏代换原则 (Liskov Substitution Principle, LSP)&#x…...

【Linux】多线程(下)

目录 一、生产者消费者模型 1.1 概念 1.2 基于阻塞队列 1.3 POSIX信号量 初始化信号量 销毁信号量 等待信号量 发布信号量 1.4 基于环形队列和POSIX信号量 二、线程池 2.1 概念 2.2 代码 三、封装Linux线程库 四、单例模式 4.1 概念 4.2 单例模式的实现方式 4…...

Element-Plus如何修改日期选择器输入框el-date-picker的圆角

使用 el-date-picker 的 style 属性 :style"{ --el-border-radius-base: 10px }"<!-- 日期 --> <el-form-item label"日期" prop"establishmentDate"><el-date-picker v-model"form.establishmentDate" type"dat…...

skywalking es查询整理

索引介绍 sw_records-all 这个索引用于存储所有的采样记录&#xff0c;包括但不限于慢SQL查询、Agent分析得到的数据等。这些记录数据包括Traces、Logs、TopN采样语句和告警信息。它们被用于性能分析和故障排查&#xff0c;帮助开发者和运维团队理解服务的行为和性能特点。 …...

故障排除-------K8s挂载集群外NFS异常

故障排除-------K8s挂载集群外NFS异常 1. 故障现象2. 原因梳理2.1 排查思路2.2 确认yaml内容2.3 创建k8s内的nfs测试2.3.1 创建nfs和svc2.3.2 测试创建pvc2.3.3 测试结果 2.4 NFS服务端故障排除2.4.1 网络阻断排除2.4.2 排除服务状态问题2.4.3 排查NFS权限问题 3. 故障排除 1. …...

Easyexcel(6-单元格合并)

相关文章链接 Easyexcel&#xff08;1-注解使用&#xff09;Easyexcel&#xff08;2-文件读取&#xff09;Easyexcel&#xff08;3-文件导出&#xff09;Easyexcel&#xff08;4-模板文件&#xff09;Easyexcel&#xff08;5-自定义列宽&#xff09;Easyexcel&#xff08;6-单…...

解决登录Google账号遇到手机上Google账号无法验证的问题

文章目录 场景小插曲解决方案总结 场景 Google账号在新的设备上登录的时候&#xff0c;会要求在手机的Google上进行确认验证&#xff0c;而如果没有安装Google play就可能出现像我一样没有任何弹框&#xff0c;无法实现验证 小插曲 去年&#xff0c;我在笔记本上登录了Googl…...

【Redis_Day5】String类型

【Redis_Day5】String类型 String操作String的命令set和get&#xff1a;设置、获取键值对mset和mget&#xff1a;批量设置、获取键值对setnx/setex/psetexincr和incrby&#xff1a;对字符串进行加操作decr/decrby&#xff1a;对字符串进行减操作incrbyfloat&#xff1a;浮点数加…...

Python MySQL SQLServer操作

Python MySQL SQLServer操作 Python 可以通过 pymysql 连接 MySQL&#xff0c;通过 pymssql 连接 SQL Server。以下是基础操作和代码实战示例&#xff1a; 一、操作 MySQL&#xff1a;使用 pymysql python 操作数据库流程 1. 安装库 pip install pymysql2. 连接 MySQL 示例 …...

Java技术分享

剖析equals方法 1、对于Object来说&#xff0c;其equals()方法底层实现就是""&#xff0c;都是比较对象的引用是否相等&#xff0c;下为JDK源码。 Object c 1; Object d 1; boolean equals c.equals(d);public boolean equals(Object obj) {return (this obj);…...

CentOS7卸载node

CentOS7卸载node 在 CentOS 7 上卸载 Node.js 可以通过以下步骤进行。具体步骤取决于你是如何安装 Node.js 的。常见的安装方法包括使用包管理器&#xff08;如 yum 或 nvm&#xff09;和手动安装。 方法 1&#xff1a;使用 yum 卸载 Node.js 如果你是通过 yum安装的 Node.j…...

LeetCode 2257. Count Unguarded Cells in the Grid

&#x1f517; https://leetcode.com/problems/count-unguarded-cells-in-the-grid 题目 给出一个 m x n 的二维表格&#xff0c;格子上有士兵 guard&#xff0c;有墙 wall士兵可以盯上他上下左右所有的格子&#xff0c;碰到墙的格子就停止返回没有被士兵盯到的格子的数量 思…...

即时通讯服务器被ddos攻击了怎么办?

攻击即时通讯系统的主要手段 击键记录 目前盗取即时通讯工具帐号信息的最主要方法是通过特洛伊木马等恶意软件&#xff0c;例如QQ木马&#xff0c;这类程序能够盗取QQ密码信息&#xff0c;常见的能够盗取最新版本QQ密码的木马程序有十几种之多。几乎所有主要的QQ木马程序都采…...

【大数据学习 | Spark-Core】Spark中的join原理

join是两个结果集之间的链接&#xff0c;需要进行数据的匹配。 演示一下join是否存在shuffle。 1. 如果两个rdd没有分区器&#xff0c;分区个数一致 &#xff0c;会发生shuffle。但分区数量不变。 scala> val arr Array(("zhangsan",300),("lisi",…...

【代码pycharm】动手学深度学习v2-08 线性回归 + 基础优化算法

课程链接 线性回归的从零开始实现 import random import torch from d2l import torch as d2l# 人造数据集 def synthetic_data(w,b,num_examples):Xtorch.normal(0,1,(num_examples,len(w)))ytorch.matmul(X,w)bytorch.normal(0,0.01,y.shape) # 加入噪声return X,y.reshape…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...

Caliper 负载(Workload)详细解析

Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...