vim 命令复习

命令模式下的命令及快捷键

# dd删除光所在行的内容
# ndd从光标所在行开始向下删除n行
# yy复制光标所在行的内容
# nyy复制光标所在行向下n行的内容
# p将复制的内容粘贴到光标所在行以下(小写)
# P将复制的内容粘贴到光标所在行以上(大写)
# ^立即跳转到光标所在行的行首
# $立即跳转到光标所在行的行尾
# gg跳转到文档的第一行行首
# G跳转到文档的最后一行行首
# ngg/G 跳转到第n行
# u撤销上一次编辑
# n(↑/↓/←/→)向上/下/左/右移动n字符
# w:向右跳转,如果光在字母上则跳转到下一个符号上,如果光标在符号上则跳转到下一个字母上,如果是文档是文本则调准到下一个单词
# b:与w相反,它是往左跳

pP复制命令

具体场景​​
​​1. 复制单行内容​​
​​复制整行​​(按 yy 或 Y 复制):
p → 粘贴到 ​​当前行下方​​(新行)
P → 粘贴到 ​​当前行上方​​(新行)
​​2. 复制多行内容​​
复制多行后(如 3yy 复制3行):
p → 粘贴到 ​​当前行下方​​(多行整体插入)
P → 粘贴到 ​​当前行上方​​(多行整体插入)
​​3. 复制单词或字符​​
复制单词(按 yw 或 yiw)或字符(按 y + 移动命令):
p → 粘贴到 ​​光标右侧​​(字符后)
P → 粘贴到 ​​光标左侧​​(字符前)实用技巧​​
​​1. 快速调整代码块位置​​
复制一行(yy)→ 移动到目标行 → 按 p 或 P 快速上下移动代码
5yy p #复制光标所在行向下5行的内容并将复制的内容粘贴到光标所在行以下

命令模式→插入(编辑)模式

# s————删除光标所在的字符 并进入编辑模式
# S————删除光标所在行的内容 并进入编辑模式
# o————向光标所在行下方插入新行 并进入编辑模式
# O————向光标所在行上方插入新行 并进入编辑模式
# a————在光标右侧移动一个字符,并进入编辑模式
# A————光标移动到行尾,并进入插入模式
# i————进入编辑模式,在光标所在位置进行编辑
# I————回到光标所在行的行首 并进入编辑模式
# ESC 退出笔记模式回到 命令模式

末行模式

# :q————未做修改的情况下可以直接退出
# :wq————保存并退出
# :w————保存
# :w /dir/file————将文件另存到/dir/file中
# :q!————放弃修改并退出
# :wq!————强制保存并退出
# :set nu————开启文档的行号(set number)
# :set nonu————关闭文档的行号(set no number)

末行模式的搜索替换

# /搜索 /+要搜索的字符串
# :n1,n2 s/old/new/g
n1:起始行
n2:中止行
s:表示搜索
old:表示要搜索的目标字符串
new:要将new字符串替换掉old字符串
g:替换所有的old字符串
%:表示全文#:r /dir/file————在光标位置处写入指定的新文件
#:g/word/d————在全局范围内删除指定的字符串
#:n1,n2 d————删除n1到n2的行
#:n1,n2 copy n3—————n1到n2为止内容复制到n3行

vim的配置文件

# /etc/vimrc是全局配置文件,如果root用户修改了该文件,所有用户的vim都会受到影响。
# ~/.vimrc 这个用户个人的配置文件他的优先级高于全局的配置文件# set number 会使vim默认开始行号
# set tabstop=1 他会修改vim的tab的显示效果。
# set softtabstop=4 他会修改tab键的点击效果,它的效果取决于tabstop的值。
# set shiftwidth=4 自动缩进的宽度
# set mouse=a 开启鼠标
# syntax on 开启语法检测功能# set hlsearch            "高亮度反白
# set backspace=2     "开启删除键的功能
# set autoindent        "自动缩排

修改vim的配置文件

 如要修改vim默认配置使开启行号,自动缩进,tab快捷键空4格

[root@server ~]# vim ~/.vimrc
....1 set number                     #会使vim默认开始行号2 set autoindent                #"自动缩排"3 set smartindent               #开启智能缩进模式,​​基于代码逻辑自动调整缩进4 filetype plugin indent on     #filetype on​​​​功能​​:启用​​文件类型检测​​,# filetype plugin on​​功能​​:# 加载与文件类型相关的​​插件​​(位于 ~/.vim/ftplugin/),     #iletype indent on​​​功能​​:# 启用与文件类型相关的​​缩进规则​​(位于 ~/.vim/indent/),5 set tabstop=4                 #修改vim的tab的显示效果为空4格。6
....
"~/.vimrc" 6L, 83B           // ~/.vimrc 这个用户个人的配置文件他的优先级高于全局的配置文件                  

