vim基于linux么

是的。vim是一种基于Linux环境下的编辑器;它是Linux中自带的外部软件,负责编辑代码。Vim是从vi发展出来的一个文本编辑器;代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

vim基于linux么

本教程操作环境:linux7.3系统、Dell G3电脑。

vim是什么

vim是一种基于Linux环境下的编辑器;vim是Linux中自带的外部软件,负责编辑代码。我们要想在Linux下编程需要四样东西来替代vs这个集成的开发环境,其中最为核心的载体就是这个vim的编辑器,没有它,我们甚至无法书写代码。

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具

在Linux下除过vim这个编辑器十分经典之外,还有一款编辑器也深受大家喜爱,就是emacs。这两款编辑器之所以受大家欢迎以至于后续几十年的编辑器都无法超越有几点最主要的原因。

  1、支持丰富的快捷键和编辑方式。

  2、支持非常强大的扩展能力。

  3、都有一门强大的编程语言作为支撑。

说到支撑他们的编程语言就不得不提emacs背后的编程语言lisp。之前我们说万物都出自C语言,其实并非如此,除过C语言外还有一个编程语言的祖师爷就是lisp。这是两款风格相差很大的编程语言,如果大家有兴趣可以去自行了解。这里不再赘述

虽说vim和emacs这两款编辑器各有各的千秋,都是编辑器中的祖师爷,但我选择emacs作为我的首选编辑器,也作为接下来讲解的重点(如果有同学对emacs感兴趣自然可以选择emacs作为自己的首选),并且最好的是在每一个Linux系统中都自带了vim编辑器,因此我们无需在自行安装了。

vim 使用

vim 基础介绍

由于我们的Linux已经自带了vim,所以我们可以直接使用。输入vim即可看到它的界面了。

1.png

会发现vim的界面十分的丑,毕竟是在控制台下,这也是无可奈何啊。那么如何退出界面呢?输入:q即可退出了。注意:前面要有个冒号才行!。 

2.png

关于vim使用呢其实vim官方有一篇教学文档,大家退出vim界面后输入vimtutor即可进入官方教学文档。(输入vimt+tab即可补全了,tab是补全键可以帮助我们快速输入指令,要常用)。

在官方教学文档里大家跟着教学步骤一步一步练习,多多练习即可掌握vim的所有常用操作,一定切记一点:千万不要硬背指令或者快捷键,在使用中记忆才为上策。

在vim下一共有普通,插入,命令,可视,替换五种模式,在我们用vim打开一篇文档,我们默认进入的就是普通模式,在普通模式下更为方便我们进行文档浏览,在这个模式下我们有丰富的快捷键供我们在页面间进行条件及光标移动。插入模式是当我们想要修改文档时才会进入的模式。命令模式里有一些命令方便我们对vim进行配置修改,页面跳转等等,用法丰富。可视模式下我们最常用的操作是选中文档片段进行删除,复制或剪切。替换模式则允许我们对文本内容进行替换。

vim 指令

