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

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)行号显示

  1. 行号显示 : :set nu
  2. 取消行号显示: :set nonu

(5)文件切换

快捷键功能
:files查看当前已经打开的所有文件
:open +  文件名切换到指定文件
:bp切换到上一个文(back previous)
:bn切换到下一个文件(back next)

(6) 分割窗口(多文件编辑时很高效

分割窗口快捷键:  :vs +文件名

注意:分割窗口可以同时查看和编辑多个文件,互相之间不会影响

3.编辑模式

快捷键功能
 在当前光标所在位置插入,光标后的文本相应向右移动
在光标所在行的行首插入,行首是该行的第一个非空白字符,相当于光标移动到行首执行 i 命令
在光标所在行的下插入新的一行。光标停在空行首,等待输入文本
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 整合到一个专用计算设备上。更值得高兴的是&#xff0c…...

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 室内照明教程

为什么良好的照明很重要&#xff1f; 通过仔细操纵光源并利用 V-Ray 的功能&#xff0c;您将解锁制作超越普通渲染的能力&#xff0c;让观众着迷。每个阴影和每个高光都有一个目的 - 通过注意掌握照明&#xff0c;您的渲染将变得栩栩如生&#xff0c;并为您的室内设计赋予独特…...

如何在本地使用Docker搭建和运行Kubernetes集群

文章目录 1. 准备环境2. 安装Minikube3. 启动Minikube集群4. 验证集群5. 部署一个示例应用创建一个Deployment部署应用检查部署 6. 访问应用创建一个Service部署Service获取Service的访问地址 7. 清理资源结论 &#x1f388;个人主页&#xff1a;程序员 小侯 &#x1f390;CSDN…...

每天几道Java面试题(第二天)

目录 第二幕、第一场&#xff09;公司前台第二场&#xff09;公司卫生间 友情提醒 背面试题很枯燥&#xff0c;加入一些戏剧场景故事人物来加深记忆。PS:点击文章目录可直接跳转到文章指定位置。 第二幕、 第一场&#xff09;公司前台 【接待人员埃斯卡莱罗&#xff0c;面试…...

Java | 线程的生命周期和安全

不爱生姜不吃醋⭐️ 如果本文有什么错误的话欢迎在评论区中指正 与其明天开始&#xff0c;不如现在行动&#xff01; &#x1f334;线程的生命周期 sleep方法会让线程睡眠&#xff0c;睡眠时间到了之后&#xff0c;立马就会执行下面的代码吗&#xff1f; 答&#xff1a;不会&am…...

Bootstrap的一些主要作用

Bootstrap是一个流行的前端开发框架&#xff0c;它主要用于快速构建响应式、移动优先的网站和网络应用程序。它提供了一套CSS样式和JavaScript插件&#xff0c;帮助开发者轻松地创建漂亮、一致和交互丰富的用户界面。 以下是Bootstrap的一些主要作用&#xff1a; 响应式布局&a…...

网络编程套接字 | UDP套接字

前面的文章中我们叙述了网络编程套接字的一些预备知识点&#xff0c;从本文开始我们就将开始UDP套接字的编写。本文中的服务端与客户端都是在阿里云的云服务器进行编写与测试的。 udp_v1 在v1的版本中我们先来使用一下前面讲过得一些接口&#xff0c;简单的构建一个udp服务器…...

网络层IP协议

目录 前言 1.如何理解IP协议 2.IP协议格式 3.网段划分 4.特殊的IP地址 5.IP地址的数量限制 6.私有IP地址和公网IP地址 7.路由 总结 前言 在前面的文章中介绍了关于传输层常用的两个协议&#xff0c;UDP协议和TCP协议&#xff0c;当数据经过传输层之后&#xff0c;进入网…...

C++ Day4

目录 仿照string类&#xff0c;完成myString 类 思维导图 仿照string类&#xff0c;完成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&#xff08;4&#xff09;|&#xff08;使用okhttp3实现websocket&#xff09; 文章目录 SpringBoot集成websocket&#xff08;4&#xff09;|&#xff08;使用okhttp3实现websocket&#xff09;[TOC] 前言一、实现步骤1.实现步骤 二、websocket服务代…...

【MySQL】JDBC编程

MySQL-JDBC编程 文章目录 MySQL-JDBC编程Java的数据库编程JDBC工作原理JDBC的使用驱动包下载导入代码编写 Java的数据库编程 JDBC&#xff0c;即Java Database Connectivity&#xff0c;java数据库连接。是一种用于执行SQL语句的Java API&#xff0c;它是 Java中的数据库连接…...

数据结构——二叉树线索化遍历(前中后序遍历)

二叉树线索化 线索化概念&#xff1a; 为什么要转换为线索化 二叉树线索化是一种将普通二叉树转换为具有特殊线索&#xff08;指向前驱和后继节点&#xff09;的二叉树的过程。这种线索化的目的是为了提高对二叉树的遍历效率&#xff0c;特别是在不使用递归或栈的情况下进行遍历…...

GO语言网络编程(并发编程)Channel

GO语言网络编程&#xff08;并发编程&#xff09;Channel 1、Channel 1.1.1 Channel 单纯地将函数并发执行是没有意义的。函数与函数间需要交换数据才能体现并发执行函数的意义。 虽然可以使用共享内存进行数据交换&#xff0c;但是共享内存在不同的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 中后序列恢复二叉树 总结 前言 提示&#xff1a;瑞秋是个小甜心&#xff0c;她只喜欢被爱&#xff0c;不懂的去爱人。 --几米《你们 我们 他们》…...

C++动态内存管理+模板

&#x1f493;博主个人主页:不是笨小孩&#x1f440; ⏩专栏分类:数据结构与算法&#x1f440; C&#x1f440; 刷题专栏&#x1f440; C语言&#x1f440; &#x1f69a;代码仓库:笨小孩的代码库&#x1f440; ⏩社区&#xff1a;不是笨小孩&#x1f440; &#x1f339;欢迎大…...

SQL 注入漏洞攻击

文章目录 1. 介绍2. 无密码登录3. 无用户名无密码登录4. 合并表获取用户名密码 1. 介绍 假设你用自己的用户名和密码登录了一个付费网站&#xff0c;网站服务器就会查询一下你是不是 VIP 用户&#xff0c;而用户数据都是放在数据库中的&#xff0c;服务器通常都会向数据库进行查…...

一篇五分生信临床模型预测文章代码复现——Figure 10.机制及肿瘤免疫浸润(四)

之前讲过临床模型预测的专栏,但那只是基础版本,下面我们以自噬相关基因为例子,模仿一篇五分文章,将图和代码复现出来,学会本专栏课程,可以具备发一篇五分左右文章的水平: 本专栏目录如下: Figure 1:差异表达基因及预后基因筛选(图片仅供参考) Figure 2. 生存分析,…...

Transformer 模型中常见的特殊符号

Transformer 模型中常见的特殊符号 通过代码一起理解一下 Transformer 模型中常见的特殊符号&#xff0c; 示例代码&#xff0c; special_tokens{unk_token: [UNK], sep_token: [SEP], pad_token: [PAD], cls_token: [CLS], mask_token: [MASK]}这段代码是定义了一个字典spec…...

C# halcon SubImage的使用

SubImage(HObject imageMinuend, HObject imageSubtrahend, out HObject imageSub, HTuple mult, HTuple add) 公式 x1imageMinuend此行此列的灰度 x2imageSubtrahend此行此列的灰度 则imageSub此行此列的灰度为;(x1-x2)*multadd 溢出裁剪 以byte图为例&#xff0c;小于0&a…...

每天几道Java面试题:异常机制(第三天)

目录 第三幕、第一场&#xff09;异常机制面试题 友情提醒 背面试题很枯燥&#xff0c;加入一些戏剧场景故事人物来加深记忆。PS:点击文章目录可直接跳转到文章指定位置。 第三幕、 第一场&#xff09;异常机制面试题 【面试官老吉&#xff0c;面试官潘安&#xff0c;面试者…...

Linux 中的 chattr 命令及示例

Linux 中的chattr命令是一个文件系统命令,用于更改目录中文件的属性。该命令的主要用途是使多个文件无法被超级用户以外的用户更改。管理员表示,众所周知,Linux 是一个多用户操作系统,一个用户有可能删除另一个用户非常关心的文件。为了避免这种情况,Linux 提供了“ chatt…...

LeetCode 2605. Form Smallest Number From Two Digit Arrays【数组,哈希表,枚举;位运算】1241

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…...

VoxWeekly|The Sandbox 生态周报|20230904

欢迎来到由 The Sandbox 发布的《VoxWeekly》。我们会在每周发布&#xff0c;对上一周 The Sandbox 生态系统所发生的事情进行总结。 如果你喜欢我们内容&#xff0c;欢迎与朋友和家人分享。请订阅我们的 Medium 、关注我们的 Twitter&#xff0c;并加入 Discord 社区&#xf…...

antd setFieldsValue 设置初始值无效AutoComplete 设置默认值失败

antd form setFieldsValue 设置初始值无效 解决方案 setTimeout(()>{setFieldsValue(values)},100)antd AutoComplete 设置默认值失败 defaultValue 设置无效 解决方案 设置value&#xff0c;搭配onChange来设置修改...

沈阳做网站 熊掌号/十大看免费行情的软件下载

TextView一般都是用来显示一段文本&#xff0c;这里说的高级特性主要是一些我们平常不太常用的属性。包括文字阴影、自定义字体、html嵌入多格式、字体加粗、插入图片。这些特性平时开发APP的时候&#xff0c;可能一般使用不多&#xff0c;不过需要的时候却是很有用的特性。之所…...

手机版网站怎么做的/宁波seo推广平台

前言 在上一篇博客中我们简单介绍了消息传递算法的雏形。 然而&#xff0c; 当变量维度较大时&#xff0c;对每个标量进行逐个的消息计算需要不可能承担的复杂度。 因此&#xff0c; 通过一些近似来简化计算&#xff0c; 则是 AMP (approximate message passing) 类算法的核心…...

旅游门户网站建设方案/网站域名解析ip

目录Selenium WebDriver 基本使用安装与测试基本 APIXPath 查找CSS 选择器查找By 对象查找页面元素操作获取页面元素内容浏览器弹出框Selenium WebDriver 基本使用 安装与测试 使用 pycharm 作为开发 IDE 请自行配置好 python 环境变量&#xff0c;避免因为多解释器的问题导致…...

html网站标题怎么做的/排名优化工具下载

冒泡法 第1趟&#xff1a;依次比较0和1、1和2、2和3...n-2和n-1索引处的元素&#xff0c;发现前面的大于后面的&#xff0c;就交换它们&#xff0c;这样一趟下来&#xff0c;最大的…...

建网站用的域名多少钱/百度高级搜索首页

深入浅出ShellExecute 译者&#xff1a;徐景周(原作:Nishant S)Q: 如何打开一个应用程序&#xff1f; ShellExecute(this->m_hWnd,"open","calc.exe","","", SW_SHOW );或 ShellExecute(this->m_hWnd,"open","no…...

上海专业网站建设流程/龙岗seo优化

【摘要】 看起来很简单的集合运算放在大数据的场景下&#xff0c;如果还想获得高性能就需要充分了解数据特征和计算特征才能设计出高效算法。充分利用序运算就是一种好办法&#xff01;交并差是常见的集合运算&#xff0c;SQL 中对应的 intersect/union/minus 计算也很简单。不…...