vim的简单使用

写在前面

今天我们主要看看再Linux环境下如何编辑代码,里面的一些指令大家可能会有些不太懂,不过没有关系,先看着我写,后面会逐渐了解的.在学习之前,我想和大家说一句话,不要对Linux感到神秘,也不要觉得它很难,学习新知识是困难的,但是学习过之后,你会发现也就那样,没有什么值得感到无从下手的.

Linux软件安装

在Windows系统下,我们安装软件很容易,傻瓜式安装就可以了,最多修改一下安装路径,那么Linux是黑框框,这该如何下载和安装.

安装方式

Linux环境下存在三种安装环境,准确说是Centos 7下是有种方式

  • 源码安装
  • rpm 安装
  • yum安装

源码安装

源码安装是最复杂的安装方式,你需要下载源码,自己编译后面自己安装,这里很麻烦,一般不会遇到,可能到公司才可能碰到.

rpm 安装

这个可能是我们的新名词,但是我这里说另外一个说法,就是Windows环境下的一路next,这就理解了吧.但是这种安装方法还是存在一些问题,你需要了解一些相关的命令,而且还需要解决软件的依赖关系.

所谓的依赖关系就是你下载类一个软件,要是涉及到第三方库,你自己还要把这个库给下载出来,有人可能疑惑,在Windows环境下我们可是没有遇到过这种情况啊,这个由于官方已经帮你配好了,但是有时Linux不会,所以你亲自动手.

yum安装

三种方式种最简单的,几个命令就搞定了,而且还不要解决依赖关系.最多可能要更新一下yum源,这也是因为下载的服务器可能是国外的,有点慢,完美.这个yum源我已经配置好了,这里给大家推荐一篇文章就可以了,按照这个步骤来,很简单的.

我们需要类比一下手机环境下的安装流程.我们使用手机的,在手机里面是不是有一个软件商城,我们的yum就和它类似.

Centos 7 阿里yum源配置

yum install

这里我直接给大家演示一下,很简单的.有一个会动的小火车sl,我这里已经安装了,现在我先演示一下效果.

yum

是不是很有趣,我们也要自己下载一下,这里我提前卸载了,和大家一摸一样的演示.倒是挺简单的.

[bit@Qkj 07_24]$ sudo yum install sl.86_64  // 你的可能不能  sudo 直接 在root用户就可以了.

yum_3

yum remove

卸载软件,知道想要卸载名的软件就可以了,没有什么可以谈的.

yum_1

yum list

这个可以理解为把软件商城里面的所有软件给列出来,主要是为了查找我们想要的软件.

[bit@Qkj 07_24]$ sudo yum list | gerp sl  // 这个用了管道 和  grep命令

yum_2

vim

一般情况下,我们在widows环境下,编写代码都是有专门的软件,例如VS,IDEA…使用这些软件,我们不仅仅可以编写代码,还可以在这里运行,调试…它们存在很多功能,所以有一个共同的名字:集成开发工具,但是在Linux中就不一样的,我们很少使用这些东西,每个模块都有相对应的工具来帮助我们使用.

什么是vim

不知道大家在Windows下使用过文本编辑器(记事本)过没有,就是那个可以写.txt文件,又可以修改文件后缀的小工具,vim的本质就是它.

也就是说vim就是我们编写代码的地方,它只负责这个功能.我们在vim中编写代码,后面的编译运行等等的事交给其他的工具来干.

如何下载vim

在Linux中也有一个和vim功能一样的编辑器,叫做vi,但是我们一般很少使用.vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面 .

但是vim又不是Linux自带的,我们该如何下载呢?在Linux中下载软件有点麻烦,大家就按照我下面写的指令就可以了.

按照这一条指令就可以了,后面输入一下超级用户(不是root)的密码,按下回车就可以自动下载安装了,很简单.

sudo yum -y install "vim"

image-20220507220918533

这里的配置我先不说,在篇博客的后面会专门谈一谈,不过说的比较浅.我们先可以看看这篇如何配置.

这里强烈建议 👉一键部署vim配置


为何学习vim的使用

大家为何不用一些电脑上自带的软件,而去选择那些心仪的,这就体现出一个优胜略汰,好的工具我们会第一选择使用,我们也喜欢用它,就是因为它好用,vim也是如此.在vim中,我们可以做很多事情,初步接触的时候大家可能感觉有些困难,但是一旦我们上手了,就会知道它的优点了.

