Linux Vim最全教程

Vim是一款在Linux系统中广泛使用的文本编辑器,其多模式的特性使得用户能够高效地进行文本编辑工作。以下是一个关于Vim的最全教程,涵盖了Vim的基本认识、安装、配置、使用技巧等方面。

一、Vim的基本认识

Vim是vi编辑器的升级版,它是一款多模式的文本编辑器,可以在Linux、Unix等系统上运行。Vim拥有命令模式、插入模式、底行模式、可视化模式等多种模式,每种模式都有其特定的功能和快捷键。

二、Vim的安装

  1. 在Debian/Ubuntu系统下,可以使用以下命令安装Vim:

sudo apt-get update 
sudo apt-get install vim
  1. 在基于RPM的Linux系统上,可以使用以下命令安装Vim:

su - 
yum install vim

三、Vim的配置

Vim的配置主要存储在用户主目录下的.vimrc文件中。通过修改这个文件,用户可以自定义Vim的各种设置,如缩进、语法高亮、快捷键等。以下是一些常用的配置选项:

 

vim

" 设置tab为4个空格set ts=4set softtabstop=4set shiftwidth=4set expandtabset autoindent" 显示行号set nu

四、Vim的使用技巧

  1. 三种模式
    • 命令模式:Vim打开文件后默认进入此模式,可以执行删除、复制、粘贴等快捷操作。
    • 插入模式:按iao等键可以进入此模式,用于输入文本。
    • 底行模式:在命令模式下按:可以进入此模式,用于保存文件、退出Vim等。
  2. 常用快捷键
    • 移动光标:hjkl分别对应左、下、上、右。
    • 跳转到行首或行尾:^(Shift+6)或$(Shift+4)。
    • 删除操作:dd删除整行,x删除当前字符。
    • 复制与粘贴:yy复制当前行,p粘贴。
    • 查找与替换:在底行模式下,使用/进行查找,:%s/old/new/g进行替换。
  3. 多文件操作
    • 使用:vs 文件名命令可以在Vim中同时打开多个文件,并使用ctrl+w+w进行切换。
    • 使用:wqall可以保存所有文件并退出Vim。
  4. 其他高级功能
    • Vim支持宏录制和播放,可以大幅提高重复操作的效率。
    • Vim拥有丰富的插件和扩展功能,可以根据用户需求进行定制。

五、总结

Vim是一款功能强大的文本编辑器,通过学习和掌握其基本使用技巧和配置方法,用户可以大大提高文本编辑的效率和舒适度。同时,Vim也支持多种扩展和插件,可以根据个人需求进行定制和优化。

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

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

相关文章

引领潮流!Xinstall创新技术让App免填邀请码成为可能,轻松吸引海量用户!

在快速变化的互联网环境下,App推广和运营面临着诸多挑战。如何迅速搭建起满足用户需求的运营体系,提高获客转化的效率和用户留存,成为了众多企业急待解决的问题。而邀请码作为App推广中常见的手段,其繁琐的填写过程常常让用户望而…

代码随想录算法训练营第六十四天 | 图论理论基础、深搜理论基础、广搜理论基础、98. 所有可达路径

图论理论基础 我写在了个人语雀笔记中 https://www.yuque.com/yuqueyonghu8mml9e/bmbl71/ex473q4y0ebs0l3r?singleDoc# 深搜理论基础 https://www.yuque.com/yuqueyonghu8mml9e/bmbl71/zamfikz08c2haptn?singleDoc# 98. 所有可达路径 题目链接:98. 所有可达…

【202406A]冰山计划

A. [202406A]冰山计划 文件操作 时间限制: 1000ms 空间限制: 524288KB 输入文件名: 202406A.in 输出文件名: 202406A.out Accepted 100 分 题目描述 一入夏,气温就飙到了40℃,鱼大大要被热成鱼干了,他现在急需降温,而且得是大…

Orangepi Zero2

1、Orangepi Zero2 Orangepi Zero2 是基于全志H616的一款产品 特性: CPU全志H616四核64位1.5GHz高性能Cortex-A53处理器 GPU MaliG31MP2 SupportsOpenGLES1.0/2.0/3.2、OpenCL2.0 运行内存1GB DDR3(与GPU共享) 存储TF卡插槽,测试128G可支持、2MB SPI Fl…

ImageNet-1k 测试集 两大坑

1、官方网站提交test set标签时,千万不能提交zip文件,即便明文说可以 https://image-net.org/challenges/LSVRC/eval_server.php 不然就会浪费一次提交机会,直接提交submission.txt就可以,注意每排5个预测结果,用于计…

