Linux中 vim 常用命令大全详细讲解

文章目录

  • 前言
    • 一、Vim 基本操作 🕹️
      • 1.1 打开或创建
      • 1.2 退出编辑
      • 1.3 模式切换
    • 二、Vim 光标移动命令 ↕️
      • 2.1 基本移动
      • 2.2 行内移动
      • 2.3. 单词移动
      • 2.4. 页面移动
      • 2.5. 行跳转
    • 三、Vim 文本编辑命令 📋
      • 3.1 插入和删除
      • 3.2 复制、剪切与粘贴
      • 3.3 替换与修改
    • 四、Vim 查找与替换命令 🔎
      • 4.1 查找
      • 4.1 替换
    • 五、Vim 多窗口与多文件操作 🧮
      • 5.1 多窗口操作
      • 5.2 多文件操作
    • 六、Vim 配置与插件 🛠️
      • 6.1 Vim 配置文件
      • 6.2 常用插件
    • 七、总结 📒


前言

🎯用不习惯 vim 或者 vi 的可以用 Xftp 以文本形式打开可视化操作 ,也可以 sz 指令将文件下载到本地编辑再用 rz 指令回传。总之条条大路通罗马,当然了,学会了 vim 指令操作文本会更爽。

vim 是一个高度可配置的 文本编辑器,广泛用于 Unix 和类 Unix 系统(如 LinuxmacOS )。它是一个 Vi 编辑器的增强版本,提供了更多的功能和更好的用户体验。vim 支持多种模式,包括 普通模式插入模式命令行模式,每种模式都有不同的用途和操作方式。

💯直接上图吧,玩转这张图都不用往下看了。。。
在这里插入图片描述


一、Vim 基本操作 🕹️

在这里插入图片描述

1.1 打开或创建

vim 路径/文件名

如果文件不存在,Vim 会新建一个文件。

1.2 退出编辑

  • 正常退出并保存::wqZZ
  • 仅退出(不保存)::q
  • 强制退出(不保存)::q!
  • 仅保存文件::w

1.3 模式切换

  1. 正常模式(Normal Mode):Vim 启动时默认的模式,可以执行各种命令,如移动光标、删除文本等。按 Esc 键进入。
  2. 插入模式(Insert Mode):可以输入文本。按 i 进入,按 Esc 返回正常模式。
  3. 可视模式(Visual Mode):用于选中文本块。按 v 进入,可视模式下可使用方向键选择文本。

常用模式切换命令:

  • i:进入插入模式,在当前光标位置前插入。
  • a:进入插入模式,在当前光标位置后插入。
  • o:在当前行下方打开新行并进入插入模式。
  • v:进入可视模式。
  • V:进入可视行模式(选中整行)。
  • Ctrl + v:进入可视块模式(列选择)。

二、Vim 光标移动命令 ↕️

2.1 基本移动

  • h:向左移动一个字符。
  • l:向右移动一个字符。
  • j:向下移动一行。
  • k:向上移动一行。

2.2 行内移动

  • 0:移动到行首。
  • ^:移动到本行第一个非空白字符。
  • $:移动到行尾。

2.3. 单词移动

  • w:移动到下一个单词的开头。
  • e:移动到当前或下一个单词的末尾。
  • b:移动到上一个单词的开头。

2.4. 页面移动

  • Ctrl + u:向上滚动半页。
  • Ctrl + d:向下滚动半页。
  • Ctrl + b:向上滚动一整页。
  • Ctrl + f:向下滚动一整页。
  • G:移动到文件末尾。
  • gg:移动到文件开头。

2.5. 行跳转

  • :n:跳转到第 n 行。
  • nG:跳转到第 n 行。

三、Vim 文本编辑命令 📋

3.1 插入和删除

  • i:进入插入模式。
  • a:在当前光标后插入文本。
  • o:在当前行下方新开一行并进入插入模式。
  • dd:删除当前行。
  • D:删除当前光标到行尾的所有内容。
  • x:删除当前光标所在的字符。
  • dw:删除当前光标到单词末尾的内容。
  • u:撤销上一步操作。
  • Ctrl + r:重做上一步撤销的操作。

3.2 复制、剪切与粘贴

  • yy:复制当前行。
  • yw:复制一个单词。
  • p:粘贴到光标后。
  • P:粘贴到光标前。
  • dd:剪切当前行。
  • daw:剪切一个单词。

