Linux | vim的入门手册

news2025/7/21 6:22:57

目录

前言

一、什么是vim

二、vim编辑器的模式

1、插入模式

(1)用vim打开文件 

(2)进入插入模式

2、默认模式

(1)光标移动

(2)复制、粘贴与剪切操作

(3)撤销与取消撤销操作

(4)光标快速行移动操作

(5)光标快速列移动操作

(6)编辑相关操作

3、底行模式

(1)进入底行模式

(2)退出与保存

(3)打开行号或取消行号

(4)分屏相关操作

(5)其他操作

4、替换模式


前言

        关于vim想必大家多多少少有一些了解,不大了解也没关系,本章节就带着大家一起学习vim的基本使用;

一、什么是vim

        vim是Linux下的一款编辑器软件,注意,这里说的是编辑器,类似于记事本,我们可以通过vim在Linux系统下进行代码的编辑,这里有些小伙伴就疑惑了,我们难道不能使用vscode等软件吗?是的,我们可以直接使用vscode等软件,且效率也可能更高,但我们有一些情况可能需要纯Linux系统下编辑代码,那是可能就无图形化界面,因此Vim是我们的最好选择了;

二、vim编辑器的模式

        vim编辑器有很多模式,对于新手来说无需弄清每种模式,本文主要介绍如下四种模式,分别为普通模式(默认模式)、插入模式、底行模式、替换模式;这四种模式已经满足大部分需求,且已足够日常使用,对于想精进vim的读者来说,可后续自行完善知识体系本文仅仅为vim入门文章;

1、插入模式

(1)用vim打开文件 

        我们用vim打开一个文件,默认进入的就是默认模式;我们可以通过下面这条指令来用vim打开一个文件;

vim test.c

        其中test.c为文件名,可以自己取别的名字,其中若文件不存在,则会在当前目录自动创建一个文件;

(2)进入插入模式

        我们按下键盘的 i 即可进入插入模式,进入插入模式后,我们左下角的normal就变成了insert,如下图所示;

        我们按下键盘的左上角的 Esc 键即可退出插入模式,进入我们的普通模式,插入模式下,我们就可以进行代码编辑了;对于新手来说,插入模式理解到这一步就已经可以了进行基本的编辑代码了;

2、默认模式

(1)光标移动

        在默认模式中,我们可以通过键盘中的上下左右对光标进行移动,也可以通过H、J、K、L对光标进行移动,后者的使用更加推荐,我们可以通过下图来记忆这四个键;

(2)复制、粘贴与剪切操作

复制:

yy:复制当前行

nyy:从光标选中当前行开始复制 n 行

粘贴:

p:从光标选中的下一行开始粘贴一次

np:从光标选中的下一行开始粘贴 n 次

剪切(删除):

dd:剪切(删除)当前行

ndd:从当前行开始剪切(删除)n 行

(3)撤销与取消撤销操作

撤销:

u:撤销上次操作

取消撤销:

ctrl + r:撤销刚才的撤销操作

(4)光标快速行移动操作

shift + g:将光标移动到最后一行

gg:将光标移动到第一行

n shift + g:快速移动到第 n 行(n为数字)

(5)光标快速列移动操作

shift + 4:快速移动到当前行的最后一列

shift + 6:快速移动到当前行的第一列

w:以单词为单位,快速在当前行向前移动

b:以单词为单位,快速在当前行向后移动

(6)编辑相关操作

shift + ~:大小写切换

r + 要替换的字符:替换当前字符

n r + 要替换的字符: 替换从当前字符开始的 n 个字符

x:删除光标当前指向的字符

n x:删除从光标当前指向的字符位置开始的 n 个字符

3、底行模式

(1)进入底行模式

shift + :(冒号):shift 加 冒号(分号)进入底行模式,下面所有介绍的操作都是基于底行模式下的操作,默认已经进入底行模式了;以下为进入底行模式的界面;

(2)退出与保存

q:仅退出

q!:强制退出

w:仅保存

w!:强制保存

wq!:强制保存并退出

(3)打开行号或取消行号

set nu:打开行号

set nonu:取消行号

(4)分屏相关操作

vs 文件名:分屏出另一个文件出来,若文件不存在,且创建该文件

ctrl + w +  w:进行光标切换(这里的切换指的是这两个文件中切换)

(5)其他操作

!cmd:不退出vim执行对应命令(常与编译、运行、man指令等配合)

        如上图所示,我们可以不退出vim编辑器的情况下,查看当前目录下有哪些文件;

4、替换模式

shift + r:进入替换模式,此时可以进行输入替换;

注意:替换模式我们就不必做过多了解,我们将上述命令学会便已经可以在vim编辑器上完成大部分的编辑任务了;

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

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

相关文章

毫米波雷达与其他传感器的协同工作:传感器融合的未来

随着科技的不断进步,传感技术在各个领域的应用愈发广泛。毫米波雷达作为一种重要的传感器技术,以其高精度、强穿透力和适应性强等优点,在军事、医疗、汽车、工业等领域都得到了广泛应用。然而,单一传感器的局限性也逐渐显现&#…

017 基于Spring Boot的食堂管理系统

基于Spring Boot的食堂管理系统 项目介绍 本项目是基于Java的管理系统。采用前后端分离开发。前端基于bootstrap框架实现,后端使用Java语言开发,技术栈包括但不限于SpringBoot、MyBatis、MySQL、Maven等,开发工具为IDEA。 功能介绍 主页 …

day28--JS(同步异步代码,回调函数地狱,promise链式调用,async函数和await,事件循环,宏任务与微任务)

目录 同步异步代码: 回调函数地狱: Promise Promise.all静态方法 链式调用 async函数和await: 语法: 捕获错误try...catch: 事件循环--执行过程: 宏任务与微任务: 同步异步代码&#…

