🪐🪐🪐欢迎来到程序员餐厅💫💫💫
          主厨:邪王真眼
主厨的主页:Chef‘s blog  
所属专栏:青果大战linux
总有光环在陨落,总有新星在闪烁

前言:

我们在进入了linux后学习了一堆指令、权限、相信很多小伙伴都有一种踏入新世界的感觉,但是,我们是程序员啊,程序员怎么能不敲代码呢,于是乎,今天我们就来学习一个Linux下的工具vim,它可以帮助我们继续敲代码。

vim的基本概念

  •        来源

        vim(vi improved)是一款在LInux下运行的、功能强大的编辑器,他的前身是上个世纪七十年代的Vi编辑器。

  • vi/vim的区别:

        它们都是多模式编辑器,不同的是vimvi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window mac os、 windows。我们课堂上,统一按照vim来进行讲解。

  • 下载方法:

sudo yum install -y vim

在下载之后我们就可以用它来编辑文件了,

指令格式:vim 文件名

  • 功能:

  1. 如果该文件已存在。则会跳转至文件中,进行编辑
  2. 如果文件不存在则会创建该文件并且进入该文件中进行编辑

Vim使用方法

之后我们就会进入以下界面(我的vim编辑器是配置了环境的,后面会教大家)

     这时候有同学肯定按耐不住开始敲Hello,world了,但是却发现无论自己怎么敲键盘都无法输入,这是因为vim有多种模式,准确来说是12种,我们今天只讲其中四种, 分别是命令模式(command mode )、插入模式(Insert mode )和底行模式( last line mode ),替换模式、
模式的切换与功能概述

1.命令模式切插入模式

      我们可以看到左下角有【NORMAL】这个单词,说明我们现在处于命令模式,我们按下i按键,就可以切换到插入模式
这个时候单词就变成了【INSERT】,说明我们成功切换到了插入模式
在这个模式下我们就可以敲代码了
>  #include <stdio.h>
     int main()
     {   
         printf("Hello,Vim");
         return 0;                                                                                                                                                                                                     
     }

2.插入模式切命令模式

我们敲击esc就可以退出当前模式,于是我们又回到了命令模式中

3.命令模式切底行模式