vim的快捷键及指令很多,在此我们着重介绍常用的几条指令。同时为了方便快捷键操作vim分为了几个模式,而我们大多数快捷键都是在普通模式下使用的。

  1、在vim中我们除了上下左右方向键可以移动光标外,还提供了新的四个快捷键供我们进行光标移动。j:下k:上h:左l:右。在vim下尤为推荐大家使用这四个控制光标移动的方向键,因为使用起来更为方便,最主要这是你学习过vim的象征!

  2、普通模式进入其他模式的方式有很多种,最为普通的是按i进入插入模式,:进入命令模式,v进入可视模式,R进入替换模式。而其他模式回到普通模式下最为常用的方法永远是按esc。因此常按esc往往也会成为使用vim的程序员的习惯

  3、x进行单个字符的删除。

  4、在一个目录下输入指令vim 文件名打开一个已有的文件或创建一个新文件。输入:进入命令模式下输入w进行保存,q进行退出,wq保存并退出,q!不保存强制退出。

  5、w可将光标从目前位置移动到下一个单词的头部,e可将光标从目前位置移动到下一个单词的尾部,$则可以将光标移动到行末,b表示移动到上个单词头。

  6、d表示删除指令,一般和光标跳转指令连用。dw表示从光标目前位置删除到下一个单词头部位置(不包含头部),de表示从光标目前为止删除到下一个单词的尾部位置(包含尾部),d$表示从光标当前位置删除到行尾(删除整行)。

  7、同时我们可以使用数字加指令的方式对很多指令进行重复执行。例如2w == w+wd2w==dw + dw,等等,可自行尝试。

  8、普通模式下u表示撤销操作,U表示撤销对整行的操作。Ctrl r表示重做,及撤销撤销操作。

  9、dd将整行进行删除/剪切,p将剪切板里的内容往光标后进行粘贴,P将剪贴板里的内容往光标前进行粘贴。

  10、r将单个字符进行替换,R将进入替换模式接下来输入的内容都替换为输入内容,知道返回普通模式。

  11、c命令于d命令类似,依然于其他命令构成组合命令,例如cwce等,但不同是c命令使用完后会进入插入模式。

  12、输入:进入命令模式下,输入set nu可现实行号。

  13、ctrl g显示当前行数,并显示光标位置信息。

  14、shift g跳转至文本尾,gg跳转至文本头,'回到跳转前行数。

  15、/查找内容进入命令模式下,输入查找内容进行查找,并且n寻找下一个,N寻找上一个。

  16、光标在括号上按%进行括号匹配快速移动,自动跳转至匹配括号处。

  17、输入:进入命令模式之后输入s/查找内容/替换结果/gc进行一行的内容替换,%s/查找内容/替换结果/gc进行全文的内容替换,其中g表示搜索整个一行,c表示替换前询问%s表示全文替换。

  18、o在本行下创建新行并进入插入模式,O在本行上面创建新行并进入插入模式。

  19、v进入可视模式,光标移动选中语句后按y可进行复制。同时yy可复制一行。同样的使用pP进行粘贴。

  20、a进入插入模式表示在光标后插入,与i类似。同时使用IA在行首或行尾插入。

vim的基础指令介绍就到此为止了,vim的使用远不止这些快捷键及指令,想要更好的更熟练的使用vim还需要不断地练习,在实践中学习才是最高效的。

相关推荐:《Linux视频教程》

以上就是vim基于linux么的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/132422.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
苹果手机如何开启通知摘要功能
上一篇 2025年11月29日 00:20:53
绝区零2.1版本限时频段活动上期 活动介绍说明大全
下一篇 2025年11月29日 00:21:03

