vim的使用介绍以及命令大全

懒羊羊感谢大家的关注和三连支持~
目录
前言
一、vim的使用介绍
二、命令大全
1.命令模式
(1)复制(配合粘贴命令p使用)
(2)剪切
(3)粘贴
(4)删除
(5)撤销/恢复
(6)编辑命令的快捷键
2.底行模式(:xxx命令)
(1)保存/退出文件操作
(2)查找
(3)替换
(4)行号显示
(5)文件切换
(6) 分割窗口(多文件编辑时很高效)
3.编辑模式
总结
前言
Vim(Vi IMproved)是一个功能强大的文本编辑器,被认为是 Vi 编辑器的改进版本。它是在 Unix 系统上最受欢迎的文本编辑器之一,并且也可以在其他操作系统上使用。
一、vim的使用介绍
vim编辑器有三种模式:
1.命令模式
2.编辑模式
3.底行模式
切换模式的方法:
(1)命令模式下,按下a、i、o、A等键,可以计入编辑模式
(2)编辑模式下,按下esc,便可以回到命令模式
(3)命令模式下,输入:后,进入底行模式
(4)底行模式下,按esc或者删除:和它后面的命令,就可以回到命令模式。
二、命令大全
1.命令模式
(1)复制(配合粘贴命令p使用)
| 快捷键 | 功能 |
|---|---|
| yy | 复制光标所在行的内容 |
| y | 复制鼠标已选中的内容 |
| n(数字)+yy | 复制光标所在行,n代表行数,可复制光标所在行及以下行的多行内容 |
| yw | 复制光标位置的单词 |
(2)剪切
| 快捷键 | 功能 |
|---|---|
| dd | 剪切光标所在行 |
| n(数字)+dd | 以光标所在行为准(包含当前行),向下剪切指定行数 |
| D | 剪切光标所在行 |
(3)粘贴
| 快捷键 | 功能描述 |
|---|---|
| p | 将剪贴板中的内容粘贴到光标后 |
| P(大写) | 将剪贴板中的内容粘贴到光标前 |
(4)删除
| 快捷键 | 功能 |
|---|---|
| x | 删除光标所在位置的字符 |
| X(大写) | 删除光标前一个字符 |
| dd | 删除光标所在行,删除之后,下一行上移 |
| D | 删除光标位置到行尾的内容,删除之后,下一行不上移 |
| ndd | 删除当前行(包括此行)后 n 行文本 |
| dw | 移动光标到单词的开头以删除该单词 |
| dG | 删除光标所在行一直到文件末尾的所有内容 |
| :a1,a2d(底行模式) | 删除从 a1 行到 a2 行的文本内容 |
(5)撤销/恢复
| 快捷键 | 功能 |
|---|---|
| u | 撤销 |
| ctrl+r | 恢复 |
| U(大写) | 撤销所有编辑 |
(6)编辑命令的快捷键
| 快捷键 | 功能 |
|---|---|
| ↑或ctr + p | 上一条命令 |
| ↓或ctr + n | 下一条命令 |
| ctr + b | 移动到命令行开头 |
| ctr + e | 移动到命令行结尾 |
| ctr + ← | 向左一个单词 |
| ctr + → | 向右一个单词 |
2.底行模式(:xxx命令)
(1)保存/退出文件操作
| 命令 | 功能 |
|---|---|
| :q | 不保存就退出 Vim 编辑器 |
| :q! | 不保存,且强制退出 Vim 编辑器 |
| :w | 保存但是不退出 Vim 编辑器 |
| :w! | 强制保存文本 |
| :x | 保存文本,并退出 Vim 编辑器 |
| :wq | 保存并退出 Vim 编辑器 |
| :wq! | 保存并强制退出 Vim 编辑器 |
| ZZ | 直接退出 Vim 编辑器 |
(2)查找
| 快捷键 | 功能 |
|---|---|
| /abc | 从光标所在位置向前查找字符串 abc |
| /^abc | 查找以 abc 为行首的行 |
| /abc$ | 查找以 abc 为行尾的行 |
| ?abc | 从光标所在位置向后查找字符串 abc |
(3)替换
| 快捷键 | 功能 |
|---|---|
| :s/a1/a2 | 替换当前光标所在行第一处符合条件的内容 |
| :s/a1/a2/g | 替换当前光标所在行所有的 a1 都用 a2 替换 |
| :%s/a1/a2 | 替换所有行中,第一处符合条件的内容 |
| :%s/a1/a2/g | 替换所有行中,所有符合条件的内容 |
| :n1,n2 s/a1/a2 | 将文件中 n1 到 n2 行中第一处 a1 都用 a2 替换 |
| :n1,n2 s/a1/a2/g | 将文件中 n1 到 n2 行中所有 a1 都用 a2 替换 |
(4)行号显示
- 行号显示 :
:set nu - 取消行号显示:
:set nonu
(5)文件切换
| 快捷键 | 功能 |
|---|---|
| :files | 查看当前已经打开的所有文件 |
| :open + 文件名 | 切换到指定文件 |
| :bp | 切换到上一个文(back previous) |
| :bn | 切换到下一个文件(back next) |
(6) 分割窗口(多文件编辑时很高效)
分割窗口快捷键: :vs +文件名
注意:分割窗口可以同时查看和编辑多个文件,互相之间不会影响。
3.编辑模式
| 快捷键 | 功能 |
|---|---|
| i | 在当前光标所在位置插入,光标后的文本相应向右移动 |
| I | 在光标所在行的行首插入,行首是该行的第一个非空白字符,相当于光标移动到行首执行 i 命令 |
| o | 在光标所在行的下插入新的一行。光标停在空行首,等待输入文本 |
| O(大写) | 在光标所在行的上插入新的一行。光标停在空行的行首,等待输入文本 |
| a | 在当前光标所在位置之后插入 |
| A | 在光标所在行的行尾插入,相当于光标移动到行尾再执行 a 命令 |
| esc键 | 退出编辑模式回到命令模式 |
总结
本篇文章详细地讲了关于vim的使用介绍以及命令大全和许多快捷键的使用和分析,希望能够帮到大家!
以后还会给大家展现更多关于Ubantu的其他重要的基础知识,感谢大家支持懒大王!
希望这篇博客能给各位朋友们带来帮助,最后懒大王请来过的朋友们留下你们宝贵的三连以及关注,感谢你们!
相关文章:
vim的使用介绍以及命令大全
懒羊羊感谢大家的关注和三连支持~ 目录 前言 一、vim的使用介绍 二、命令大全 1.命令模式 (1)复制(配合粘贴命令p使用) (2)剪切 (3)粘贴 (4)删除 …...
JavaScript高级技巧:深入探索JavaScript语言的高级特性和用法
当我们谈论JavaScript高级技巧时,以下是一些示例来说明这些概念: 闭包(Closures): function outerFunction() {var outerVariable Hello;function innerFunction() {console.log(outerVariable);}return innerFunct…...
虹科方案|HK-Edgility利用边缘计算和VNF降本增效
一、边缘计算和 VNF 在当今瞬息万变的数字环境中,边缘虚拟化网络功能(VNF)是一个既能够优化网络基础设施,又能控制成本的创新型解决方案。它使客户能够将多个基于软件的 VNF 整合到一个专用计算设备上。更值得高兴的是,…...
SpringBoot项目--电脑商城【新增收货地址】
1.新增收货地址 t_address CREATE TABLE t_address (aid INT AUTO_INCREMENT COMMENT 收货地址id,uid INT COMMENT 归属的用户id,name VARCHAR(20) COMMENT 收货人姓名,province_name VARCHAR(15) COMMENT 省-名称,province_code CHAR(6) COMMENT 省-行政代号,city_name VARC…...
[HNCTF 2022 Week1]——Web方向 详细Writeup
Week1 [HNCTF 2022 Week1]2048 f12查看源代码 可以看出游戏的分数是score 修改score的值 得到flag [HNCTF 2022 Week1]Interesting_include 得到源码 <?php //WEB手要懂得搜索 //flag in ./flag.phpif(isset($_GET[filter])){$file $_GET[filter];if(!preg_match(&qu…...
3dmax vray如何创建真实的灯光?3dmax vray 室内照明教程
为什么良好的照明很重要? 通过仔细操纵光源并利用 V-Ray 的功能,您将解锁制作超越普通渲染的能力,让观众着迷。每个阴影和每个高光都有一个目的 - 通过注意掌握照明,您的渲染将变得栩栩如生,并为您的室内设计赋予独特…...
如何在本地使用Docker搭建和运行Kubernetes集群
文章目录 1. 准备环境2. 安装Minikube3. 启动Minikube集群4. 验证集群5. 部署一个示例应用创建一个Deployment部署应用检查部署 6. 访问应用创建一个Service部署Service获取Service的访问地址 7. 清理资源结论 🎈个人主页:程序员 小侯 🎐CSDN…...
每天几道Java面试题(第二天)
目录 第二幕、第一场)公司前台第二场)公司卫生间 友情提醒 背面试题很枯燥,加入一些戏剧场景故事人物来加深记忆。PS:点击文章目录可直接跳转到文章指定位置。 第二幕、 第一场)公司前台 【接待人员埃斯卡莱罗,面试…...
Java | 线程的生命周期和安全
不爱生姜不吃醋⭐️ 如果本文有什么错误的话欢迎在评论区中指正 与其明天开始,不如现在行动! 🌴线程的生命周期 sleep方法会让线程睡眠,睡眠时间到了之后,立马就会执行下面的代码吗? 答:不会&am…...
Bootstrap的一些主要作用
Bootstrap是一个流行的前端开发框架,它主要用于快速构建响应式、移动优先的网站和网络应用程序。它提供了一套CSS样式和JavaScript插件,帮助开发者轻松地创建漂亮、一致和交互丰富的用户界面。 以下是Bootstrap的一些主要作用: 响应式布局&a…...
网络编程套接字 | UDP套接字
前面的文章中我们叙述了网络编程套接字的一些预备知识点,从本文开始我们就将开始UDP套接字的编写。本文中的服务端与客户端都是在阿里云的云服务器进行编写与测试的。 udp_v1 在v1的版本中我们先来使用一下前面讲过得一些接口,简单的构建一个udp服务器…...
网络层IP协议
目录 前言 1.如何理解IP协议 2.IP协议格式 3.网段划分 4.特殊的IP地址 5.IP地址的数量限制 6.私有IP地址和公网IP地址 7.路由 总结 前言 在前面的文章中介绍了关于传输层常用的两个协议,UDP协议和TCP协议,当数据经过传输层之后,进入网…...
C++ Day4
目录 仿照string类,完成myString 类 思维导图 仿照string类,完成myString 类 #include <iostream> #include<cstring>using namespace std;class myString {private:char *str; //记录c风格的字符串int size; //记录…...
2024字节跳动校招面试真题汇总及其解答(二)
1. 微服务的好处,划分原则 微服务是软件架构的一种模式,它将应用程序划分为一系列小型、独立的服务。每个服务都提供一个单独的功能,并使用轻量级的接口相互通信。 微服务架构具有以下好处: 灵活性:微服务可以独立部署、扩展和更新,这使得它们能够随着业务需求的变化而…...
SpringBoot集成websocket(4)|(使用okhttp3实现websocket)
SpringBoot集成websocket(4)|(使用okhttp3实现websocket) 文章目录 SpringBoot集成websocket(4)|(使用okhttp3实现websocket)[TOC] 前言一、实现步骤1.实现步骤 二、websocket服务代…...
【MySQL】JDBC编程
MySQL-JDBC编程 文章目录 MySQL-JDBC编程Java的数据库编程JDBC工作原理JDBC的使用驱动包下载导入代码编写 Java的数据库编程 JDBC,即Java Database Connectivity,java数据库连接。是一种用于执行SQL语句的Java API,它是 Java中的数据库连接…...
数据结构——二叉树线索化遍历(前中后序遍历)
二叉树线索化 线索化概念: 为什么要转换为线索化 二叉树线索化是一种将普通二叉树转换为具有特殊线索(指向前驱和后继节点)的二叉树的过程。这种线索化的目的是为了提高对二叉树的遍历效率,特别是在不使用递归或栈的情况下进行遍历…...
GO语言网络编程(并发编程)Channel
GO语言网络编程(并发编程)Channel 1、Channel 1.1.1 Channel 单纯地将函数并发执行是没有意义的。函数与函数间需要交换数据才能体现并发执行函数的意义。 虽然可以使用共享内存进行数据交换,但是共享内存在不同的goroutine中容易发生竞态…...
c++day3
stack.h #ifndef STACK_H #define STACK_H #include <iostream> //#define max 128 using namespace std; class Stack { private:int* stack;//数组指针int top;//栈顶元素int max;//栈容量 public://构造函数Stack();//析构函数~Stack();//定义拷贝构造函数Stack(cons…...
算法通过村第六关-树青铜笔记|中序后序
文章目录 前言1. 树的常见概念2. 树的性质3. 树的定义与存储方式4. 树的遍历方式5. 通过序列构建二叉树5.1 前中序列恢复二叉树5.2 中后序列恢复二叉树 总结 前言 提示:瑞秋是个小甜心,她只喜欢被爱,不懂的去爱人。 --几米《你们 我们 他们》…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...