3.3 替换与修改

  • r:替换当前字符。
  • R:进入替换模式,从光标开始的字符将被逐个替换,直到退出替换模式为止。
  • cw:修改当前单词(删除当前单词并进入插入模式)。
  • c$:修改从光标位置到行尾的内容。

四、Vim 查找与替换命令 🔎

4.1 查找

  • /pattern:向下查找 pattern(正则表达式)。
  • ?pattern:向上查找 pattern。
  • n:在查找模式下,查找下一个匹配项。
  • N:在查找模式下,查找上一个匹配项。
  • *:查找光标所在单词的下一个匹配项。
  • #:查找光标所在单词的上一个匹配项。

4.1 替换

  • :s/old/new:替换当前行的第一个匹配的 old 为 new。
  • :s/old/new/g:替换当前行的所有 old 为 new。
  • :%s/old/new/g:替换整个文件中的所有 old 为 new。
  • :%s/old/new/gc:替换整个文件中的所有 old 为 new,每次替换前提示确认。

五、Vim 多窗口与多文件操作 🧮

5.1 多窗口操作

  • :split 或 :sp:水平分割窗口。
  • :vsplit 或 :vsp:垂直分割窗口。
  • Ctrl + w, w:在分割窗口之间切换。
  • Ctrl + w, h/j/k/l:分别向左、下、上、右切换窗口。
  • :q:关闭当前窗口。

5.2 多文件操作

  • :e filename:打开指定文件。
  • :bnext 或 :bn:切换到下一个缓冲区(文件)。
  • :bprev 或 :bp:切换到上一个缓冲区(文件)。
  • :ls:列出所有缓冲区(打开的文件)。
  • :bN:切换到缓冲区 N。

六、Vim 配置与插件 🛠️

6.1 Vim 配置文件

~/.vimrc 文件:Vim 的配置文件,用户可以在其中添加个性化配置,如设置行号、语法高亮等。

set number       " 显示行号
syntax on        " 启用语法高亮
set tabstop=4    " 设置 tab 键为 4 个空格
set expandtab    " 用空格替代 tab
set shiftwidth=4 " 设置自动缩进为 4 个空格

6.2 常用插件

Vim 提供丰富的插件支持,以下是几款常用的插件:
Vundle:插件管理器,用于安装和管理 Vim 插件。
NERDTree:目录树插件,方便文件导航。
ctrlp.vim:模糊查找文件插件,快速打开文件。
vim-airline:状态栏增强插件,提供更多的状态栏信息。
YouCompleteMe:代码补全插件,支持多种编程语言。

七、总结 📒

还有很多用法就不列举了,很少用到,再说了,看多了眼都花了。

请添加图片描述

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

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

相关文章

如何借助5G网关实现油罐车安全在线监测

油罐车是常见的特种运输车辆,用以运送各种汽油、柴油、原油等油品,运输危险系数大,而且由于油罐车需要经常行驶在城区道路,为城市各个加油站点、企业工厂运输补充所需油料,因此也是危化品运输车辆的重点监测和管控对象…

联想至像M3070DW打印机连接手机方法

首先,按打印机上的“功能”键,上翻页翻到第4项“网络”按“OK”键进入; 点进去之后,再按下翻页翻到第3项“安装向导”,按“OK”键进入; 然后,选择我们要连接的WiFi并输入WiFi密码, 输…

双亲委派机制是Java类加载器的一种工作模式

双亲委派机制是Java类加载器的一种工作模式,确保了类加载的一致性和安全性。以下是对双亲委派机制的详细解析: 一、定义与工作原理 双亲委派机制(Parent Delegation Model)要求除了顶层的启动类加载器外,其余的类加载…

oracle client linux服务器安装教程

p13390677_112040_Linux-x86-64_4of7.zip 安装前,确认/etc/hosts文件已配置正确 cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.2…

云和恩墨 zCloud 与华为云 GaussDB 完成兼容性互认证

近日,云和恩墨(北京)信息技术有限公司(以下简称:云和恩墨)的多元数据库智能管理平台 zCloud 与华为云计算技术有限公司(以下简称:华为云)的 GaussDB 数据库完成了兼容性互…

《计算机视觉:瓶颈之辩与未来之路》

一、计算机视觉的崛起 计算机视觉是使用计算机模仿人类视觉系统的科学,让计算机拥有类似人类提取、处理、理解和分析图像以及图像序列的能力。它是一个多学科交叉的领域,与机器视觉、图像处理、人工智能、机器学习等领域密切相关。 计算机视觉行业可分为…

