vim的使用
vim文本编辑器
- vim介绍
- 命令模式
- 光标移动
- 选中内容
- 复制内容
- 粘贴内容
- 删除
- 撤销/恢复
- 字符转换
- 编辑模式
- 末行模式
- 保存/退出
- 查找
- 行号显示
- 文件切换
- 扩展
vim介绍
vim是Linux自带的文本编辑器,具有命令模式、编辑模式、末行模式三种模式。
模式间的切换:
- 命令模式下,按键盘上的
i、a等键可进入编辑模式 - 命令模式下,输入
:可进入末行模式 - 编辑模式下,按键盘上的
esc键可回到命令模式 - 末行模式下,按一次(慢退)或两次(快退)
esc键可回到命令模式
| vim打开文件方式 | 说明 |
|---|---|
| vim filename | 打开或新建一个文件,并将光标置于第一行的首部 |
| vim -r filename | 恢复上次vim打开时崩溃的文件 |
| vim -R filename | 用只读的方式打开文件 |
命令模式
光标移动
| 快捷键 | 功能描述 |
|---|---|
| h、j、k、l | 光标向左、下、上、右移动 |
| gg | 光标移动到首行 |
| G | 光标移动到末行 |
| b/B | 光标向前移动一个单词 |
| w/W | 光标向后移动一个单词 |
| ctrl+b 或 PageUp | 翻屏操作,向上翻 |
| ctrl+f 或 PageDown | 翻屏操作,向下翻 |
| ctrl+u | 向上翻半屏 |
| ctrl+d | 向下翻半屏 |
| ` | 光标移动到上次编辑处 |
| 数字+G | 快速将光标移动到指定行 |
| 数字+上下方向键 | 以当前光标为准,向上/下移动n行 |
| 数字+左右方向键 | 以当前光标为准,向上/下移动n个字符 |
| H | 光标移动到屏幕顶部 |
| M | 光标移动到屏幕中间 |
| L | 光标移动到屏幕底部 |
| shift+6 | 光标移动到行首 |
| shift+4 | 光标移动到行尾 |
选中内容
| 快捷键 | 功能描述 |
|---|---|
| v | 字符选中 |
| V 或 shift+v | 行选中 |
复制内容
| 快捷键 | 功能描述 |
|---|---|
| y | 复制已选中的文本到剪贴板 |
| n+yy | 复制光标所在行,此命令前可以加数字n,表示复制n行 |
| yw | 复制光标位置的单词 |
| ctrl+v,方向键,yy | ctrl+v,并按方向键选中区块,按下yy进行复制 |
粘贴内容
| 快捷键 | 功能描述 |
|---|---|
| p | 将剪贴板中的内容粘贴到光标后 |
| P | 将剪贴板中的内容粘贴到光标前 |
删除
| 快捷键 | 功能描述 |
|---|---|
| x | 删除光标所在位置的字符 |
| X | 删除光标前一个字符 |
| dd | 删除光标所在行,删除之后,下一行上移;严格来说它是剪切命令,可以配合p命令使用 |
| D | 删除光标位置到行尾的内容,删除之后,下一行不上移;也有剪切的作用 |
| ndd | 删除当前行(包括此行)后n行文本;可以理解成剪切多行,配合p命令使用 |
| dG | 删除光标所在行一直到文件末尾的所有内容 |
撤销/恢复
| 快捷键 | 功能描述 |
|---|---|
| u | 撤销 |
| U | 撤销所有编辑 |
| ctrl+r | 恢复 |
字符转换
| 快捷键 | 功能描述 |
|---|---|
| ~ | 转换大小写 |
| u | 转成小写 |
| U | 转成大写 |
编辑模式
| 快捷键 | 功能描述 |
|---|---|
| i | 在当前光标所在位置插入,光标后的文本相应向右移动 |
| o | 在光标所在行的下方插入新的一行,光标停在空行首,等待文本输入 |
| O | 在光标所在行的上方插入新的一行,光标停在空行首,等待文本输入 |
| a | 在当前光标所在位置之后插入 |
| A | 在光标所在行的行尾插入,相当于光标移动到行尾再执行a命令 |
末行模式
保存/退出
| 快捷键 | 功能描述 |
|---|---|
| wq | 保存并退出vim编辑器 |
| wq! | 保存并强制退出vim编辑器 |
| q | 不保存并退出vim编辑器 |
| q! | 不保存并强制退出vim编辑器 |
| w | 保存但不退出vim编辑器 |
| w! | 强制保存文本 |
| w filename | 另存到filename文件中 |
| x! | 保存文本,并退出编辑器 |
| ZZ | 直接退出编辑器 |
查找
| 快捷键 | 功能描述 |
|---|---|
| /abc | 从光标所在位置向前查找字符串abc |
| ?abc | 从光标所在位置向后查找字符串abc |
| /^abc | 查找以abc为行首的行 |
| /abc$ | 查找以abc为行尾的行 |
行号显示
| 快捷键 | 功能描述 |
|---|---|
| set nu | 行号显示 |
| set nonu | 取消行号显示 |
文件切换
使用vim打开多个文件后,在末行模式下可以进行切换。
| 快捷键 | 功能描述 |
|---|---|
| files(%a表示激活状态,#表示上一个打开的文件) | 查看当前打开的所有文件 |
| open filename | 切换到filename文件 |
| bp | 切换到上一个文件 |
| bn | 切换到下一个文件 |
扩展
在末行模式下,输入syntax on/off,能够显示或取消显示代码颜色。
vim内置计算器的使用:
- 进入编辑模式
- 按
“ctrl+r,光标变成引号,输入=,光标转到最后一行 - 输入需要计算的内容,按下Enter键,计算结果会替代引号,光标恢复
vim的配置:
- 文件打开时,末行模式下输入的配置为临时配置,关闭文件后配置无效
- 修改个人配置文件,可以永久保存个人配置(~/.vimrc,如果没有可以自行创建)
- 修改全局配置文件,对每个用户生效(vim自带,/etc/vimrc)
注:个人配置文件优先级更高,当个人配置和全局配置发生冲突时,系统以当前用户的个人配置文件为准
处理异常:
- 在编辑文件后,未正常保存退出时,会产生异常退出交换文件(.原文件名.swp);将交换文件删除后,再次打开文件时,便不会有提示:“#rm -f .原文件名.swp”。
相关文章:
vim的使用
vim文本编辑器 vim介绍命令模式光标移动选中内容复制内容粘贴内容删除撤销/恢复字符转换 编辑模式末行模式保存/退出查找行号显示文件切换 扩展 vim介绍 vim是Linux自带的文本编辑器,具有命令模式、编辑模式、末行模式三种模式。 模式间的切换: 命令模…...
马氏杆法检查斜视
使用 检查水平向斜视时,使用水平向马氏杆检查;重直向斜视时,使用重直问马氏杆;检查旋转斜视时,使用双马氏杆. 检查水平向斜视 双眼屈光不正全矫 双眼同时打开,右眼前加水平向马氏杆,左眼前不加 双眼同时观察点光源&…...
Mac电脑怎么使用“磁盘工具”修复磁盘
我们可以使用“磁盘工具”的“急救”功能来查找和修复磁盘错误。 “磁盘工具”可以查找和修复与 Mac 磁盘的格式及目录结构有关的错误。使用 Mac 时,错误可能会导致意外行为,而重大错误甚至可能会导致 Mac 彻底无法启动。 继续之前,请确保您…...
c++画出分割图像,水平线和垂直线
1、pca 找到图像某个区域的垂直线,并画出来 // 1、 斑块的框 血管二值化图,pca 找到垂直血管壁的直线, 还是根据斑块找主轴方向吧// Step 1: 提取斑块左右范围内的血管像素点坐标,std::vector<cv::Point> points;for (int y 0; y <…...
Python 程序设计入门(015)—— enumerate() 函数的用法
Python 程序设计入门(015)—— enumerate() 函数的用法 目录 Python 程序设计入门(015)—— enumerate() 函数的用法一、enumerate() 函数的语法二、为可迭代对象创建索引三、将字符串、列表等转换为字典1、将字符串转换为字典2、…...
__dict__属性
__dict__ 是 Python 中的一个特殊属性,通常存在于大多数 Python 对象中,用于存储该对象的可变属性。 以下是关于 __dict__ 的一些关键点和详细信息: 存储属性:对于大多数自定义的 Python 对象,__dict__ 属性包含了这个…...
k8s之Pod控制器
目录 一、Pod控制器及其功用二、pod控制器的多种类型2.1 pod容器中的有状态和无状态的区别 三、Deployment 控制器四、SatefulSet 控制器4.1 StatefulSet由以下几个部分组成4.2 为什么要有headless?4.3 为什么要有volumeClaimTemplate?4.4 滚动更新4.5 扩…...
逆元(求乘法逆元的几种方法)
目录 逆元 加法逆元 乘法逆元 如何求 快速幂 扩展欧几里得 O(n)求1到n的乘法逆元 逆元 数学中,逆元素(英语:Inverse element)推广了加法中的加法逆元和乘法中的倒数。直观地说,它是一个可以取消另一给定元素运…...
没点本事,还真做不好数字化转型
数字化转型逐渐成为企业业务增长的利器 然而,在此过程中 企业最应该注重哪些? 效率?质量? 但还有一个至关重要的点不容忽视 那就是安全 有一家硬核企业通过技术与狠活 硬生生提升了应用安全性 保障了产业与数字化的安全融合…...
windows 10 远程桌面配置
1. 修改远程桌面端口(3389) 打开注册表(winr), 输入regedit 找到配置项【计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Terminal Server\Wds\rdpwd\Tds\tcp】 , 可以通过搜索“Wds”快速定位。 修改端口配…...
OpenStreetMap 上基于A*搜索算法的C ++路线规划项目
引言 在现代的地理信息系统(GIS)中,路线规划是一个重要的组成部分。它涉及到从一个地点到另一个地点的最优路径的确定。在这篇文章中,我们将探讨如何在OpenStreetMap数据上实现一个基于A*搜索算法的C路线规划项目。 OpenStreetM…...
java实现随机生成验证码
import java.util.concurrent.ThreadLocalRandom;/* 生成验证码的工具 可动态配置验证码长度*/ public class CodeUtils {public static void main(String[] args) {//随机生成5个长度为4的验证码for (int i 0; i < 5; i) {System.out.println(CodeUtils.getCode(4));}for …...
Positive证书是什么?
Positive SSL是全球著名CA Sectigo的子品牌, 也是目前全球签发量最高的商业SSL证书。价格低,安全性高,在个人网站和中小型企业网站中拥有极高的占有率。 Positive SSL证书包括DV SSL, EV SSL,也是唯一支持IP地址加密的…...
vulnhub靶场-y0usef笔记
vulnhub靶场-y0usef笔记 信息收集 首先fscan找到目标机器ip http://192.168.167.70/ nmap扫描端口 Host is up (0.00029s latency). Not shown: 998 closed tcp ports (reset) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ub…...
华为智选首款纯电轿跑“LUXEED”能大卖吗?
监制 | 何玺 排版 | 叶媛 华为智选纯电轿跑来袭! 8月7日,华为常务董事余承东在社交媒体上发文,宣布华为智选即将推出首款“突破想象”的纯电轿跑车。 01 华为智选首款纯电轿跑来袭 余承东的发文引起了极大关注,在各大媒体的报…...
ArcGIS API for JavaScript 3.44 地图Demo示例合集
ArcGIS API for JavaScript 3.44 demo合集 (一)创建地图(二)基准图库(三)编辑书签(四)主页按钮(五)LayerList小部件(六)测量小工具&am…...
RFID工业识别技术:供应链智能化的科技颠覆
RFID工业识别技术,作为物联网的先锋,正在供应链管理领域展现着前所未有的科技颠覆。从物料追踪到库存管理,再到物流配送,RFID技术以其高效的数据采集和智能的自动化处理,彻底改变着传统供应链的运营方式。 RFID在物料追…...
行列转换两例的思考
1、多行转成一列 (1)、建测试表及插入测试数据 create table t(i int,a varchar2(1)); insert into t(i,a) select 1,a from dual union all select 1,b from dual union all select 1,d from dual union all select 1,e from dual union all select 2,z from dual union all…...
高德地图 SDK 接口测试接入(AndroidTest 上手)
学习资料 官方文档 在 Android 平台上测试应用 | Android 开发者 | Android Developers 测试了解 【玩转Test】开篇-Android test 介绍 Android单元测试全解_android 单元测试_一代小强的博客-CSDN博客 Android单元测试-对Activity的测试_activitytestrule_许佳佳233的博客…...
省电模式稳定电压显示IC32×4 LCD显示驱动芯片
简述 VK1C21A是一个点阵式存储映射的LCD驱动器,可支持最大128点(32SEGx4COM) 的LCD屏,也支持2COM和3COM的LCD屏。单片机可通过3/4个通信脚配置显示参数和发 送显示数据,也可通过指令进入省电模式。具备高抗干扰&a…...
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...
手机平板能效生态设计指令EU 2023/1670标准解读
手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读,综合法规核心要求、最新修正及企业合规要点: 一、法规背景与目标 生效与强制时间 发布于2023年8月31日(OJ公报&…...
Ubuntu系统复制(U盘-电脑硬盘)
所需环境 电脑自带硬盘:1块 (1T) U盘1:Ubuntu系统引导盘(用于“U盘2”复制到“电脑自带硬盘”) U盘2:Ubuntu系统盘(1T,用于被复制) !!!建议“电脑…...
