【Linux】开始使用 vim 吧!!!

Linux

  • 1 what is vim ?
  • 2 vim基本概念
  • 3 vim的基本操作 !
    • 3.1 vim的快捷方式
      • 3.1.1 复制与粘贴
      • 3.1.2 撤销与剪切
      • 3.1.3 字符操作
    • 3.2 vim的光标操作
    • 3.3 vim的文件操作
  • 总结
  • Thanks♪(・ω・)ノ感谢阅读
  • 下一篇文章见!!!

1 what is vim ?

我们先来了解 vi ,
vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于 x window、 mac os、windows。

vim相当于是vi的升级版, vim具有程序编辑能力,可以主动以字体颜色标识语法的正确性,方便代码编写 ,程序简单,编辑速度非常快
综上所述 这是一个老式的文字处理工具,但是功能很齐全,不仅是文本处理工具,还是一个程序编辑工具

最重要的是 vim 生态丰富,使用起来十分方便。

2 vim基本概念

vim具有主要有三个模式(vim具有非常多的模式):
命令模式 底行模式 插入模式

1. 命令/正常模式 (Normal mode):控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
2. 插入模式 (Insert mode):只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是使用的最频繁的编辑模式。
3. 末行模式(last line mode)文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入


(我的vim配置过了,界面略有不同)

3 vim的基本操作 !

我们了解vim之后,下一步就要学习如何使用这个实用工具。
我们分两个部分来详细讲解,如同windos的鼠标与键盘快捷方式。

3.1 vim的快捷方式

3.1.1 复制与粘贴

vim中的复制粘贴操作:

yy 复制当前行
n + yy 连续复制 n 行
p 粘贴到光标下一行
n + p 粘贴 n 次

来看看具体操作效果:
(复制粘贴这里就不放动图了,图片挺直观)
在这里插入图片描述

效果比Ctrl c 、Ctrl v更强大!

3.1.2 撤销与剪切

vim 中的撤销剪切操作:
u 撤销操作
dd 剪切 / 删除 指定行
n + dd 剪切 / 删除 n 行

来看看操作效果:
撤销
在这里插入图片描述
剪切 / 删除
在这里插入图片描述
剪切/删除 n 行
在这里插入图片描述

3.1.3 字符操作

vim 中的字符操作:

