【lesson5】linux vim介绍及使用

news2024/12/23 13:13:46

文章目录

  • vim的基本介绍
  • vim的基本操作
  • vim常见的命令
    • 命令模式下的命令
      • yy+p
      • n+yy
      • n+p
      • u
      • ctrl+r
      • G
      • gg
      • n+G
      • $
      • ^
      • w
      • b
      • h,j,k,l
      • dd
      • n+dd
      • n+dd+p
      • ~
      • shift+r
      • r
      • n+r
      • x
      • n+x
    • 底行模式下的命令
      • set nu
      • set nonu
      • vs 源文件
      • w
      • q
      • !+command(命令)
  • vim配置
    • 解决无法使用sudo问题

vim的基本介绍

首先vim是linux下的一款编辑器软件,只能写代码,vim是一个多模式编辑器软件。它有三种模式:
1.命令模式
2.插入模式
3.底行模式

我介绍vim的时候,大家再测试的时候可能会发现自己的vim会与我有所不同,不用担心因为我的vim是配置过的,在最后一部分会给大家讲vim如何配置。

vim的基本操作

首先要编辑代码就要先创建文件,然后用vim打开。
在这里插入图片描述
这里进入以后,vim会默认在命令模式
在这里插入图片描述
模式的切换:
在这里插入图片描述
上图就是vim各个模式的切换方法,命令模式相当于中间模式,要想底行模式切换到插入模式就得先切换到命令模式,

底行模式下:
vim保存:w(保存所写的代码)w!(强制保存)
vim退出:q(退出vim编辑模式)q!(强制性退出)
w和q可以合并使用,但是一定要先保存再退出。
在这里插入图片描述
在这里插入图片描述

vim常见的命令

命令模式下的命令

yy+p

yy功能:复制绿色光标所在行
p功能:从光标的下一行开始,粘贴一次复制的内容,并移动光标到复制内容的第一行
起始:
在这里插入图片描述
然后yy和p

在这里插入图片描述

n+yy

功能:从光标所在行开始向下复制n行(n在输入的时候为具体的数字例如:5yy,之后的n也是如此将不会再详细说明)
起始:
在这里插入图片描述
然后2yy和p
在这里插入图片描述

n+p

功能:从光标的下一行开始,粘贴n次复制的内容,并移动光标到复制内容的第一行
起始:
在这里插入图片描述
然后2yy+5p
在这里插入图片描述

u

功能:撤销之前的操作
起始:
在这里插入图片描述
然后2yy+5p
在这里插入图片描述
然后u撤销
在这里插入图片描述

ctrl+r

功能:撤销u的操作
起始:
在这里插入图片描述
然后2yy+5p
在这里插入图片描述
然后u
在这里插入图片描述
然后Ctrl+r
在这里插入图片描述

G

功能:光标直接定位到文件结尾
起始:
在这里插入图片描述
然后G
在这里插入图片描述

gg

功能:光标直接定位到文件最开始
起始:
在这里插入图片描述
然后gg
在这里插入图片描述

n+G

功能:光标直接定位到第n行
起始:
在这里插入图片描述
然后10G
在这里插入图片描述

$

功能:光标直接定位到行的最结尾
起始
在这里插入图片描述
然后$
在这里插入图片描述

^

功能:光标直接定位到行的最开始
起始:
在这里插入图片描述
然后^
在这里插入图片描述

w

功能:光标按单词为单位,向后移动
起始:
在这里插入图片描述
然后w
在这里插入图片描述

b

功能:以单词为单位向前移动
起始:
在这里插入图片描述
然后b
在这里插入图片描述

h,j,k,l

h:光标向左移动
j:光标向下移动
k:光标向上移动
l:光标右移动(小写L)

dd

功能:删除光标所在行
起始:
在这里插入图片描述
然后dd
在这里插入图片描述

n+dd