vim的异常模拟

# vim编辑xxx文件时,不是直接编辑xxx,而是复制一个副本名为.xxx.swp的文件,然后修编辑该文件。
# 当我们使用:wq保存时,会用.xxx.swp覆盖掉xxx文件,并且会删除.xxx.swp。
# 当我们使用:q!退出,会删除.xxx.swp。# 当在使用vim的过程中没有是 wq q!等退出方式 .xxx.swap就不会删除
# 这就会导致下一次再编辑此文件,会出现如下场景:E325: 注意
发现交换文件 ".passwd_copy.swp"所有者: root    日期: 日 10月 20 22:24:57 2024文件名: ~root/passwd_copy修改过: 是用户名: root      主机名: NLCSA2进程 ID: 8678 (STILL RUNNING)
正在打开文件 "passwd_copy"日期: 日 10月 20 22:20:15 2024(1) Another program may be editing the same file.  If this is the case,be careful not to end up with two different instances of the samefile when making changes.  Quit, or continue with caution.
(2) An edit session for this file crashed.如果是这样,请用 ":recover" 或 "vim -r passwd_copy"恢复修改的内容 (请见 ":help recovery")。如果你已经进行了恢复,请删除交换文件 ".passwd_copy.swp"以避免再看到此消息。交换文件 ".passwd_copy.swp" 已存在!
以只读方式打开([O]), 直接编辑((E)), 恢复((R)), 退出((Q)), 中止((A)):# 此时输入E,忽略.xxx.swp中的修改重新编辑文件
# 此时输入R,会读取.xxx.swp中的修改,继续编辑。# 如果想要取消当前这种异常状态,在编辑过文件后,删除.xxx.swp文件即可

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

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

相关文章

哪些心电图表现无缘事业编体检呢?

根据《公务员录用体检通用标准》心血管系统条款及事业单位体检实施细则,心电图不合格主要涉及以下类型及处置方案: 一、心律失常类 早搏:包括房性早搏、室性早搏和交界性早搏。如果每分钟早搏次数较多(如超过5次)&…

Linux学习——UDP

编程的整体框架 bind:绑定服务器:TCP地址和端口号 receivefrom():阻塞等待客户端数据 sendto():指定服务器的IP地址和端口号,要发送的数据 无连接尽力传输,UDP:是不可靠传输 实时的音视频传输&#x…

ReAct Agent 实战:基于DeepSeek从0到1实现大模型Agent的探索模式

写在前面:动态思考,边想边做 大型语言模型(LLM)的崛起开启了通用人工智能(AGI)的无限遐想。但要让 LLM 从一个被动的“文本生成器”转变为能够主动解决问题、与环境交互的智能体(Agent),我们需要赋予它思考、行动和学习的能力。ReAct (Reason + Act) 框架正是实现这一…

从物理到预测:数据驱动的深度学习的结构化探索及AI推理

在当今科学探索的时代,理解的前沿不再仅仅存在于我们书写的方程式中,也存在于我们收集的数据和构建的模型中。在物理学和机器学习的交汇处,一个快速发展的领域正在兴起,它不仅观察宇宙,更是在学习宇宙。 AI推理 我们…

结合地理数据处理

CSV 文件不仅可以存储表格数据,还可以与地理空间数据结合,实现更强大的地理处理功能。例如,你可以将 CSV 文件中的坐标数据转换为点要素类,然后进行空间分析。 示例:将 CSV 文件中的坐标数据转换为点要素类 假设我们有…

SpringBoot中6种自定义starter开发方法

在SpringBoot生态中,starter是一种特殊的依赖,它能够自动装配相关组件,简化项目配置。 自定义starter的核心价值在于: • 封装复杂的配置逻辑,实现开箱即用 • 统一技术组件的使用规范,避免"轮子"泛滥 • 提高开发效率,减少重复代码 方法一:基础配置类方式 …

滚珠导轨松动会导致哪些影响?

直线导轨用于高精度或快速直线往复运动场所,且能够担负一定的扭矩,在高负载的情况下实现高精度的直线运动。它主要由导轨和滑块组成,其中导轨作为固定元件,滑块则在其上进行往复直线运动。但是滚珠导轨松动会导致哪些影响&#xf…

从零开始搭建Django博客②--Django的服务器内容搭建

本文主要在Ubuntu环境上搭建,为便于研究理解,采用SSH连接在虚拟机里的ubuntu-24.04.2-desktop系统搭建,当涉及一些文件操作部分便于通过桌面化进行理解,通过Nginx代理绑定域名,对外发布。 此为从零开始搭建Django博客…

