vim指令

> 作者简介:დ旧言~,目前大二,现在学习Java,c,c++,Python等

> 座右铭:松树千年终是朽,槿花一日自为荣。

> 目标:熟练掌握vim,并且能用vim敲出简单的代码。

> 毒鸡汤:一万个美丽的未来,抵不上一个温暖的现在,每一个真实的现在,都是我们曾经幻想的未来,愿你爱上现在,梦见未来。

> 望小伙伴们点赞👍收藏✨加关注哟💕💕

🌟前言

前面捏,我们能使用Linux命令,简单的写一个程序,输出了hello Linux,只能说浅谈,本期我们在前面基础的延续,来正式续写Linux代码,Linux路正式启程,大家准备好编译器和小本本,OK,走起!!!

**⭐**主体

咱们从七大板块学习,vim编辑器,vim四种模式的关系,vim编辑器的使用,编辑模式,vim编辑器实用功能,简单vim配置。



🌙vim编辑器

vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows。

在我们的编辑器中(Xshell)中默认已经帮我安装好vim

💫vim编译器的安装

在有些编译器中是没有安装vim的,像这种编译器是比较古老的,不要也罢,我建议大家安装Xshell用起来比较爽,当然也可以用其他编译器,咱们看看如何安装vim:

安装vim

yum install vim -y

大家可以安装看看

💫vim编译器的三种模式

我们讲解vim的三种模式(其实有好多模式,目前掌握这3种即可),分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

  • 正常/普通/命令模式(Normal mode):

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者last line mode

  • 插入模式(Insert mode):

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。

  • 末行模式(last line mode):

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入:help vim-modes

🌙vim三种模式关系

咱们用一个图就可以很好解释他们之间的关系:



🌙vim编辑器的使用

💫使用vim打开文件

基本语法:

  • 如果文件已存在,则直接打开
  • 如果文件不存在,则vim编辑器会自动在内存中创建一个新文件

案例:使用vim命令打开demo1.c文件

💫vim编辑器保存文件

在任何模式下,连续按两次Esc键 ,即可返回到命令模式。然后按冒号: ,进入到末行模式,输入wq,代表保存并退出。

💫vim编辑器强制退出

在任何模式下,连续按两次Esc键 ,即可返回到命令模式。然后按冒号: ,进入到末行模式,输入q!,代表强制退出但是不保存文件。

这样的输入,是不保存文件的写的内容的,不建议!!!

💫 命令模式下的相关操作

在Linux操作系统中,当我们使用vim命令直接打开某个文件时,默认进入的就是命令模式。如果我们处于其他模式(编辑模式、可视化模式以及末行模式)可以连续按两次Esc键也可以返回命令模式,简称无脑Esc就可以到命令模式

在命令模式我们可以以下内容
① 移动光标 ② 复制 粘贴 ③ 剪切 粘贴 删除 ④ 撤销与恢复

咱就一个一个来讲解

💤移动光标到首行或末行

这里我们都是在命令模式下执行的,不要忘记咯🥱

  • 移动光标到首行 : gg
  • 移动光标到末行 : G
💤翻屏

这里我们都是在命令模式下执行的,不要忘记咯🥱

  • 向上翻屏,按键:ctrl + b (before) 或 PgUp
  • 向下翻屏,按键:ctrl + f (after) 或 PgDn
  • 向上翻半屏,按键:ctrl + u (up)
  • 向下翻半屏,按键:ctrl + d (down)
💤快速定位光标到指定行

这里我们都是在命令模式下执行的,不要忘记咯🥱

  • 行号 + G,如(100 + G)代表快速移动光标到第100行。
💤复制/粘贴

这里我们都是在命令模式下执行的,不要忘记咯🥱

① 复制当前行(光标所在那一行)

按键:yy

粘贴:在想要粘贴的地方按下p 键【将粘贴在光标所在行的下一行】,如果想粘贴在光标所在行之前,则使用P键

② 从当前行开始复制指定的行数,如复制 10 行,10 + yy

粘贴:在想要粘贴的地方按下p 键【将粘贴在光标所在行的下一行】,如果想粘贴在光标所在行之前,则使用P键

上述简称Ctrl CV,这个可得好好学,咱们都是CV工程师

💤剪切/删除

在vim编辑器中,剪切与删除都是dd

  • 如果剪切了文件,但是没有使用p进行粘贴,就是删除操作
  • 如果剪切了文件,然后使用p进行粘贴,这就是剪切操作

① 剪切/删除当前光标所在行

按键:dd (删除之后下一行上移)

粘贴:p

② 剪切/删除多行(从当前光标所在行开始计算)