shift + ` 切换大小写
n + x 删除 光标后 n 个字符 (一行内)
n + shift + x 删除 光标前 n 个字符 (一行内)
n + r 光标位置进行指定切换 一次可替换多个
shift + r 进入 替换模式 直接进行文本替换

来看看操作效果

切换大小写
在这里插入图片描述
删除字符
在这里插入图片描述
替换字符
在这里插入图片描述

3.2 vim的光标操作

这里如同鼠标一样灵活操作。
vim 中的光标操作:

shift + 4 = $ 光标移动到当前行的结尾
shift + 6 = ^ 光标移动到当前行的开头
gg 移动光标到文本开头
shift + g 移动光标到文本最后一行
n + shift + g 移动光标到文本第 n 行
h j k l 左 下 上 右 移动光标
w 以单词为单位向后移动光标
b 以单词为单位向前移动光标

来看看操作效果:

移动到行开头 / 结尾
在这里插入图片描述
移动到文本开头 / 结尾
在这里插入图片描述
上下左右移动光标
在这里插入图片描述
以单词为单位移动
在这里插入图片描述

3.3 vim的文件操作

文件操作是在底行模式下进行的保存,编译 ,强制等操作。
w 保存
q 退出
!强制进行操作
vs filename 多文件分屏操作
!command 不退出vim 进行 shell 指令操作

来看看操作效果:

保存退出

加粗样式
分屏操作
在这里插入图片描述

总结

vim 的操作我只介绍了一部分,还有许多等待大家探索!!!

Thanks♪(・ω・)ノ感谢阅读

下一篇文章见!!!

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

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

相关文章

成熟的内外网数据交换方案,如何实现跨网传输?

网络迅速发展,我们可以从网络上查找到各式各样的信息,但是同时网络安全问题也随之严重。近几年,各种有关网络安全的新闻不断被报道,数据泄露给很多企业带来了严重打击,不仅是经济损失,严重者还会对企业的声…

SharedPreferences卡顿分析

SP的使用及存在的问题 SharedPreferences(以下简称SP)是Android本地存储的一种方式,是以key-value的形式存储在/data/data/项目包名/shared_prefs/sp_name.xml里,SP的使用示例及源码解析参见:Android本地存储之SharedPreferences源码解析。以…

STM32 PWM驱动设计

单片机学习! 目录 文章目录 前言 一、PWM驱动配置步骤 二、代码示例及注意事项 2.1 RCC开启时钟 2.2 配置时基单元 2.3 配置输出比较单元 2.4 配置GPIO 2.5 运行控制 三、PWM周期和占空比计算 总结 前言 PWM本质是利用面积等效原理来改变波形的有效值。 一、PWM驱动…

git安装步骤

安装环境:Windows10 64bit 下载 Git网址 :Git - Downloading Package 版本:Git-2.21.0-64-bit 第一步:双击下载后的Git-2.21.0-64-bit.exe,开始安装 安装开始 第二步:选择安装路径,点击[next]…

2024年美赛数学建模思路 - 案例:退火算法

文章目录 1 退火算法原理1.1 物理背景1.2 背后的数学模型 2 退火算法实现2.1 算法流程2.2算法实现 建模资料 ## 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 退火算法原理 1.1 物理背景 在热力学上&a…

机器学习之pandas库学习

这里写目录标题 pandas介绍pandas核心数据结构SeriesDataFrameDataFrame的创建列访问列添加列删除行访问行添加行删除数据修改 pandas介绍 pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入 了大量库和一些标准的数据模型&#xff…

通过Android Logcat分析firebase崩溃

参考:UnityIL2CPP包Crash闪退利用Android Logcat还原符号表堆栈日志 - 简书 一、安装Android Logcat插件 1、新建空白unity工程,打开PackageManager窗口,菜单栏Window/PackageManager 2、PackageManager中安装Android Logcat日志工具 3、安…

橘子学Mybatis08之Mybatis关于一级缓存的使用和适配器设计模式

前面我们说了mybatis的缓存设计体系,这里我们来正式看一下这玩意到底是咋个用法。 首先我们是知道的,Mybatis中存在两级缓存。分别是一级缓存(会话级),和二级缓存(全局级)。 下面我们就来看看这两级缓存。 一、准备工作 1、准备数据库 在此之…

【docker】linux系统docker的安装及使用

一、docker应用的安装 1.1 安装方式 Docker的自动化安装,即使用提供的一键安装的脚本,进行安装。 官方的一键安装方式:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 国内 daocloud一键安装命令:curl -s…

【Web】小白也能做的RWCTF体验赛baby题部分wp

遇到不会的题,怎么办!有的师傅告诉你完了,废了,寄了!只有Z3告诉你,稳辣!稳辣!都稳辣! 这种CVE复现的题型,不可能要求选手从0到1进行0day挖掘,其实…

Django介绍

一、介绍 Django是Python语言中的一个Web框架,Python语言中主流的web框架有Django、Tornado、Flask 等多种 优势:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等功能,是一个全能型框架,拥有自己的A…

C#,获取与设置Windows背景图片的源代码

为了满足孩子们个性化桌面的需求。 这里发布获取与设置Windows背景图片的源代码。 1 文本格式 using System; using System.IO; using System.Data; using System.Linq; using System.Text; using System.Drawing; using System.Collections; using System.Collections.Gene…

【MATLAB第94期】#源码分享 | 基于MATLAB的广义加性模型多输入单输出回归预测模型(至少2021a版本)

【MATLAB第94期】#源码分享 | 基于MATLAB的广义加性模型多输入单输出回归预测模型(至少2021a版本) 参考链接: 一、代码展示 %% 清空环境变量 warning off % 关闭报警信息 close all % 关闭开启的图窗 clear …

Linux系统——函数与数组

目录 一、函数 1.函数的定义 2.使用函数 3.定义函数的方法 4.函数举例 4.1判断操作系统 4.2判断ip地址 5.查看函数列表 6.删除函数 7.函数返回值——Return 8.函数的作用范围 9.函数传参 10.函数递归 10.1病毒 10.2阶乘 10.2.1 用for循环 10.2.2函数阶乘 10.…

Unity中的协程

这里写目录标题 前言一、 什么是协程?二、如何声明一个协程三、协程的作用四、协程的优缺点优点 缺点五、 应用示例延迟执行渐变效果 六、总结 前言 在学习unity的过程中会遇到“协程”的概念,听到协程我们脑海里应该会想到它 当然不是一个东西&#xf…

基于物联网设计的水稻田智能灌溉系统(STM32+华为云IOT)

一、项目介绍 随着科技的不断发展和人们生活水平的提高,农业生产也逐渐向智能化、高效化的方向发展。水稻作为我国主要的粮食作物之一,其生长过程中的灌溉管理尤为重要。传统的灌溉方式往往依赖于人工观察和控制,不仅效率低下,而…

硬件知识(1) 手机的长焦镜头

#灵感# 手机总是配备好几个镜头,研究一下 目录 手机常配备的摄像头,及效果举例 长焦的焦距 焦距的定义和示图: IPC的焦距和适用场景: 手机常配备的摄像头,及效果举例 以下是小米某个手机的摄像头介绍&#xff1a…

.NET绿色开源一键自动化下载、安装、激活Office的利器

前言 今天分享一款.NET开源、绿色、安全、无毒的支持一键自动化下载、安装、激活Microsoft Office的利器:LKY_OfficeTools。 工具介绍 一键自动化下载、安装、激活 Microsoft Office 的利器。绿色、开源、安全、无毒。 目前包含的功能: 一键快速下载、…

12.Elasticsearch应用(十二)

Elasticsearch应用(十二) 1.单机ES面临的问题 海量数据存储问题单点故障问题 2.ES集群如何解决上面的问题 海量数据存储解决问题: 将索引库从逻辑上拆分为N个分片(Shard),存储到多个节点单点故障问题&a…

FPGA HDMI IP之DDC(本质I2C协议)通道学习

目的: 使用KingstVIS逻辑分析仪软件分析HDMI的DDC通道传输的SCDC数据(遵循I2C协议),同时学习了解SCDC的寄存器与I2C通信协议。 部分英文缩写: HDMIHigh Definition Multi-media Interface高清多媒体接口DDCDisplay Dat…