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的其他重要的基础知识,感谢大家支持懒大王!

      希望这篇博客能给各位朋友们带来帮助,最后懒大王请来过的朋友们留下你们宝贵的三连以及关注,感谢你们!
 

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

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

相关文章

centos安装flink,通过windows访问webui

1. 安装flink 1.1. flink的下载 通过flink官网下载flink安装包 https://flink.apache.org/ 下载安装包 1.2 flink在centos上的安装 将下载好的flink-1.17.1-bin-scala_2.12.tgz安装包放到centos目录下 解压文件: [rootlocalhost ~]# tar -zxvf flink-1.17.…

数据分享|WEKA信贷违约预测报告:用决策树、随机森林、支持向量机SVM、朴素贝叶斯、逻辑回归...

完整报告链接:http://tecdat.cn/?p28579 作者:Nuo Liu 数据变得越来越重要,其核心应用“预测”也成为互联网行业以及产业变革的重要力量。近年来网络 P2P借贷发展形势迅猛,一方面普通用户可以更加灵活、便快捷地获得中小额度的贷…

【广州华锐互动】云智慧工厂数字孪生:打造高效、灵活的智能制造新模式

随着工业4.0的到来,数字孪生技术逐渐成为实现工业生产智能化升级的关键。云智慧工厂数字孪生利用先进的数字化技术,创建物理实体的虚拟模型,实现对生产过程的实时监控、优化与管理。 云智慧工厂数字孪生是指通过数字孪生技术,构建…

thinkphp5.0 composer 安装oss提示php版本异常

场景复现: 本地 phpstudy 环境,安装的有7.0到7.3三个版本,首先确认composer已经安装 composer安装阿里云oss的命令为:composer require aliyuncs/oss-sdk-php 运行报错: Problem 1- Root composer.json requires php…

leetcode 88:合并两个有序数组 。 双指针解法