大家可能觉得vim不就是一个编辑器吗,他还需要我们学习?不就是把我们的代码写到文件中吗?这不就是有手就行.是的,有手就行,但是vim要仅仅是这些最基本的功能,大家也不会在今天学习它了.学习vim在于我们如何快速的编写代码,修改代码.这也是我们今天学习的主要内容.

vim的模式

我们先看看如何使用vim编辑文件,再说这个vim的模式.

在编译文件前,我们需要创建一个文本文件,但是vim会自动创建我们需要的文件.

vim main.cpp     // vim + 空格 + 文件名(带上后缀)

即使没有main.cpp这个文件,vim也会自动帮忙创建出来,下面的代码就是我们回车会出现的结果.画面中主要包括三个方面,我都标出来了.其中一个就是我们要谈的模式.

image-20220507224209305

vim中包含很多种模式,分别有不同的作用,这里我谈谈大家经常接触的,共有三种.

  • 底行模式(last line mode) : 文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作
  • 命令模式(Normal mode) : 控制屏幕光标的移动,字符、字或行的删除
  • 插入模式(Insert mode) : 就是我们普普通通编写代码,也就是敲字,该模式是我们后面用的最频繁的编辑模式

如何切换vim的模式

如何在vim中切换模式,对我们来说是很重要的,大家来看看吧.

这三种模式是可以相互切换的,我们只需要知道一些常用的切换方法就可以了,对于那些很偏僻的方法,我们不太提倡,大不了切换的时候绕些远路.

image-20220508142328714

命令模式 -> 插入模式

我们一进入vim,模式就是命令模式,先要进入插入模式有下面三种常见的方法.这三种方法又不同的作用,适合不同的场景.

  • 按键盘的 a 当文件中有文字时,按a 光标会自动后移一下
  • 按键盘的 i 当文件中有文字时,按 i 光标会不会动
  • 按键盘的 o 当文件中有文字时,按o 光标移动到下一行

vim模式切换

插入模式 -> 命令模式

按一下ESC按键就可以了.

vim使用

命令模式 -> 底行模式

按一下shift + : 就可以了

vim使用_1


命令模式

插入模式没有什么好说的,就是正常编辑代码就可以了,大家主要还是放在另外两种模式下.命令模式在大范围修改代码有很大的优点,可以随意跳到任意一行…这些功能都是我们需要的.

下面我将一一列出vim在命令模式的快捷方式.

光标的上下左右移动

在vim中,光标的上下移动有两种方式,一种是使用键盘上自带的上下左右移动的按键,另外一种是使用 h,j,k,l这四个英文,大写不行.这里我建议使用英文字母,因为有的vim不支持第一种方法.

我来详细说说这四个英文字母如何和上下左右相匹配

  • 上移 k 可以理解为 king 国王高高在上
  • 下移 j 可以理解为 jump 先下跳
  • 左移 h 四个按键最左边
  • 右移 l 四个按键最右边

vim使用_2

为何使用这四个字母

注意,老式的键盘是没有上下左右的方向键的,使用这四个字母代替它们,而且在vim中,我们的上下左右键是不支持批量化注释的,这一点是我们需要注意的.

移动一个单词的大小

或许大家觉得一个一个字符移动的速度太慢了,我们是不是有一个比较快的移动,这里有一个一次移动一个单词的长度的快捷键,说是一个单词不太准确,但是大概就是这种情况.

  • 先后移动一个单词 w
  • 先前移动一个单词 b

vim使用_3

跳至行尾行首

在Windows环境下一般都有单独的按键home键跳到行首,end键跳至行尾,但是在vim中有一点问题,我们不用这两个键.

  • 直接跳到行尾 : shift+4 也就是 $ 符
  • 直接跳到行首 : shift+6 也就是 ^ 符

vim使用_4

跳至末行和首行

当一个文件的代码变的很少多的时候,我们要是想要直接跳到到尾行,需要不断的滑动鼠标的滚轮,但是在vim中一个简单的快捷方式就可以了.

  • 最后一行 shift+g
  • 最上一行 gg

vim使用_5

并且在这里vim还提供跳到任意一行的方法,和上面差不多.

  • 第N行 N+ shift+g

vim使用_6

复制&粘贴

vim中也提供复制和粘贴的快捷方式,避免我们用鼠标一点点弄.

  • yy 复制光标所在的一行
  • p 默认粘贴到下一行