功能:从光标所在行开始删除n行
起始:
在这里插入图片描述
然后9dd
在这里插入图片描述

n+dd+p

功能:剪切
起始:
在这里插入图片描述
9dd+p(在return后面p)
在这里插入图片描述

~

功能:光标所在处进行大小写切换
起始:
在这里插入图片描述
然后~
在这里插入图片描述

shift+r

功能:进入替换模式,从光标所在位置开始替换
起始:
在这里插入图片描述
然后shift+r进入替换模式
在这里插入图片描述
在这里插入图片描述
按ESC退出替换模式
在这里插入图片描述

r

功能:替换光标所在位置的一个字符
起始:

然后r+c
在这里插入图片描述

n+r

功能:从光标所在处开始替换n个字符
起始:
在这里插入图片描述
然后5r+c
在这里插入图片描述

x

功能:删除光标处的一个字符
起始:
在这里插入图片描述
然后x
在这里插入图片描述

n+x

功能:从光标处开始向后删除n个字符
起始:
在这里插入图片描述
然后5x
在这里插入图片描述

底行模式下的命令

set nu

功能:调出行号
起始:
在这里插入图片描述

然后set nu
在这里插入图片描述

set nonu

功能:取消行号
起始:
在这里插入图片描述
然后set nonu
在这里插入图片描述

vs 源文件

功能:分屏打开其它文件,如果源文件不存在则自己创建一个
起始:
在这里插入图片描述
然后vs myfile.c
在这里插入图片描述
我们可以看到光标在myfile.c文件,那么如何切换到test.c文件呢?
键盘按:Ctrl+w+w即可切换
在这里插入图片描述
我们还可以从test.c复制或者剪切内容到myfile.c
在这里插入图片描述

w

功能:保存vim所编辑的内容

q

功能:退出vim

!+command(命令)

功能:在不退出vim的情况下指向命令
起始:
在这里插入图片描述
然!+command(命令)
在这里插入图片描述
在这里插入图片描述
退出去看我们确实多了个a.out的文件
在这里插入图片描述
运行
在这里插入图片描述
我们确实成功了

vim配置

在这里插入图片描述
如果vim配置过,在工作目录下会有.vimrc文件如果没有,则自己创建一个然后自己在文件里面配置vim,在文件里面不知道怎么配置的,可以在网上搜索一般都搜索的到。
给大家演示一下:
在这里插入图片描述
我们发现工作目录下没有./vimrc,所以自己创建一个。
在这里插入图片描述
然后打开.vimrc就可以开始配置了
比如:
加上行号
在这里插入图片描述
保存退出,并创建一个源文件,然后打开
在这里插入图片描述
在这里插入图片描述
我们会发现自动有了行号,所以vim就是这么配置的。

解决无法使用sudo问题

在这之前我们大部分初学者应该的不能使用sudo,这是因为没有添加信任关系,那么如何添加呢?
首先先切换成root用户然后用vim 打开/etc/sudoers
在这里插入图片描述
然后:调出行号
在这里插入图片描述
大概在100多行有个
在这里插入图片描述
我们只要在复制107行,然后粘贴在107行下面,然后把%wheel换成用户名即可,最后wq!强制退出。到这就已经可以使用了。

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

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

相关文章

企业服务器数据库被360后缀勒索病毒攻击后采取的措施

近期,360后缀勒索病毒的攻击事件频发,造成很多企业的服务器数据库遭受严重损失。360后缀勒索病毒是Beijingcrypt勒索家族中的一种病毒,该病毒的加密形式较为复杂,目前网络上没有解密工具,只有通过专业的技术人员对其进…

vlan 绑定端口号

<s2>system-view Enter system view, return user view with CtrlZ. # 创建 vlan 10 和 20 [s2]vlan 10 [s2-vlan10]vlan 20# display vlan# 删除 vlan 10 # [s2-vlan20]quit # [s2]undo vlan 10# 设置 interface 为 access port [s2]interface Eth0/0/1 [s2-Ethernet0/…