接着输入 shift+;我们就可以进入底行模式,记住要开英文键盘别开中文(血的教训
于是我们就成功进入了底行模式,显示单词 【COMMAND】
       最后输入wq即可保存退出,w表示保存,q表示退出。你也可以输入wq!,“!“表示强制执行命令对刚才编辑的文件使用cat指令发现确实编辑进去了

      以上就是vim的使用方法,切记我们三个模式之间的切换,不要直接插入模式转换为底行模式,对于新手来说先不要学各种快捷键,先把基础的用好才是王道


模式简介

命令模式

  1. 进入vim时的默认模式
  2. 无法进行文本编辑,我们的输入都会被解析而为对应的命令
  3. 控制屏幕光标的移动,字符、字或行的删除等等(文章后面细说)

插入模式(Insert mode)

  1. 在命令模式下输入i就可以进入插入模式
  2. 只有在插入模式下,才可以做文字输入,也就是敲代码,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。

底行模式(last line mode)

  1. 在命令模式下输入 shift+;就可以进入底行模式,输入esc就可以退出到命令模式
  2. 文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。

vim模式命令集

命令模式

  • 切换光标位置
关于切换光标要先说一下,或许有些朋友觉得自己用上下左右就完全okle、,不需要再去学这些指令,这是不对的,要知道以后你成为大能后面对的就是以千甚至万来计算行数的代码,那你还能一行一行切换吗,这是不现实的,我们也无法用鼠标。所以指令成了最后的武器
输入gg,光标直接定位到第一行首字母
输入shift+g,光标直接定位到最后一行首字母
输入n+shift+g,光标定位到第n行的首字母
输入$:把光标移动到当前行的结尾
输入^:把光标移动到当前行的开头
  • 复制粘贴
输入yy:把光标所在一行复制到缓冲区
输入p:把缓冲区的内容复制到当前行的下一行
输入n+p:把缓冲区的内容从当前光标所在行的下一行开始,复制n份
输入dd:剪切当前光标所在行
输入w:向右移动到下一个单词(我们之前的上下左右一次移动一个字符)
输入b:向左移动到上一个单词
输入h:向左移动一个字符
输入j:向下移动一个字符
输入k:向上移动一个字符
输入l:向右移动一个字符
这里小小科普一下,在键盘刚出来时是没有我们现在用的上下左右四个键的,这四个键是后来为了方便普通人使用才加上的,所以一开始以字符为单位移动的重任就交给了hjkl四位
  • 删除
x:删除当前光标所在字符

n+x:一当前光标所在位置为起点,向后删除n个字符

shift+x:删除当前光标所在位置的前一个位置的字符

n+shiift+x:以当前光标所在位置前一个位置为起点,向前删除n个字符
  • 替换
输入~:将当前光标对应字符大小写切换
输入r+某个字符:把当前光标对应字符替换为该字符
输入n+r+某个字符:以当前光标为起点向后把n个字符替换为该字符
输入shift+r:进入替换模式,你在光标下的输入会直接把该字符替换为你输入的字符
  • 撤销操作
输入u:撤销上一个操作,当没有上一个操作时,左下角会提示
ctrl+r:撤销上一个撤销操作

底行模式

输入 vs 文件名
可以打开两个文件,方便观看。在命令模式下输入ctrl+ww即可更换当前操作的文件,光标在哪个文件,就是可以处理那个文件,对于每个文件只需要用我们之前学的操作佬处理就好
    在某个文件的底行模式输入q即可退出该文件
输入set nu:在文件的每一行前列出行号
输入set nonu:取消每一行前的行号
  1 #include <stdio.h>
  2 int main()
  3 {   
  4 printf("Hello,Vim");;
  5     return 0;
  6 }   
/xxx  会自动帮你找该字符串,并高亮显示

但是当你不需要后,高亮要手动去处,底行输入 noh

简单vim配置

欲善其工,必先利其器,要敲出好的代码,一个良好的编辑器是必不可少的,但是原版的vim功能过于单调,会影响我们,于是我们就要自己搭建环境

找vimrc

在目录 /etc/ 下面,有个名为 vimrc 的文件,这是系统中公共的 vim 配置文件,对所有用户都有效。
而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为: “.vimrc” 。下面就是我的用户下的vimrc
如果没有那就touch一个出来,他就是我们的vim的配置文件
切换用户成为自己执行 su ,进入自己的主工作目录 , 执行 cd ~ 打开自己目录下的.vimrc 文件,执行 vim .vimrc

常用配置选项,

注意这里的注释是以“”为开头
syntax on                     " 设置语法高亮                                                                                                                                                                              
set nu                        " 设置行数显示
set tabstop=4                 " 设置tab缩进长度为4空格
set autoindent                " 设置自动缩进,适用所有类型文件
set cindent                   " 针对C语言的自动缩进功能,在C语言的编程环境中,比autoindent更加精准
set list lcs=tab:\|\          " 设置tab提示符号为 "|",注意最后一个反斜杠后面要留有空格
set cc=0                      " 设置高亮的列,这里设置为0,代表关闭
set cursorline                " 突出显示当前行

我们只需要vim进到.vimrc,再把这些指令中自己喜欢的复制到里面并且保存就好


但是,我觉得,这样太麻烦了,挑来挑去的,增大了学习成本,所以同学们只需要知道这个方法就行,我们直接上终极方案

快速将 vim 打造成 C++IDE 

(1)安装方法

在你的用户目录下,执行下面这条命令:(需要按照提示输入 root 密码. 您的 root 密码不会被上传, 请放心输入)

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

(2)卸载方法:

执行如下命令:

bash ~/.VimForCpp/uninstall.sh

我的vim就是用的这个方法,这是gitee上的一个开源项目,只能说感谢大佬的贡献,好人一生平安


今天我们学习了vim编辑器的三种模式功能以及对应的指令,最后配置了他的环境,下一次我们要学习编译器gcc
Logo

一起探索未来云端世界的核心,云原生技术专区带您领略创新、高效和可扩展的云计算解决方案,引领您在数字化时代的成功之路。

更多推荐