IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 01 vim的简单使用 -> 正文阅读

[开发工具]01 vim的简单使用

写在前面

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

vim

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

什么是vim

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

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

如何下载vim

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

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

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

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

移动一个单词的大小

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

  • 先后移动一个单词 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

剪切&删除

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

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

vim剪切

大小写转化

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

  • shift+ ~ 大小写转换

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

vim使用_11

底行模式

一般情况下,命令模式那些东西够我们平常使用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个空格
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-05-18 17:51:32  更:2022-05-18 17:51:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 14:52:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码