OpenCV4 :并行计算cv::parallel_for_

OpenCV4 :并行计算cv::parallel_for_ 在计算机视觉和图像处理领域,OpenCV(开源计算机视觉库)是一个非常强大和广泛使用的库。随着图像分辨率的提高和计算任务的复杂度增加,实时处理变得越来越困难。为了解决这个问题&…

基于springboot实现汉服文化分享平台项目【项目源码+论文说明】计算机毕业设计

摘要 本论文主要论述了如何使用JAVA语言开发一个汉服文化平台网站 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述汉服文化平台网站的当前背景以及系统开发的…

selenium教程 —— css定位

说明:本篇博客基于selenium 4.1.0 selenium-css定位 element_css driver.find_element(By.CSS_SELECTOR, css表达式) 复制代码 css定位说明 selenium中的css定位,实际是通过css选择器来定位到具体元素,css选择器来自于css语法 css定位优点…

使用cpolar内网端口映射技术实现U8用友ERP本地部署的异地访问

文章目录 前言1. 服务器本机安装U8并调试设置2. 用友U8借助cpolar实现企业远程办公2.1 在被控端电脑上,点击开始菜单栏,打开设置——系统2.2 找到远程桌面2.3 启用远程桌面 3. 安装cpolar内网穿透3.1 注册cpolar账号3.2 下载cpolar客户端 4. 获取远程桌面…

Linux 如何进行内存分配

虚拟内存管理回顾 在 Linux 操作系统中,虚拟地址空间的内部又被分为内核空间和用户空间两部分,不同位数的系统,地址空间的范围也不同。比如最常见的 32 位和 64 位系统,如下所示: 通过这里可以看出: 32 位…

【网络安全 --- MySQL数据库】网络安全MySQL数据库应该掌握的知识,还不收藏开始学习。

四,MySQL 4.1 mysql安装 #centos7默认安装的是MariaDB-5.5.68或者65, #查看版本的指令:[rootweb01 bbs]# rpm -qa| grep mariadb #安装mariadb的最新版,只是更新了软件版本,不会删除之前原有的数据。 #修改yum源的配…

完全掌握Nginx的终极指南:这篇文章让你对Nginx洞悉透彻

Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少(一个worker进程只占用10-12M内存),启动极快,高并发能力强,在互联网项目中广泛应用。 上图基本上说明了当下流行的技术架构,其…

软考系统架构设计师考试冲刺攻略

系统架构冲刺攻略 上篇为综合知识,介绍了系统架构设计师应熟练掌握的基本知识,主要包括绪论、计算机系统、信息系统、信息安全技术、软件工程、数据库设计、系统架构设计、系统质量属性与架构评估、软件可靠性、软件架构的演化和维护、未来信息综合技术等…

贪心算法:猫粮兑换最大数量的五香豆

小老鼠存了一些猫粮,他想到猫猫库房兑换最大数量的五香豆。 (本笔记适合熟悉循环和列表的 coder 翻阅) 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》,不…

凉鞋的 Unity 笔记 201. 第三轮循环:引入变量

201. 第三轮循环:引入变量 在这一篇,我们进行第三轮 编辑-测试 循环。 在之前我们编写了 输出 Hello Unity 的脚本,如下: using System.Collections; using System.Collections.Generic; using UnityEngine;public class FirstGameObject …

低代码加速软件开发进程

IT 团队依靠笨重的软件开发流程和密集型的手工编码来构建可靠的现代应用程序的时代即将结束。随着新自动化技术的兴起、开发人员的短缺,以及渴望创新的客户和最终用户的需求迅速提高,软件行业被迫寻求替代方法,要求不仅提供服务和产品&#x…

那些你面试必须知道的JS知识点

目录 1、JS数据类型有哪些?2、延迟加载JS有哪些方式?3、 和 有什么不同?4、null和undefined的区别5、JS微任务和宏任务6、作用域考题7、JS对象考题8、JS作用域this指向原型考题9、JS判断变量是不是数组,你能写出哪些方法&#xff…

四、Node Exporter

一、Exporter结束 可以通过一个 metrics 接口为 Prometheus 提供监控指标,最好的方式就是直接在目标应用中集成该接口,但是有的应用并没有内置支持 metrics 接口,比如 linux 系统、mysql、redis、kafka 等应用,这种情况下就可以单…

数字孪生技术如何提高仓储效率?

随着科技的不断演进,数字孪生技术已然成为仓储管理领域的一股强大力量,带来了前所未有的变化和机遇。数字孪生技术的出现,为仓储行业带来了前所未有的智能化和高效化,从仓库布局到库存管理,从人员配备到安全控制&#…

基于马尔可夫随机场的图像去噪算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1、马尔可夫随机场的基本原理 4.2、基于马尔可夫随机场的图像去噪算法 5.算法完整程序工程 1.算法运行效果图预览 原图: 加入噪声的图像: 滤波后的图像 迭代过程…

人工智能(pytorch)搭建模型20-基于pytorch搭建文本生成视频的生成对抗网络,技术创新点介绍

大家好,我是微学AI,今天给大家介绍一下人工智能(pytorch)搭建模型20-基于pytorch搭建文本生成视频的生成对抗网络,技术创新点介绍,随着人工智能和深度学习技术的飞速发展,文本到视频生成已经成为计算机视觉领域中一个重…

【网络安全】php代码审计-sql注入进阶篇

前言 现在各大网站都在使用waf对网站或者APP的业务流量进行恶意特征识别及防护,,避免网站服务器被恶意入侵。所以我们就需要绕过waf,这篇文章就用代码审计的方式给大家讲解一些sql的绕过技巧。 点击此处即可领取282G网络安全学习籽料 关键…