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 中后序列恢复二叉树 总结 前言 提示:瑞秋是个小甜心,她只喜欢被爱,不懂的去爱人。 --几米《你们 我们 他们》…...
PyTorch 2.8镜像保姆级教程:torch.cuda.is_available()验证失败的5种解决方法
PyTorch 2.8镜像保姆级教程:torch.cuda.is_available()验证失败的5种解决方法 1. 环境准备与问题现象 当你满怀期待地部署好PyTorch 2.8镜像,准备开始深度学习之旅时,运行torch.cuda.is_available()却返回False,这可能是最令人沮…...
GuwenBERT:古文自然语言处理的技术革新
GuwenBERT:古文自然语言处理的技术革新 【免费下载链接】guwenbert GuwenBERT: 古文预训练语言模型(古文BERT) A Pre-trained Language Model for Classical Chinese (Literary Chinese) 项目地址: https://gitcode.com/gh_mirrors/gu/guwe…...
从标准到实战:网络变压器在POE应用中的AF/AT/BF/BT详解与电路设计指南
1. 网络变压器在POE系统中的核心作用 第一次接触POE供电系统时,我对着电路板上那个带铁壳的方形元件研究了半天——这就是网络变压器。它看起来平平无奇,却是整个POE系统的"心脏"。简单来说,网络变压器在POE系统中要同时干两件事&a…...
革命性智能求职助手:AI驱动的多平台简历投递解决方案
革命性智能求职助手:AI驱动的多平台简历投递解决方案 【免费下载链接】get_jobs 💼【找工作最强助手】全平台自动投简历脚本:(boss、前程无忧、猎聘、拉勾、智联招聘) 项目地址: https://gitcode.com/gh_mirrors/ge/get_jobs 你是否还…...
OpenClaw技能开发入门:为百川2-13B模型定制专属文件处理插件
OpenClaw技能开发入门:为百川2-13B模型定制专属文件处理插件 1. 为什么需要自定义文件处理技能? 去年夏天,我的桌面上堆积了超过2000份未分类的文档——包括技术笔记、会议记录、临时下载的论文和各种截图。当我尝试用现有工具整理时&#…...
效率提升利器:用快马生成智能脚本,一键统一团队node.js开发环境
在团队协作开发中,最让人头疼的莫过于"在我电脑上能跑"的环境问题。最近我们团队尝试用InsCode(快马)平台生成智能脚本,彻底解决了Node.js环境配置这个老大难问题。分享下这个提升效率的实践过程: 环境检测自动化 传统方式需要每个…...
春联生成模型-中文-base实操手册:模型量化(INT4)降低显存占用50%实测
春联生成模型-中文-base实操手册:模型量化(INT4)降低显存占用50%实测 1. 引言 春节将至,写春联是传统习俗,但很多人苦于没有文采写不出好对联。现在有了春联生成模型,只需要输入两个字的祝福词࿰…...
终极美化指南:3步将你的foobar2000打造成专业音乐工作站
终极美化指南:3步将你的foobar2000打造成专业音乐工作站 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn 还在忍受foobar2000那单调乏味的默认界面吗?foobox-cn作为一款专为foo…...
如何实现Android视频下载器的高效协程调度:Seal下载器的性能优化终极指南
如何实现Android视频下载器的高效协程调度:Seal下载器的性能优化终极指南 【免费下载链接】Seal 🦭 Video/Audio Downloader for Android, based on yt-dlp, designed with Material You 项目地址: https://gitcode.com/gh_mirrors/se/Seal Seal是…...
避开ArcGIS地形标注3大坑:为什么你的等高线总像‘蚯蚓爬‘?(含DEM处理技巧)
避开ArcGIS地形标注3大坑:为什么你的等高线总像蚯蚓爬?(含DEM处理技巧) 在GIS制图领域,地形标注的质量直接影响地图的专业性和可读性。许多中级用户在使用ArcGIS进行等高线标注时,常常遇到标注模糊、曲线锯…...