按键:dd (删除之后下一行上移)

粘贴:p

③ 剪切/删除光标所在的当前行(光标所在位置)之后的内容,但是删除之后下一行不上移

按键:D(Shift + d) (删除之后当前行会变成空白行)

💤撤销/恢复

撤销:u(undo)

恢复:ctrl + r 恢复(取消)之前的撤销操作【重做,redo】

💫底行模式下的相关操作

底行模式先进入命令模式(无脑Esc),然后Shift + ;,前面的图解已经介绍咯!

在这个模式我们可以:文件保存、退出、查找与替换、显示行号、paste模式.....

底行模式咱们就看看就行,主要是咱们的命令模式

💤保存/退出
  • ++:w 代表对当前文件进行保存操作,但是其保存完成后,并没有退出这个文件++
  • ++:q 代表退出当前正在编辑的文件,但是一定要注意,文件必须先保存,然后才能退出++
  • ++:wq 代表文件先保存后退出(保存并退出)++
  • ++q! 代表强制退出但是文件未保存(不建议使用)++
💤文件内容的替换

文件内容的替换可是在底行模式,咱们再看看这张图片叭

只替换光标所在这一行的第一个满足条件的结果(只能替换1次)

:s/要替换的关键词/替换后的关键词 + 回车

案例:把第一行的#include<string.h> 换成 include<stdio.h>

💤显示/取消行号

显示行号:

:set nu

取消行号:

:set nonu

🌙编辑模式

其实这里就没啥指令,它的功能就是写代码。还是看这张图解:

🌙vim编辑器的实用功能(了解)

之前说过vim 是vi 的升级版本,其中比较典型的区别就是vim 更加适合coding,因为vim比vi 多一个代码着色的功能,这个功能主要是为程序员提供编程语言升的语法显示效果,如下:

第一步:定义后缀名为网页文件的代码文件

vim index.php

第二步:编写对应的PHP代码

<?php

echo 'hello world';

?>

在vim编辑器中,我们可以通过:syntax on或:syntax off开启或关闭代码着色功能。

🌙简单vim的配置

用户配置:用户配置文件.vimrc由用户自己创建,存放于用户根目录下。

如果大家没有这个文件的就touch .vimrc


咱们用下面的指令可以编辑咱们的vimrc

在这里就不讲解vim的配置了,有兴趣的小伙伴,可以查看vim的配置,这里博主配置好了vim,还是挺好用到,大家可以试试😊😊😊

cpp 复制代码
colorscheme desert
syntax on
filetype on
au BufRead,BufNewFile *.sv set filetype=systemverilog
au BufRead,BufNewFile *.v  set filetype=verilog

set number
set autoindent

set ts=2
set expandtab

set shiftwidth=4
autocmd FileType make set noexpandtab
set hlsearch
set cursorline

set cursorcolumn
set guifont=Monospace\ 16
inoremap ( ()<Esc>i
inoremap { {}<Esc>i
inoremap [ []<Esc>i
inoremap " ""<Esc>i

source ~/.vim/user/alias.vim

🌟结束语

今天内容就到这里啦,时间过得很快,大家沉下心来好好学习,会有一定的收获的,大家多多坚持,嘻嘻,成功路上注定孤独,因为坚持的人不多。那请大家举起自己的小说手给博主一键三连,有你们的支持是我最大的动力💞💞💞,回见。

相关推荐
m0_6948455712 分钟前
服务器怎么跑Python项目?
linux·运维·服务器·python·云计算
Linux运维技术栈1 小时前
CentOS 7 升级系统内核级库 glibc 2.40 完整教程
linux·运维·centos·glibc·系统内核
刘延林.1 小时前
树莓派5-ollama-linux-arm64.tgz 下载
linux·运维·服务器
麟城Lincoln3 小时前
【Linux-云原生-笔记】Apache相关
linux·笔记·云原生·apache·webserver
ZZZKKKRTSAE3 小时前
玩转rhel9 Apache
linux·运维·服务器·apache·web
Z_zz_Z___3 小时前
DNS协议解析过程
linux·服务器·网络
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ3 小时前
Linux 下使用 vim 文本编辑器时的操作指令
linux·运维·vim
百锦再3 小时前
Rider 全面解析:跨平台 .NET IDE 的核心技术与高效实践指南
linux·ide·.net·sdk·core·rider
程序员JerrySUN4 小时前
一文理解缓存的本质:分层架构、原理对比与实战精粹
java·linux·开发语言·数据库·redis·缓存·架构
hryyx4 小时前
Linux磁盘限速(Ubuntu24实测)
linux·运维·服务器