Linux | vim的入门手册

目录

前言

一、什么是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.hqwc.cn/news/140616.html

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

相关文章

uniapp checkbox样式失效,选中框选中按钮不显示

找了很多方法 最后网上一个博主找到了解决方法 在项目的main.css里面 如果你不知道你的css样式在哪个文件夹 直接全局搜索‘ 找到注释两个地方 第一个 checkbox::before 找到这一行 注释箭头指的地方就可以 第二个 checkbox .uni-checkbox-input::before, 注释这两个地方…

垃圾邮件(短信)分类算法实现 机器学习 深度学习 计算机竞赛

文章目录 0 前言2 垃圾短信/邮件 分类算法 原理2.1 常用的分类器 - 贝叶斯分类器 3 数据集介绍4 数据预处理5 特征提取6 训练分类器7 综合测试结果8 其他模型方法9 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 垃圾邮件(短信)分类算…

腾讯云服务器上行带宽和下行带宽速度表

腾讯云服务器公网带宽下载速度计算,1M公网带宽下载速度是128KB/秒,5M带宽下载速度是512KB/s,腾讯云10M带宽下载速度是1.25M/秒,腾讯云百科txybk.com来详细说下腾讯云服务器不同公网带宽实际下载速度以及对应的上传速度对照表&…

Linux篇 五、Ubuntu与Linux板卡建立NFS服务

Linux系列文章目录 一、香橙派Zero2设置开机连接wifi 二、香橙派Zero2获取Linux SDK源码 三、香橙派Zero2搭建Qt环境 四、Linux修改用户名 文章目录 Linux系列文章目录前言一、连接到局域网互ping测试 二、安装NFS服务配置NFS更新exports配置三、板卡安装NFS客户端四、板卡临时…

php如何查找地图距离

要在PHP中使用高德地图、百度地图或腾讯地图获取位置信息,您可以使用它们的相应API服务。以下是获取位置信息的一般步骤: 思路: 获取API密钥:首先,您需要注册并获取相应地图服务提供商的API密钥。这将允许您访问他们的API以获取位…

数字图像处理实验记录二(直方图和直方图均衡化)

文章目录 一、基础知识1,什么是直方图2,直方图有什么用3,直方图均衡化4、原理代码实现 二、实验要求任务1:任务2: 三、实验记录任务1:任务2: 四、结果展示任务1:任务2: 五…

技巧 | 如何解决 OBS 系统声音无法捕获问题 | Mac

技巧 | 如何解决 OBS 系统声音无法捕获问题 | Mac 问题描述 由于 macOS 系统限制,桌面音频被禁止,导致在使用 OBS 无法录制桌面音频,只能使用自带麦克风录制。 解决方法 Loopback 介绍 借助 Loopback 的强大功能,可以轻松地…

【微信小程序调试工具试用】

【微信小程序调试工具试用】 试用大佬开发的dll拿到某物小程序sign签名 (过于简单 大佬勿喷)本次工具分享到此结束 什么是爬虫逆向? 试用大佬开发的dll拿到某物小程序sign签名 (过于简单 大佬勿喷) 1 如图 下面小程序…

2023年中国润滑油分散剂市场需求量及行业竞争现状分析[图]

润滑油分散剂是一种两亲性化学品,可以增加油性部分以及水性部分在同一体系中的相容性,能降低分散体系中固体或液体粒子聚集的物质。换油时,可将有害的悬浮物从油中清除。 国内从60年代末开始试制丁二酰亚胺型分散剂,并于80年代初在…

Linux高性能服务器编程 学习笔记 第十七章 系统监测工具

tcpdump是一款经典的抓包工具,即使今天我们已经有了像Wireshark这样更易于使用和掌握的抓包工具,tcpdump仍是网络程序员的必备利器。 tcpdump提供了一些选项用以过滤数据包或定制输出格式,常见的选项如下: 1.-n:使用I…

WPF实现签名拍照功能

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

【计算机网络笔记】计算机网络性能(1)——速率、带宽、延迟

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 系列文章目录速率带宽延迟/时延(delay或latency) 下面介绍一些计算机网络中常用的性能指标。在本篇中涉及速…