【Linux】Linux开发工具vim

news/2024/7/21 13:16:53 标签: vim, linux, 编辑器

Linux开发工具vim

  • 什么是vim
  • 三种模式的转换
  • vim的基本命令
    • gg:定位光标到最开始的行
    • Shift+g:定位光标到结尾行
    • n+Shift+g:定位光标到任意行
    • Shift+$:定位光标到当前行结尾
    • Shift+^:定位光标到当前行开始
    • w,b:光标按照单词进行行内跨行进行移动
    • h,j,k,l:进行光标的左、下、上、右的操作
    • Shift+~:大小写的转换
    • yy:复制光标所在行(n行)
    • p:粘贴(n重复行)到光标的下一行
    • dd:剪切、删除
    • u:撤销
    • ctrl+r:撤销之前的撤销操作
    • r:对光标字符+之后的所有字符进行批量化替换
    • Shift+r:进入替换模式
    • x:对光标字符之后的字符进行删除
    • vs多个文件进行编写
  • vim的配置
  • 为什么 vim 比其他文本编辑器更受程序员欢迎?
  • 🍀小结🍀

🎉博客主页:小智_x0___0x_

🎉欢迎关注:👍点赞🙌收藏✍️留言

🎉系列专栏:Linux入门到精通

🎉代码仓库:小智的代码仓库

vim_10">什么是vim

vim是一款多模式的编辑器vim的模式有很多,我们只需要掌握三种常用的模式就可以了,分别是命令模式、插入模式、底行模式,没有经过配置的vim是跟普通记事本没有区别的,没有语法提示不是很好用,这里我们先开始用一个没有配置的vim为大家讲解,随后给大家讲解如何配置vim

三种模式的转换

这里先使用vim创建并打开一个test.c文件>
在这里插入图片描述
回车之后就可以进入vim编辑器了>

在这里插入图片描述
进来之后就是命令模式(用户所有的输入都会被当作命令,一般不会进行文本输入)。
输入i就能进入插入模式>
在这里插入图片描述
这里就可以写入我们的程序了。当我们处于插入模式的时候最底下会有一个INSERT标志
在这里插入图片描述
进入插入模式之后我们就可以按Esc键退出插入模式进入命令模式。这时候我们想要保存退出就需要进入底行模式。
按住Shift键+;键输入一个 此时下面就会出现一个 我们在这里输入wq回车
在这里插入图片描述
就可以保存并退出了。
我们可以查看一下是否写入成功
在这里插入图片描述
可以看到我们可以使用vim来写程序了。
在这里插入图片描述

vim_33">vim的基本命令

gg:定位光标到最开始的行

我们使用vim编辑test.c文件>
在这里插入图片描述
可以看到此时光标在最后一行,此时我们就可以按两下g就可以将光标挪到第一行。
在这里插入图片描述

Shift+g:定位光标到结尾行

此时我们的光标处于第一行我们可以按Shift+g键就可以将光标定位到结尾行>
在这里插入图片描述

n+Shift+g:定位光标到任意行

假如我们想要将光标定位在第四行,我们就可以按4+Shift+g>
在这里插入图片描述
此时光标就来到了第四行。

Shift+$:定位光标到当前行结尾

在这里插入图片描述

Shift+^:定位光标到当前行开始

在这里插入图片描述

w,b:光标按照单词进行行内跨行进行移动


w向后跳、b向前跳

h,j,k,l:进行光标的左、下、上、右的操作


h、j、k、l的记忆方法:
h:在最左边所以表示左
l:在最右边所以表示右
j:可以理解位jump,向下跳,所以j是向下
k:可以理解位king(上)

Shift+~:大小写的转换


当然大写转小写也是可以的。

yy:复制光标所在行(n行)

配合粘贴一起演示

p:粘贴(n重复行)到光标的下一行


也可以使用n+p进行多行粘贴>
这里我们演示yy复制之后使用10+p进行粘贴10行>

也可以使用n+yy进行多行复制>

dd:剪切、删除

dd也可以配合n来进行使用。
我们使用2+dd进行剪切删除,在使用p进行粘贴>

u:撤销

这个功能就是我们windows上面的ctrl+z键

ctrl+r:撤销之前的撤销操作

r:对光标字符+之后的所有字符进行批量化替换


也可以使用n+r进行批量化替换。

Shift+r:进入替换模式

我们使用Shift+r把一行全部替换掉>

x:对光标字符之后的字符进行删除


也可以通过n配合x一块使用。

vs多个文件进行编写

我们想要进行多文件编写的时候可以切换位底行模式:输入vs+文件名>
在这里插入图片描述
回车之后j,就可以进入多文件编辑>
在这里插入图片描述
可以使用Ctrl+ww(w按两下)进行光标窗口切换。

vim_95">vim的配置

网上的配置方案有很多很多,这里给大家分享一个vim的配置:
在需要配置vim的用户命令行中输入这行指令:

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

在这里插入图片描述
这里需要输入我们的root密码。
输入完密码之后我们就可以等待安装了。
这里安装时间跟你的网速有关系。
在这里插入图片描述
出现这个页面就证明我们的vim配置好了。此时我们需要再输入这行命令:

source ~/.bashrc

回车之后再来打开vim我们就可以看到我们的vim跟之前不一样了>
在这里插入图片描述
此时也有了代码提示。
但是这个配置中的缩进默认是2,我们可以修改默认缩进输入以下指令>

vim /home/(要修改的用户名)/.vimrc

在这里插入图片描述
将这三行的默认数改成4,再保存退出。
此时我们的自动缩进就变成4了。

vim__123">为什么 vim 比其他文本编辑器更受程序员欢迎?

有几个原因让 Vim 在程序员中更受欢迎:

  1. 高度定制化:Vim 可以通过配置文件进行高度定制化,让用户根据个人偏好进行设置,以及使用各种插件和脚本来增加编辑时的各种功能。

  2. 命令式编辑:Vim 并不是一个所见即所得(WYSIWYG)的编辑器,而是通过命令来操作文本。这种编辑方式可以提高效率,因为用户可以不用切换鼠标,而是通过快捷键来完成编辑任务。

  3. 高效率:由于 Vim 是一个命令式编辑器,它可以让程序员更快地完成一系列编辑任务,如搜索和替换等。此外,由于 Vim 可以在多个文本文件之间进行快速切换,所以它也可以更快地处理大量的文本文件。

  4. 可移植性:Vim 可以在各种操作系统上运行,并且可以在终端中运行,因此它可以很容易地被程序员用在不同的环境中,而不用担心环境变化会对编辑器造成影响。
    总的来说, Vim 是一个高度定制化和高效率的编辑器,它可以让程序员更快地完成编辑任务,并且可以适应不同的环境。这使得它成为了程序员们所钟爱的编辑器之一。

🍀小结🍀

今天我们学习了new和delete的用法vim的使用方法及其vim的配置相信大家看完有一定的收获。
种一棵树的最好时间是十年前,其次是现在! 把握好当下,合理利用时间努力奋斗,相信大家一定会实现自己的目标!加油!创作不易,辛苦各位小伙伴们动动小手,三连一波💕💕~~~,本文中也有不足之处,欢迎各位随时私信点评指正!


http://www.niftyadmin.cn/n/356268.html

相关文章

Hystrix原理

一.概述 在软件架构领域,容错特指容忍并防范局部错误,不让这种局部错误不断扩大。我们在识别风险领域,风险可以分为已知风险和未知风险,容错直接应对的就是已知风险,这就要求针对的场景是:系统之间调用延时…

终身学习(LifeLong Learning)/ 增量学习(Incremental Learning)、在线学习(Online Learning)

1、在线学习 实时获得一个新样本就进行一次模型更新。显然,在线学习时增量学习的特例,而增量学习可视为“批模式”的在线/离线学习。 online主要相对于offline或者说batch,强调的是每次只进入一个或者很少的几个样本,多见于推荐…

EV 电动汽车远程监控系统

EV 电动汽车远程监控系统 远程监控系统简介 目录 EV 电动汽车远程监控系统 1、远程监控系统是什么? 2、远程监控系统包含什么? 2.1车载终端 2.2、数据服务器 ​​​​​​​ 2.3、监控页面 3、远程监控系统有什么用? 4、车载终端…

FreeRTOS-任务通知详解

✅作者简介:嵌入式入坑者,与大家一起加油,希望文章能够帮助各位!!!! 📃个人主页:rivencode的个人主页 🔥系列专栏:玩转FreeRTOS 💬保持…

mysql全量备份和增量备份方法

文章目录 一、mysql全量备份1、修改 /etc/my.cnf文件添加如下内容2、测试任务脚本3、添加执行脚本4、天假定时任务 二、mysql增量备份1、修改 /etc/my.cnf文件添加如下内容2、重启mysql3、 添加执行脚本4、执行恢复4、测试是否生效 一、mysql全量备份 使用mysqldump 进行全量备…

Kubernetes(k8s)集群安装部署

一. 环境说明 名称IP系统配置主控节点192.168.136.11Rocky9.22核4G工作节点1192.168.136.12Rocky9.22核4G工作节点2192.168.136.13Rocky9.22核4G 二. 系统先决条件配置(所有节点) 2.1 关闭防火墙 防火墙可能会导致重复的防火墙规则和破坏kube-proxy,…

day4--链表内指定区间反转

迭代方法 1. 第m个节点的前一个节点pre和第n个节点; 2. 将第m个节点到第n个节点的链表部分反转; 3. 将pre节点的next指向反转后链表的头节点,将反转后链表的尾节点的next指向n1节点。 /*** struct ListNode {* int val;* struct ListNode…

Mahout详细使用文档和案例

目录 Mahout介绍安装Mahout以下是使用Maven构建Mahout的步骤: 使用Mahout聚类分类推荐 Mahout介绍 Mahout是一个基于Hadoop的机器学习库,它提供了许多常见机器学习算法的实现,包括聚类、分类、推荐等。以下是Mahout的详细使用文档&#xff0…