【雕爷学编程】MicroPython动手做(02)——尝试搭建K210开发板的IDE环境3

4、下载MaixPy IDE&#xff0c;MaixPy 使用Micropython 脚本语法&#xff0c;所以不像 C语言 一样需要编译&#xff0c;要使用MaixPy IDE , 开发板固件必须是V0.3.1 版本以上&#xff08;这里使用V0.5.0&#xff09;, 否则MaixPy IDE上会连接不上&#xff0c; 使用前尽量检查固…

diffusion model(五)stable diffusion底层原理(latent diffusion model, LDM)

LDM: 在隐空间用diffusion model合成高质量的图片&#xff01; [论文地址] High-Resolution Image Synthesis with Latent Diffusion Models [github] https://github.com/compvis/latent-diffusion 文章目录 LDM: 在隐空间用diffusion model合成高质量的图片&#xff01;系列…

3D工厂模拟仿真 FACTORY I/O 2.55 Crack

FACTORY I/O 提供超过20个典型的工业应用场景让您如身临其境般地练习控制任务。选择一种场景直接使用或以其作为一个新项目的开端。学生可以利用内嵌的可编辑的典型工业系统模板&#xff0c;也可以自由搭建并编辑工业系统。同时该系统具有全方位3D视觉漫游&#xff0c;可随意放…

存储重启后,ceph挂载信息没了,手动定位osd序号并挂载到对应磁盘操作流程、ceph查看不到osd信息处理方法

文章目录 故障说明处理流程定位硬盘中的osd序号挂载osd到ceph上验证并拉起osd重复上面操作故障说明 我们的一个存储节点莫名其妙的重启了,不知道咋回事 但这样的问题就是,所有osd都down了 因为挂载信息没有写到fstab里面,所以不会自动up,并且没有挂载信息,并且也看不到o…

如何用Java代码写出二维码!!!

什么你说你不会&#xff1a; 1.首先加入二维码需要的架包。&#xff08;认真看了&#xff0c;我只教一遍&#xff09;安装包已经放上来了&#xff0c;需要的直接下载。 2.将架包接入项目。 3.编写代码。 //支持中文格式Map<EncodeHintType,String> hintsnew HashMap<&…

适配器模式——不兼容结构的协调

1、简介 有的笔记本电脑的工作电压是20V&#xff0c;而我国的家庭用电是220V&#xff0c;如何让20V的笔记本电脑能够在220V的电压下工作&#xff1f;答案是引入一个电源适配器&#xff08;AC Adapter&#xff09;&#xff0c;俗称充电器&#xff0f;变压器。有了这个电源适配器…

【JAVA】你可知JAVA中的运算符|重温运算符

作者主页&#xff1a;paper jie的博客 本文作者&#xff1a;大家好&#xff0c;我是paper jie&#xff0c;感谢你阅读本文&#xff0c;欢迎一建三连哦。 本文录入于《JAVASE语法系列》专栏&#xff0c;本专栏是针对于大学生&#xff0c;编程小白精心打造的。笔者用重金(时间和精…

MySQL之深入InnoDB存储引擎——Checkpoint机制

文章目录 一、引入二、LSN三、触发时机 一、引入 由于页的操作首先都是在缓冲池中完成的&#xff0c;那么如果一条DML语句改变了页中的记录&#xff0c;那么此时页就是脏的&#xff0c;即缓冲池中页的版本要比磁盘的新。那么数据库需要将新版本的页刷新到磁盘。倘若每次一个页…

地图应用构建平台:助力小程序开发者快速构建地图应用

地图应用构建平台&#xff08;也称Wemap Builder&#xff09;是地图低代码开发平台&#xff0c;在微信开发者工具中提供了丰富的小程序模板&#xff0c;开发者能够选择模板快速创建地图应用&#xff0c;同时在微信开发者工具中可直接使用低代码编辑器&#xff0c;更高效的开发小…