vim使用_7

有人可能会疑问道,我们复制多行的话不是还需要鼠标吗?上面的那个只能复制一行,但是下面的这个就可以复制多行了.

  • N yy 复制从光标可以数N行
  • N p 把复制的内容粘贴N次

vim使用_8

vim使用_9

撤销上一次的操作

要是我们感觉到上一次的操作用错了,我们可以撤销上一次的操作,和CTRL+ Z一样

  • u 撤销上一次的操作

vim使用_10

恢复撤销

如果我们发现自己撤销错了,这里有一个热键ctrl + r,可以恢复的撤销

剪切&删除

剪切包含复制和删除两种,只要我们不对剪切的内容进行粘贴,那不是删除了吗!

  • x 删除光标所在的一个字符,也支持nx
  • N shift+x 删除贯标所在之前的N个字符(光标所在的字符不删除)
  • dd剪切 剪切光标所在的一行 但是会保存 p可以粘贴出来
  • N dd 可以剪切从贯标开始数的N行

vim剪切

大小写转化

在Windows环境下,要是我们想要把一行代码从小写变成大写这是很难做到的,但是vim却可以很简单的做到.

  • shift+ ~ 大小写转换

光标会从左向右滑动,我们不想改变了,松开按键就可以了

vim使用_11

批量化换字符

如果我们有一个字母拼写错了,进入插入模式就有点浪费了,这里我们可以把光标放在要修的字母那,按下x ,就看可以输入你想要的字母了,注意是一个字母.

  • x 输入一个字母 修改光标所在的字母
  • nx 输入一个字母 修改光标及光标后共n个字母

连续替换

要是你还是感觉到不方便,你可以按下shift + r,我们就可以依次替换光标的字母了,我们替换一个,光标就往后走一步.

底行模式

一般情况下,命令模式那些东西够我们平常使用vim,这里我简单的谈一下底行模式的内容,不是太多.

我们需要先进入底行模式,先按esc键,然后shift + : ,这样就可以了.

打开多个窗口

在vim中也可以使用多个窗口来一起编译.

  • vs 文件名(带后缀)

vim使用_12

这样vim会自动打开这个这个文件,但是这里有一个问题,我们如何确定自己是在编写哪个文件呢?这个也很用辨别,记住光标是唯一的,光标在那里,编写的就是那个文件.这个有有一个问题,我们该如何将光标移动其他的文件中,vim也可以帮忙.

在命令模式下,下面的快捷方式就可以将光标移动的其他的窗口

  • CTRL + ww

保存文件&退出vim

我们写好了文件后,就可以保存和退出了.

  • : w (保存当前文件)
  • :wq (输入「wq」,存盘并退出vim)
  • : q! (输入q!,不存盘强制退出vim)

vim使用_14


vim配置

大家要是没有使用上面的vim的自动配置,看到我的vim页面会和你们的大不一样,我的vim是经过配置的,里面装了很多插件,大家会看到我的代码补全功能,这是刚下载的vim所没有的,甚至没有行号这个功能.我们可以自己配置自己的vim,这里建议一个用户配置独属于自己的vim配置.

自动配置

我建议是自动配置,别人是专门配置vim的,他们是专业的,这里我把上面的连接复制下来,我和它的配置是一样的.

这里强烈建议 👉一键部署vim配置

手动配置

要是大家想要手动配置vim的话,这里也给给大家一些方法,vim配置包含两个方面,我只谈谈基本配置就可以了,插件的安装很麻烦

  • 基本配置
  • 插件

我们需要下面几个步骤.

而在每个用户的家目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,通
常已经存在一个.vimrc文件,如果不存在,则创建之

  1. 在 用户目录下查看隐藏文件
  2. 要是有 .vmrc文件就直接vim .vmrc,没有的话创建一个再编辑
  3. 在.vmrc文件里面填写你要的功能

image-20220508162216968

这个我给出几个功能,大家也可以去网上找找关于这些的博客,把自己想要的功能复制粘贴到文件中就行了.

set number		       // 显示行号
syntax on			   // 语法高亮度显示
set autoindent		   // vim使用自动对起,也就是把当前行的对起格式应用到下一行
set smartindent		   // 依据上面的对起格式,智能的选择对起方式,对于类似C语言编
set tabstop=4		   // 设置tab键为4个空格
  • 22
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 17
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玄鸟轩墨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值