Linux编辑器-vim使用

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

前言:

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

vim****的基本概念

来源

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

vi/vim的区别:

它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容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

相关推荐
yuxb7311 分钟前
Linux 文本处理与 Shell 编程笔记:正则表达式、sed、awk 与变量脚本
linux·笔记·正则表达式
刘一说22 分钟前
CentOS 系统 Java 开发测试环境搭建手册
java·linux·运维·服务器·centos
wdxylb6 小时前
云原生俱乐部-shell知识点归纳(1)
linux·云原生
飞雪20077 小时前
Alibaba Cloud Linux 3 在 Apple M 芯片 Mac 的 VMware Fusion 上部署的完整密码重置教程(二)
linux·macos·阿里云·vmware·虚拟机·aliyun·alibaba cloud
路溪非溪7 小时前
关于Linux内核中头文件问题相关总结
linux
Lovyk10 小时前
Linux 正则表达式
linux·运维
Fireworkitte11 小时前
Ubuntu、CentOS、AlmaLinux 9.5的 rc.local实现 开机启动
linux·ubuntu·centos
sword devil90011 小时前
ubuntu常见问题汇总
linux·ubuntu
ac.char11 小时前
在CentOS系统中查询已删除但仍占用磁盘空间的文件
linux·运维·centos
雷工笔记12 小时前
【软件安装】VScode介绍安装步骤及中文界面设置方法
ide·vscode·编辑器