力扣算法数学类—剑指 Offer 16. 数值的整数次方

目录 剑指 Offer 16. 数值的整数次方 题解&#xff1a; 知识点&#xff1a; 代码&#xff1a; 结果&#xff1a; 实现 pow(x, n) &#xff0c;即计算 x 的 n 次幂函数&#xff08;即&#xff0c;xn&#xff09;。不得使用库函数&#xff0c;同时不需要考虑大数问题。 示例…

向量数据库这杯“啤酒”与“泡沫”

就像啤酒注定要有泡沫&#xff0c;每一场淘金热都不缺被捧上了时代风口的人。 大模型这一波热潮中&#xff0c;向量数据库就是那个幸运儿。 一方面&#xff0c;技术层面并没有太大突破。向量数据库并不是一种特别新的数据库技术&#xff0c;在AI领域已经应用了七八年&#xff0…

英特尔14代酷睿参数曝光:13代酷睿用户看完放心了 升级幅度有限

今年6月份英特尔进行了品牌升级&#xff0c;宣布新命名规则&#xff0c;预热了酷睿Ultra品牌和第14代酷睿处理器产品线。 代号为Meteor Lake的酷睿Ultra系列虽然备受关注&#xff0c;但令人遗憾的是&#xff0c;它只面向低功耗移动端&#xff0c;预计将包括45W的H系列&#xff…

NLP From Scratch: 使用char-RNN对姓氏进行分类

NLP From Scratch: 使用char-RNN对姓氏进行分类 本篇我们将构建并训练基本的字符级 RNN 来对单词进行分类。 本教程&#xff0c;以及后续两个教程&#xff0c;展示了如何“从头开始”针对 NLP 建模过程中所需的数据进行预处理&#xff0c;抛开torchtext的许多便利功能进行编码…

C语言基础教程(fgets和fputs)

文章目录 前言一、fputs函数二、fgets函数三、fputc和fgetc函数总结 前言 本篇文章我们来讲解一下fgets和fputs函数&#xff0c;这两个函数通常用来作为输入和输出功能使用。 一、fputs函数 fputs函数是C语言标准库中的一个输出函数&#xff0c;用于将字符串写入到指定的文件…

mysql主从同步怎么跳过错误

今天介绍两种mysql主从同步跳过错误的方法&#xff1a; 一、两种方法介绍 1、跳过指定数量的事务&#xff1a; mysql>slave stop; mysql>SET GLOBAL SQL_SLAVE_SKIP_COUNTER 1 #跳过一个事务 mysql>slave start2、修改mysql的配置文件&#xff0c;通过slav…

The Sandbox 重新上线,带来全新体验!

在经历了一个充满史诗般新回忆的全力开局后&#xff0c;我们短暂休息了片刻&#xff0c;为玩家准备了全新的、惊心动魄的游戏活动。 我们已经完成了功能的微调&#xff0c;准备将您的游戏体验提升到一个全新高度&#xff01; 想知道我们正在做什么吗&#xff1f;现在还无法公开…

iTOP-STM32MP157开发板Linux Misc驱动-编译驱动程序

这里我们以 stm32mp157 开发板为例&#xff0c;将杂项设备驱动编译成模块&#xff0c;请参考本手册第三十七章 Linux 内核模块。我们将 misc.c 文件拷贝到 Ubuntu 的/home/nfs/03 目录下。将上次编译 helloworld 的 Makefile 文 件拷贝到 misc.c 同级目录下&#xff0c;修改 …

指针学习(特殊指针)

1.char型指针 char型指针实质上跟别的类型的指针并无本质区别&#xff0c;但是C语言中的字符串以字符数组的方式存储&#xff0c;而数组在大多数场合又会表现为指针&#xff0c;因此字符串在绝大多数场合就表现为char型指针。 例如&#xff1a; char *p "abcd"; …