题目 算法 双指针 code var merge function(nums1, m, nums2, n) {// 其实就是一个nums1数组从后向前的降序重排,从最后开始,比较nums1有效位置和nums2当前位置数的大小,依次填入,nums2最后若有剩余,则再多一步从后…

AI绘画:StableDiffusion实操教程-完美世界-魔女(附高清图下载)

前段时间我分享了StableDiffusion的非常完整的教程:“AI绘画:Stable Diffusion 终极宝典:从入门到精通 ” 尽管如此,还有读者反馈说,尽管已经成功安装,但生成的图片与我展示的结果相去甚远。真实感和质感之…

【数据结构】 Map和Set详解

文章目录 &#x1f340;Map与Set的概念及场景&#x1f333;Map与Set模型介绍&#x1f3a8;Map 的使用&#x1f4cc;Map说明&#x1f4cc;Map.Entry<K, V>的说明&#x1f4cc;Map 的常用方法说明&#x1f6a8;注意事项&#x1f6a9;TreeSet的使用 &#x1f38b;Set 的说明…

Java面试题(持续更新中)

一、Java基础集合多线程JVM 1.Java基础 1.1面向对象和面向过程的区别 面向过程&#xff1a;面向过程的性能比面向对象高。因为类调用时需要实例化&#xff0c;消耗比较大&#xff0c;比较消耗资源&#xff0c;所以当性能是最重要的考量因素的时候&#xff0c;比如单片机、Li…

华为云云耀云服务器L实例评测|centos系统搭建git私服

搭建git私服 前言一、华为云云耀云服务器L实例租用二、华为云云耀云服务器L实例安装git三、华为云云耀云服务器L实例git配置1.创建文件用于存放公钥2.设置文件权限3.配置本地公钥 四、华为云云耀云服务器L实例部署git仓库四、git仓库到本地总结 前言 之前一直想搭建一个属于自…

react中使用Modal.confirm数据不更新的问题解决

在使用Modal.confirm的时候今天发现了个疑惑的问题&#xff0c;为什么我明明从新set了数据而页面视图没有变化&#xff0c;查了一下官方文档找到了答案&#xff0c;解决了这个问题&#xff0c;特意在这里留下痕迹。 import { Button, Col, Form, Input, Modal, Radio, Row, Se…

OPENCV+QT环境配置

【qtopencv开发入门&#xff1a;4步搞定opencv环境配置2】https://www.bilibili.com/video/BV1f34y1v7t8?vd_source0aeb782d0b9c2e6b0e0cdea3e2121eba 第一步&#xff1a; 安装QT Qt 5.15 第二步&#xff1a; 安装OPENCV VS2022 Opencv4.5.5 C 配置_愿飞翔的鱼儿的博客…

SpringBoot底层注解

文章目录 前言一、Configuration二、Import导入组件三、Conditional条件装配四、ImportResource导入Spring配置文件五、ConfigurationProperties配置绑定总结 前言 本文主要讲诉Configuration、Import、Conditional、ImportResource、ConfigurationProperties注解。 先将实体…

【DockerCE】Docker-CE 24.0.6正式版发布

官网下载地址&#xff08;For RHEL/CentOS 7.9&#xff09;&#xff1a; https://download.docker.com/linux/centos/7/x86_64/stable/Packages/ 相对于24.0.5版本&#xff0c;本次24.0.6版本更新的rpm包有 5 个&#xff0c;使用目录对比软件对比的结果如下&#xff1a; 在Lin…

使用融云 CallPlus SDK,一小时实现一款 1V1 视频应用

9 月 21 日&#xff0c;融云直播课 社交泛娱乐出海最短变现路径如何快速实现一款 1V1 视频应用&#xff1f; 欢迎点击小程序报名~ 1V1 音视频、远程服务类应用的实现利器——融云 CallPlus SDK 上线&#xff01; 关注【融云全球互联网通信云】了解更多 作为新一代音视频通话场…

RuoYi若依管理系统最新版 基于SpringBoot的权限管理系统

RuoYi是一个后台管理系统&#xff0c;基于经典技术组合&#xff08;Spring Boot、Apache Shiro、MyBatis、Thymeleaf&#xff09;主要目的让开发者注重专注业务&#xff0c;降低技术难度&#xff0c;从而节省人力成本&#xff0c;缩短项目周期&#xff0c;提高软件安全质量。 本…

前端代理报错Error occured while trying to proxy to: localhost:端口

webpack配置进行前端代理时&#xff0c; 报错信息如下&#xff1a;(DEPTH_ZERO_SELF_SIGNED_CERT) 需设置&#xff1a;secure为false即可解决此报错 // webpack配置前端代理config["/test"]{target: https://xxxx.com,changeOrigin: true,secure: false // 这个配置…

CentOS 安装HTTP代理服务器 Tinyproxy

Tinyproxy是一个小型的基于GPL的HTTP/SSL代理程序&#xff0c;非常适合小型网络而且便于快速部署。这个代理程序最大的优点就是占用系统资源比较少。这里使用的系统为CentOS7.6&#xff0c;可以直接 yum 方式安装。 yum install tinyproxy -y 如果提示找不到安装包&#xff0…

列表和字典练习

定义四个学生信息 在Python环境下&#xff0c;用列表定义&#xff1a; >>> stu1[xiaoming,True,21,79.9] >>> stu1[lihong,False,22,69.9] >>> stu1[zhangqiang,True,20,89.9] >>> stu1[EMT,True,23,99.9]如图&#xff0c;定义了四个列表…

LeetCode 刷题记录——从零开始记录自己一些不会的

1. 最多可以摧毁的敌人城堡数目 题意 思路 两层循环&#xff0c;太low了 用一个变量记录前一个位置 代码 class Solution { public:int captureForts(vector<int>& forts) {int ans 0, pre -1;for (int i 0; i < forts.size(); i) {if (forts[i] 1 || forts…

c++ 学习之类型,常量以及变量的重点知识

const 和 volatile 组合考点 const int ( * ) 等价于 int const ( * ) const int x 1 ; 说明 x 是常量&#xff0c;无法修改 如何区分指针常量和常量指针 指针常量 为 先有指针后有常量 故为 形式如 &#xff1a; int * const p & x ; 且const 修饰的是 p &#xff0c…