相关推荐

  • 悟空浏览器怎么做推文怎么做视频

    悟空浏览器本身不提供发布推文或制作视频的功能,它仅作为搜索素材和跳转平台的工具,用户需通过它获取热点信息后,自行在今日头条、抖音、小红书等平台创作并发布原创内容以赚取收益,真正实现盈利的核心在于持续的内容产出而非浏览器本身。 “悟空浏览器”本身是一款主打快速搜索、轻量浏览的手机浏览器,它并不直接提供…

    2026年9月1日
    100
  • win10电脑网卡驱动异常怎么办?

    windows 10用户群体十分庞大,它已经成为全球广泛使用的操作系统,然而,我们都知道微软在其新系统中难免存在一些不足之处。其中,windows 10无线网卡驱动问题尤为让人困扰,驱动程序的兼容性常常成为难题。那么,如何解决这种无线网卡驱动异常的情况呢?接下来,让我们一起来看看具体的操作步骤。 W…

    2026年9月1日
    000
  • 如何在指定的区域内删除一个部署集

    本文在介绍如何在指定的区域内删除一个部署集的基础上,重点探讨了其具体步骤,本文内容紧凑,希望大家可以有所收获。 DeleteDeploymentSet 请求参数 返回参数 全是公共返回参数。参阅公共返回参数。 示例 请求示例 https://ecs.aliyuncs.com/?Action=Dele…

    2026年9月1日
    000
  • 指纹浏览器服务商是什么 主流指纹浏览器厂商对比评测

    指纹浏览器服务商通过深度伪装浏览器指纹和ip地址,为用户提供多个独立、防关联的浏览环境,以满足多账号管理、广告验证等需求;其核心技术在于对user-agent、canvas、webgl、字体、时区等数百项参数的精细化模拟与随机化处理,远超常规浏览器的无痕模式;主流厂商差异体现在指纹伪装的深度、性能稳…

    2026年9月1日
    000
  • 怎么简单快速的查询一个或多个部署集的属性列表

    怎么简单快速的查询一个或多个部署集的属性列表怎么简单快速的查询一个或多个部署集的属性列表怎么简单快速的查询一个或多个部署集的属性列表怎么简单快速的查询一个或多个部署集的属性列表

    本文在介绍怎么简单快速的查询一个或多个部署集的属性列表的基础上,重点探讨了其具体步骤,本文内容紧凑,希望大家可以有所收获。 DescribeDeploymentSets 请求参数 返回参数 数据类型DeploymentSetType 示例 请求示例 https://ecs.aliyuncs.com/…

    2026年9月1日 用户投稿
    000
  • win10怎么新建一个本地管理员账户_win10创建本地管理员账户步骤

    1、可通过计算机管理、命令提示符或设置应用创建Windows 10本地管理员账户;2、计算机管理需新建用户并加入Administrators组;3、CMD使用net user和net localgroup命令快速创建并赋权;4、设置应用中添加其他用户后更改账户类型为管理员。 如果您需要在Window…

    2026年9月1日
    100
  • Win10 20H2怎么设置硬盘密码?

    Win10 20H2怎么设置硬盘密码?Win10 20H2怎么设置硬盘密码?Win10 20H2怎么设置硬盘密码?Win10 20H2怎么设置硬盘密码?

    最近有不少朋友升级到了win10 20h2版本,但对于新系统的操作还不太熟悉,尤其是不知道如何对电脑文件进行加密,也不清楚磁盘该如何加密。今天就为大家介绍一种在win10 20h2中设置磁盘密码的方法,快跟着步骤一起学习吧! Win10 20H2磁盘设置密码的详细步骤: 首先打开“此电脑”,然后右键…

    2026年9月1日 用户投稿
    000
  • 如何调用CreateKeyPair创建一对SSH密钥对

    本文在介绍如何调用createkeypair创建一对ssh密钥对的基础上,重点探讨了其具体步骤,本文内容紧凑,希望大家可以有所收获。 CreateKeyPair 创建一对SSH密钥对。我们会为您保管密钥的公钥部分,并返回未加密的 PEM 编码的 PKCS#8 格式私钥。您需要自行妥善保管私钥部分。更…

    2026年9月1日
    100
  • HDC 2025:首批鸿蒙办公商用解决方案伙伴亮相,加速千行百业鸿蒙化

    HDC 2025:首批鸿蒙办公商用解决方案伙伴亮相,加速千行百业鸿蒙化HDC 2025:首批鸿蒙办公商用解决方案伙伴亮相,加速千行百业鸿蒙化HDC 2025:首批鸿蒙办公商用解决方案伙伴亮相,加速千行百业鸿蒙化HDC 2025:首批鸿蒙办公商用解决方案伙伴亮相,加速千行百业鸿蒙化

    6月20日-22日,华为开发者大会2025(hdc2025)在东莞松山湖盛大开启。作为鸿蒙生态年度重要盛会,全球开发者齐聚一堂,与华为携手用代码构建智慧时代的蓝图,共同见证这场科技盛宴。 华为终端旗下商用品牌华为擎云,也携其最新发布的首款鸿蒙商用笔记本电脑——华为擎云HM940亮相本届大会,并通过一…

    2026年9月1日 用户投稿
    000
  • MySQL如何实现实时数据同步_跨机房数据同步方案?

    MySQL如何实现实时数据同步_跨机房数据同步方案?MySQL如何实现实时数据同步_跨机房数据同步方案?MySQL如何实现实时数据同步_跨机房数据同步方案?MySQL如何实现实时数据同步_跨机房数据同步方案?

    mysql实时数据同步在跨机房场景下的核心方案包括:1. 基于binlog的复制,通过slave节点读取master的binlog实现同步,优点稳定但受网络和负载影响;2. 基于gtid的复制,简化管理但需mysql 5.6+支持;3. mysql group replication,提供高可用但资…

    2026年9月1日 用户投稿
    000
  • 如何为一台或者多台 Linux 实例解绑 SSH 密钥对

    本篇文章给大家带来的内容是关于如何为一台或者多台 linux 实例解绑 ssh 密钥对,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 DetachKeyPair 为一台或者多台 Linux 实例解绑 SSH 密钥对。 描述 使用该接口时,请注意: 解绑 SSH 密钥对后,您需要重启…

    2026年9月1日
    000
  • 指纹浏览器到底是什么软件 多账号安全管理工具深度剖析

    指纹浏览器并非百分百安全,但它能通过模拟不同设备和浏览器环境、修改指纹信息、隔离cookie、分配独立ip等方式有效降低账号关联风险,广泛应用于跨境电商、社交媒体营销、广告投放、网络爬虫和游戏工作室等场景;选择时需综合考虑指纹真实度、ip质量、操作便捷性、团队协作功能、价格和技术支持等因素,并配合模…

    2026年9月1日
    100
  • 如何使用AppErrorManager优雅地处理API错误

    可以通过一下地址学习composer:学习地址 在开发一个 rest api 项目时,如何有效地捕获和处理 api 调用中的错误和异常一直是一个棘手的问题。最初,我尝试使用传统的方法在代码中逐个处理错误,但这不仅增加了代码的复杂度,还难以维护和扩展。幸运的是,我找到了一个名为 apperrorman…

    用户投稿 2026年9月1日
    000
  • 构建高效的API:使用Saturn/Taurus库的实践经验

    可以通过一下地址学习composer:学习地址 在开发一个新项目时,我面临着一个紧迫的任务:快速搭建一个轻量级的api平台。由于时间有限,我需要一个简单易用的框架。经过一番搜索,我发现了saturn/taurus这个库,并成功地将其应用于我的项目中,极大地提高了开发效率。 遇到的挑战 在项目初期,我…

    用户投稿 2026年9月1日
    100
  • 怎么快速简单的删除一对或者多对 SSH 密钥对

    本篇文章给大家带来的内容是关于怎么快速简单的删除一对或者多对 ssh 密钥对,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 DeleteKeyPairs 删除一对或者多对 SSH 密钥对。删除 SSH 密钥对后,我们不再为您保存该 SSH 密钥对,但是已经绑定的实例可以正常使用该 …

    2026年9月1日
    000
  • java学习应用篇|windows安装JDK及配置环境变量

    java学习应用篇|windows安装JDK及配置环境变量java学习应用篇|windows安装JDK及配置环境变量java学习应用篇|windows安装JDK及配置环境变量java学习应用篇|windows安装JDK及配置环境变量

    学习前言 实际上,本系统中最有价值的内容已经在前两篇文章中介绍完毕,接下来的内容主要是对前面知识的应用。新知识层出不穷,每隔几天就会有新的概念和框架出现。我们在本系列学习中,力求通过基本的学习方法来深入探究代码的本质,这样无论将来出现什么新的知识点,我们都能迅速学习并应用。小刀的水平有限,欢迎大家在…

    2026年9月1日 用户投稿
    100
  • 如何使用Composer增强Symfony项目的前端控制器安全性

    可以通过一下地址学习composer:学习地址 在 symfony 项目开发过程中,确保前端控制器的安全性是非常重要的,特别是在生产环境中。如果你正在使用 symfony2,并且需要在生产环境中保护你的开发前端控制器(如 app_dev.php),那么 michaelesmith/front-con…

    用户投稿 2026年9月1日
    100
  • 德邦快递客户编码绑定方法

    德邦快递客户编码绑定方法德邦快递客户编码绑定方法德邦快递客户编码绑定方法德邦快递客户编码绑定方法

    德邦快递客户编码绑定方法,详细操作步骤如下。 1、 打开德邦快递应用,点击右下角我的选项。 2、 进入我的页面,选择工具服务中的客户中心即可。 3、 登录客户中心,点击立即绑定。 4、 输入手机号,获取验证码并填写后,点击立即绑定即可完成。 以上就是德邦快递客户编码绑定方法的详细内容,更多请关注创想…

    2026年9月1日 用户投稿
    300
  • 打印机驱动安装失败怎么办?

    打印机驱动安装失败怎么办?打印机驱动安装失败怎么办?打印机驱动安装失败怎么办?打印机驱动安装失败怎么办?

    在日常生活中,我们难免会遇到各种各样的问题,但无论怎样,我们都应该认真对待并妥善解决这些问题。今天,小编就来给大家分享一下关于打印机安装失败的解决方法,以便大家在遇到类似情况时能够自行解决。 由于电脑系统的配置和设置存在差异,并且打印机种类繁多,这常常会导致打印机驱动安装失败的情况发生。因此,今天我…

    2026年9月1日 用户投稿
    400
  • 如何使用DescribeKeyPairs查询一个或多个密钥对

    本文在介绍如何使用describekeypairs查询一个或多个密钥对的基础上,重点探讨了其具体步骤,本文内容紧凑,希望大家可以有所收获。 DescribeKeyPairs 请求参数 返回参数 示例 请求示例 https://ecs.aliyuncs.com/?Action=DescribeKeyP…

    2026年9月1日
    000

发表回复

登录后才能评论
关注微信