6.3.1 MR实战:计算总分与平均分

在本次实战中,我们的目标是利用Apache Hadoop的MapReduce框架来处理和分析学生成绩数据。具体来说,我们将计算一个包含五名学生五门科目成绩的数据集的总分和平均分。这个过程包括在云主机上准备数据,将成绩数据存储为文本文件,并…

计算机毕业设计Python+Django农产品推荐系统 农产品爬虫 农产品商城 农产品大数据 农产品数据分析可视化 PySpark Hadoop

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

如何高效获取Twitter数据:Apify平台上的推特数据采集解决方案

引言 在数据分析和市场研究领域,Twitter(现在的X)数据一直是重要的信息来源。但是,自从Twitter更改API定价策略后,获取数据的成本大幅提升。本文将介绍一个经济实惠的替代方案。 为什么需要Twitter数据? …

【论文笔记】Editing Models with Task Arithmetic

🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: Editing Models with Task…

下载红米Note 9 Pro5G对应的LineageOS代码下载及编译

构建 LineageOS 进入网站:Info about gauguin | LineageOS Wiki,点击:Build for yourself,里面有详细的教程,我这里就按照Note 9 Pro 5G来。 机器环境 Ubuntu环境为:20.04.6LinagesOS版本:21-…

Git-分布式版本控制工具

目录 1. 概述 1. 1集中式版本控制工具 1.2分布式版本控制工具 2.Git 2.1 git 工作流程 1. 概述 在开发活动中,我们经常会遇到以下几个场景:备份、代码回滚、协同开发、追溯问题代码编写人和编写时间(追责)等。备份的话是为了…

详解排序几大算法

一、插入排序 基本思想: 直接插入排序是一种简单的插入排序算法,其基本思想是:把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列。 步骤&#x…

Java 垃圾回收机制详解

1 垃圾回收的概念 垃圾回收(Garbage Collection,GC)是自动管理内存的一种机制,用于释放不再使用的对象所占用的内存空间,防止内存溢出。垃圾回收器通过识别和回收那些已经死亡或长时间未使用的对象,来优化…

车载终端_智能车载终端定制_农机/出租车/叉车/驾培车载终端MTK方案

车载终端集成了先进的技术和卓越的性能,采用了联发科的高效低功耗ARM处理器,具备八核架构,主频高达2.0GHz,基于12nm制程工艺,不仅性能强劲,而且功耗控制出色。基本配置为4GB内存与64GB存储,用户…

【JavaSE基础】第十七章:反射+设计模式

一、反射 1.反射(Reflection):允许在程序运行状态中,可以获取任意类中的属性和方法,并且可以操作任意对象内部的属性和方法,这种动态获取类的信息及动态操作对象的属性和方法对应的机制称为反射机制。 2.类对象 和 类的对象(实例…

Scratch教学作品 | 3D圆柱体俄罗斯方块——旋转视角的全新挑战! ✨

今天为大家推荐一款创意十足的Scratch益智游戏——《3D圆柱体俄罗斯方块》!由Ceratophrys制作,这款作品将经典俄罗斯方块与立体圆柱舞台相结合,为玩家带来了前所未有的空间挑战与乐趣。更棒的是,这款游戏的源码可以在小虎鲸Scratc…

三维空间刚体运动4-1:四元数表示变换(各形式相互转换加代码——下篇)

三维空间刚体运动4-1:四元数表示变换(各形式相互转换加代码——下篇) 4. 四元数到其它旋转表示的相互转换4.1 旋转向量4.2 旋转矩阵4.3 欧拉角4.3.1 转换关系4.3.2 转换中的万象锁问题 5. 四元数的其他性质5.1 旋转的复合5.2 双倍覆盖5.3 指数…

使用layui的table提示Could not parse as expression(踩坑记录)

踩坑记录 报错图如下 原因: 原来代码是下图这样 上下俩中括号都是连在一起的,可能导致解析问题 改成如下图这样 重新启动项目,运行正常!

大模型的构建与部署(2)——数据清洗

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl1. 数据清洗的必要性与影响 1.1 数据清洗对模型性能的影响 数据清洗是数据预处理的关键步骤,对于模型训练的性能和准确性有着直接的影响。原始数据中的缺失值、重复值、异常值以及数据格式不一致…