【Linux】Vim使用总结

news2024/11/24 19:40:05

【Linux】Vim使用总结

  • Vim 的三种模式
  • 命令行模式
    • 1. 移动
    • 2.复制,粘贴,剪切
    • 3.撤销
    • 4.大小写切换,替换,删除
  • 插入模式
  • 底行模式

Vim 的三种模式

在这里插入图片描述

一进入VIM就是处于一般模式(命令模式),该模式下只能输入指令,不能输入文字。这些指令可能是让光标移动的指令,也可能是删除指令或取代指令。

输入"i"就会进入编辑模式(插入模式),此时在状态列会有INSERT字样。在该模式下才可以输入文字,按Esc键又会回到命令模式

输入 :就会进入底行模式,此时坐下角会有一个冒号,等待输入命令。按Esc键就可以返回命令模式。

命令行模式

1.首先创建一个文本文件

touch test.txt

2.使用vim编辑test.txt文件

vim test.txt

3.在文本中编辑一些示例文字
使用 ESC 然后输入 : 在输入i,编辑部分文字后,使用 ESC 然后输入 : 在输入wq。重新使用 vim test.txt。本文编辑后的文本如下:

在这里插入图片描述

注意:刚刚打开文件时,可以使用方向键或者“hjkl”进行光标的移动,了解这一点很重要!在默认的命令行模式,才能使用下述快捷命令方式。

1. 移动

注:在vim模式中尽量不要使用鼠标的滚轮去上下翻阅。

  • 上下左右
命令功能
h向左
j向右
k向上
l向右
  • 行内移动
命令功能
w向后移动一个单词
b向前移动一个单词
0行首
^行首,第一个不是空白符的位置
$行尾
  • 行数移动
命令功能
gg文件顶部
G文件末尾
数字+gg移动到数字对应行数
数字+G移动到数字对应行数
:数字移动到数字对应行数
$将光标定位到文档行的最开始
^将光标定位到文档行的结尾
nw/nb按照单词为单位(一个或者n个)进行前后移动w向后,b向前
  • 屏幕移动
命令英文功能
ctrl+bback向上翻页
ctrl+fforward向下翻页
HHead屏幕顶部
MMiddle屏幕中间
LLow屏幕底部
  • 标记
命令功能
mx添加标记x
‘x直接定位到x所在位置

2.复制,粘贴,剪切

yy/nyy:复制当前行或者复制当前行在内的指定若干行

3.撤销

u:进行撤销上一次的操作

此时我们进行了一次5p的命令,现在来撤销从这次的命令

4.大小写切换,替换,删除

shift+~/n Shift+~:快速大小写切换。
r/nr:替换当前光标所在字符或者当前光标在内的多个字符。
x/nx:行内删除 左->右。
X/nX:行内删除 右->左。
v/nv:行内选中一个字符或者多个字符。 d/nd:删除一个或者多个或选中的字符

插入模式

在这里插入图片描述

底行模式

set nu:显示行数。

set nonu:不显示行数。

/key:key代表要搜索的内容将会被标亮。

!:在vim的底行模式下执行Linux的基本命令。

vs file:多窗口编辑。

Ctrl+ww:将光标切换窗口。(光标在哪个窗口上就在编辑哪个窗口。)

w:保存当前文件。
q:退出当前文件。
wq:保存冰退出当前文件。
注:w/q后面加!表示强制保存或者强制退出。

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

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

相关文章

java BigInteger的基本使用