ZLMediaKit支持JT1078实时音视频

ZLMediaKit 对 JT1078 实时音视频协议的支持主要通过其扩展版本或与其他中间件结合实现。以下是基于搜索结果的综合分析: 一、ZLMediaKit 原生支持能力 开源版本的基础支持 ZLMediaKit 开源版本本身未直接集成 JT1078 协议解析模块,但可通过 RTP 推流功能…

Java队列(Queue)核心操作与最佳实践:深入解析与面试指南

文章目录 概述一、Java队列核心实现类对比1. LinkedList2. ArrayDeque3. PriorityQueue 二、核心操作API与时间复杂度三、经典使用场景与最佳实践场景1:BFS层序遍历(树/图)场景2:滑动窗口最大值(单调队列) …

MetaGPT智能体框架深度解析:记忆模块设计与应用实践

在AI智能体技术从单点突破迈向系统工程的关键阶段,MetaGPT凭借其创新的记忆架构重新定义了多智能体协作范式。本文深度解构其革命性的三级记忆系统,揭秘支撑10倍效能提升的知识蒸馏算法与动态上下文控制策略,通过企业级应用案例与性能基准测试…

集结号海螺捕鱼服务器调度与房间分配机制详解:六

本篇围绕服务器调度核心逻辑进行剖析,重点讲解用户连接过程、房间分配机制、服务端并发策略及常见性能瓶颈优化。适用于具备中高级 C 后端开发经验的读者,覆盖网络会话池、逻辑服调度器与房间生命周期管理等关键模块。 一、服务器结构概览 整体系统采用…

【电子通识】热敏打印机是怎么形成(打印)图像和文字的?

在我们身边,热敏打印方式常见用于装饰贴纸、便利店的小票。此外,物流及食品条码标签、身份证件、机票・火车票、X光片、食品日期印刷等,很多打印都用到了热敏打印头。 热敏打印头的蓄热层(涂釉层)上分布着一排加热元件(发热线&…

SQL注入漏洞中会使用到的函数

目录 一、信息获取函数 1. 通用函数 2. 元数据查询(INFORMATION_SCHEMA) 二、字符串操作函数 1. 字符串连接 2. 字符串截取 3. 编码/解码 三、报错注入专用函数 1. MySQL 2. SQL Server 3. PostgreSQL 四、时间盲注函数 1. 通用延迟 2. 计…

车载信息安全架构 --- 汽车网络安全

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 周末洗了一个澡,换了一身衣服,出了门却不知道去哪儿,不知道去找谁,漫无目的走着,大概这就是成年人最深的孤独吧! 旧人不知我近况,新人不知我过…

Linux423 删除用户

查找 上面已查过:无法使用sudo 新开个终端试试 之前开了一个终端,按照deepseek排查 计划再开一个进程 开一个终端 后强制删除时显示:此事将被报告

《从卷积核到数字解码:CNN 手写数字识别实战解析》

文章目录 一、手写数字识别的本质与挑战二、使用步骤1.导入torch库以及与视觉相关的torchvision库2.下载datasets自带的手写数字的数据集到本地 三、完整代码展示 一、手写数字识别的本质与挑战 手写数字识别的核心是:从二维像素矩阵中提取具有判别性的特征&#x…

UniOcc:自动驾驶占用预测和预报的统一基准

25年3月来自 UC Riverside、U Wisconsin 和 TAMU 的论文"UniOcc: A Unified Benchmark for Occupancy Forecasting and Prediction in Autonomous Driving"。 UniOcc 是一个全面统一的占用预测基准(即基于历史信息预测未来占用)和基于摄像头图…

模型量化核心技术解析:从算法原理到工业级实践

一、模型量化为何成为大模型落地刚需&#xff1f; 算力困境&#xff1a;175B参数模型FP32推理需0.5TB内存&#xff0c;超出主流显卡容量 速度瓶颈&#xff1a;FP16推理延迟难以满足实时对话需求&#xff08;如客服场景<200ms&#xff09; 能效挑战&#xff1a;边缘设备运行…

AD9253链路训练

传统方式 参考Xilinx官方文档xapp524。对于AD9253器件 - 125M采样率 - DDR模式&#xff0c;ADC器件的DCO采样时钟(500M Hz)和FCO帧时钟是中心对齐的&#xff0c;适合直接采样。但是DCO时钟不能直接被FPGA内部逻辑使用&#xff0c;需要经过BUFIO和BUFR缓冲后&#xff0c;得到s_b…