Java安全

Java安全 Java2Sec靶场搭建 靶场地址 https://github.com/bewhale/JavaSec 查看数据库配置文件,mysql,用户名密码根据自己数据库密码更改 使用小皮面板的mysql,新建一个数据名为javasec的数据库 运行javasec.sql文件 下载运行jar包即可 …

图卷积网络(Graph Convolutional Network, GCN)

图卷积网络(Graph Convolutional Network, GCN)是一种用于处理图结构数据的深度学习模型。GCN编码器的核心思想是通过邻接节点的信息聚合来更新节点表示。 图的表示 一个图 G通常表示为 G(V,E),其中: V 是节点集合,…

2024 New Relic Java 生态系统报告

New Relic 发布了 2024 年度 Java 生态系统报告,数据来源于使用 New Relic 监控的线上 Java 应用。从这个报告中,我们可以看到 Java 发展的一些趋势。 在 Java 版本方面,新版本的使用率越来越高。Java 11 的使用率是 32.9%,Java 1…

Jenkins教程-5-gitee自动化测试任务构建

上一小节我们学习了Jenkins构建gitlab自动化测试任务的方法,本小节我们讲解一下gitee自动化测试任务的构建方法。 接下来我们以windows系统为例,讲解一下构建实际自动化测试任务的具体步骤。 安装git和gitee插件 点击进入Jenkins插件管理页面 安装完插…

【植物大战僵尸杂交版】致敬传奇游戏玩家——一个普通人的六年坚持

目录 缘起 波澜 凌云 缘起 曾​​​​​​佳伟是《植物大战僵尸》的忠实粉丝,这款游戏给了他很多乐趣,也成为了他度过困难时期的精神支柱。他决定制作杂交版,部分原因是出于对原版游戏的热爱和致敬。 六年前,出于对一些pvz续作…

C# —— 类

简介 类;就是具有相同属性和方法的对象集合,例如,人类 动物类型 ADC类等 Array数组类 ArrayList类 List类 字符串类等 类包含又什么东西组成 又什么可执行的操作(方法) 对象; 类的实例化.通俗讲就是类中的其中一个, 例如 哈士奇,鲁班等 a1 a2 a3就是ArrayList中的…

13.2 Go 接口的动态性

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

发布自己的c#包到nuget

1)创建自己的nuget账号 NuGet Gallery | Home 2)在Rider中-->项目文件夹右键-->properties 注意:必须勾选生成nuget包 3)编译后,将生成一个包 4)点击上传包 5)将之前的nuget包拖拽过来,点击上传即可,如果有不对的比如&a…

nvm安装和使用,windows

一、下载 Releases coreybutler/nvm-windows GitHub 选择 setup.exe 二、点击同意安装就好 三、常用 命令 说明 nvm list 查看已经安装的版本 nvm list installed 查看已经安装的版本 nvm list available 查看网络可以安装的版本 nvm arch 查看当前系统的位…

国际期货行情相关术语

1)合约:期货行情表提供了期货交易的相关信息 ,行情表中每一个期货合约都有合约代码(由期货合约交易代码和合约到期月份组成)来标识。 (2)开盘价:当日某一期货合约交易开始前五分钟集…

Mybatis(根据id查找这一行的数据)

首先在查询之前,我们先要做些基础的工作先创建一个以你的数据库命名的model类 我的数据库的名字叫admin 我就创建了一个Admin的类 用来方便数据的访问 然后我们就要创建一个接口来声明我们要写的方法 我创建的接口命名为AdminDao 在创建一个xml的类用来实现声明的…

failed to create network xxxx: Error response from daemon

问题描述: 启动项目时,docker内部网络冲突。 解决方案: 1.删除所有docker容器(强制删除一个或多个容器,即使它们正在运行) docker rm -f $(docker ps -aq) 2.验证docker容器是否删除成功 docker ps --…

RK3588 Android12音频驱动分析全网最全

最近没有搞音频相关的了,在搞BMS, 把之前的经验总结一下。 一、先看一下Android 12音频总架构 从这张图可以看到音频数据流一共经过了3个用户空间层的进程,然后才流到kernel驱动层。Android版本越高,通用性越高,耦合性越低&#…

Bug:SSH Failed Permission Denied(完美解决)

Bug:SSH Failed Permission Denied(完美解决) 今天我本机mac通过ssh访问linux服务器时报错:SSH Failed Permission Denied 思路: linux服务器sshd是否开启linux /etc/ssh/sshd_config配置是否正确(是否开启…