BigInteger 注意对象一旦创建,内部记录的值不能发生改变 import java.math.BigInteger; import java.util.Random;public class myBigInteger {public static void main(String[] args) {//获取一个随机的大整数BigInteger bigIntegernew BigInteger(4,new Random());System.ou…

3dmax怎样渲染全景图?3dmax渲染全景图的2种方法

3dmax怎样渲染全景图?今天介绍3dmax渲染全景图的3种方法 3dmax渲染全景图方法1 在 360 度渲染时,您必须采取的第一步是放置摄像机。 定位相机:选择您要使用的相机类型。 无论您希望使用哪种类型的相机(目标相机、物理相机或免费…

漏刻有时数据可视化Echarts组件开发(42)炫酷的pictorialBar象形柱图代码分析

核心代码 var data []; for (let i 0; i < 5; i) {data.push(Math.round(Math.random() * 10)); } var xData2 ["A", "B", "C", "D", "E"]; var data1 [100, 100, 100, 100, 100]; // var data2 [50, 32, 55, 65, …

WPF向Avalonia迁移(三、项目结构)

前提&#xff1a; Avalonia版本11.0.0 1.配置文件 1.1 添加配置文件 1.2 读取配置文件 添加System.Configuration.ConfigurationManager using Avalonia.Controls; using System.Configuration;namespace AvaloniaApplication7.Views {public partial class MainWindow : W…

java实验(头歌)--面向对象封装继承和多态

文章目录 第一题第二题第三题第四题第五题第六题第七题第八题 快速完成实验的方法&#xff1a; 把对应题目的主函数替换&#xff0c;其他复制粘贴。 第一题 public class TestPersonDemo {public static void main(String[] args) {/********* begin *********/// 声明并实例化…

基于双二阶广义积分器的三相锁相环(DSOGI-PLL)Simulink仿真

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

漏刻有时数据可视化Echarts组件开发(41)svg格式地图应用

1.定义SVG文件 var svg ;2.注册地图函数 Echarts.registerMap是Echarts图表库中用于注册地图的函数。它可以将第三方地图或自定义地图数据与Echarts进行集成&#xff0c;使用Echarts的API进行绘制。使用方法如下&#xff1a; echarts.registerMap(mapName, geoJson) 参数map…

vscode Vue代码script全白

原因&#xff1a;template闭合标签有换行 更改为一行之后&#xff0c;成功解决

置换环建笛卡尔树:AT_wtf22Day1B

https://atcoder.jp/contests/wtf22-day1/tasks/wtf22_day1_b?langen 置换环是用值连位 首先肯定要分成每个置换环&#xff0c;每个置换环操作次数只能是 s i z e − 1 size-1 size−1&#xff08;置换环性质&#xff09; 我们考虑置换环任意一次操作&#xff0c;会划分成…

【C++】笔试训练(四)

目录 一、选择题二、编程题1、计算糖果2、进制转换 一、选择题 1、有以下程序&#xff0c;程序运行后的输出结果是&#xff08;&#xff09; #include<iostream> #include<cstdio> using namespace std; int main() {int m 0123, n 123;printf("%o %o\n&…

VR酒店虚拟仿真情景实训教学演示

在传统的酒店管理教学过程中&#xff0c;学生往往缺乏实践操作经验&#xff0c;难以将理论知识与实际工作相结合。而VR酒店虚拟仿真情景实训教学应用可以为学生提供一个逼真的、沉浸式的酒店管理环境&#xff0c;使学生能够在模拟实践中掌握酒店管理的各项技能。 VR酒店虚拟仿真…

【漏洞复现】时空智友企业流程化管控系统 session泄露

漏洞描述 时空智友企业流程化管控系统 session 泄露 免责声明 技术文章仅供参考&#xff0c;任何个人和组织使用网络应当遵守宪法法律&#xff0c;遵守公共秩序&#xff0c;尊重社会公德&#xff0c;不得利用网络从事危害国家安全、荣誉和利益&#xff0c;未经授权请勿利用…

【通义千问】Qwen从本地加载分词器报错‘‘tokenizer class not exist‘‘

问题描述&#xff1a; 将模型文件下载到本地&#xff0c; 模型文件>https://huggingface.co/Qwen/Qwen-7B-Chat/tree/main 通过【from_pretrained】去加载本地磁盘上的分词器 YOURPATH models/Qwen-7B-Chatname Qwen/Qwen-7B-Chat tokenizer AutoTokenizer.from_pretr…

windows RPC调用过程实例详解

概述&#xff1a;windows 创建 RPC调用过程实例详解 参考文章&#xff1a;Remote procedure call (RPC)&#xff08;远程过程调用 (RPC)&#xff09; - Win32 apps | Microsoft Learn 文章目录 0x01、生成 UUID 和模版(IDL)文件0x02、添加 acf 文件0x03、编译 idl 文件0x04、客…

Unity设计模式——装饰模式

装饰模式&#xff08;Decorator&#xff09;&#xff0c;动态地给一个对象添加一些额外的职责&#xff0c;就增加功能来说&#xff0c;装饰模式比生成子类更为灵活。 Component类&#xff1a; abstract class Component : MonoBehaviour {public abstract void Operation(); …

微信小程序 movable-area 区域拖动动态组件演示

movable-area 组件在小程序中的作用是用于创建一个可移动的区域&#xff0c;可以在该区域内拖动视图或内容。这个组件常用于实现可拖动的容器或可滑动的列表等交互效果。 使用 movable-area 组件可以对其内部的 movable-view 组件进行拖动操作&#xff0c;可以通过设置不同的属…

怎么防止重要文件夹丢失?文件夹安全如何保护?

我们在使用电脑的过程中&#xff0c;会将重要数据放在文件夹中&#xff0c;那么&#xff0c;我们该怎么防止重要文件夹丢失呢&#xff1f;下面我们就一起来了解一下。 EFS加密 EFS加密可以对于NTFS卷上的文件夹进行加密&#xff0c;加密后的文件夹将只允许加密时登录系统的用户…

Bigemap 在生态环境督察工作中的应用

工具 Bigemap gis office地图软件 BIGEMAP GIS Office-全能版 Bigemap APP_卫星地图APP_高清卫星地图APP 业务背景 用户是一家科技公司&#xff0c;业务线主要是配合省生态厅环境督察应用工作&#xff0c;他们技术人员先是基于卫星遥感去发现生态环境破坏问题线索&#xff…

详解SIFT、SURF和ORB特征点检测和描述算法

文章目录 0 引言1 SIFT算法1.1 主要目的1.2 主要步骤1.3 示例代码 2 SURF算法2.1 主要目的2.2 主要步骤2.3 示例代码 3 ORB算法3.1 主要步骤3.2 代码示例 4 三者对比 0 引言 本文主要对SIFT、SURF和ORB特征点检测和描述算法进行详细的学习和比较。 ⚠️ ⚠️ ⚠️ &#xff1a…

网站为什么一定要使用SSL证书?

在现代社会&#xff0c;随着互联网的快速发展&#xff0c;越来越多的人开始使用网络来完成日常生活中的各种任务。而在这个过程中&#xff0c;网站作为网络中最重要的组成部分之一&#xff0c;也逐渐成为了人们日常生活中的不可或缺的一部分。但是&#xff0c;随着网络攻击和数…