【学习笔记之Linux】工具之vim基本介绍
创始人
2024-05-10 01:12:36
0

vim基本认识

  vim是一种多模式的编辑器,它是vi的升级版本,它兼容vi所有的指令并加入了一些新的特性在里面。vi是一个老式的文本编辑器,功能相当齐全,vim则是在vi之上更进了一步,拥有代码补全、编译及错误跳转等功能,被称为编辑器之神,就连vim的官网自己也说vim是一个程序开发工具而不是一个文字处理软件。
  vim拥有多种模式,每种模式的用法各不相同,每种模式之间可以进行切换。而我们最常用的有3-5种模式:命令模式(我们vim打开文件就是这个模式,也叫正常模式、普通模式)、插入模式(输入模式)、末行模式(底行模式)、替换模式、可视化模式。

vim常用模式

命令模式:
  用户一启动vim就进入命令模式,此状态下敲击键盘会被vim识别为命令,而非输入字符。这时可以控制屏幕光标的移动,字符、字或行的删除,移动复制某区段,可以切换至不同的模式。
  因为最开始的老式键盘并没有现在键盘中的一部分按键,所以vim设置了其他按键来实现对应的功能。同时应为按键有限,所以vim是区分大小写的,大小写不同,命令也是不同的。

vim命令模式中的常用命令
 光标移动相关命令:
  h/←:光标向左移动一个字符
  j/↓:光标向下移动一个字符
  k/↑:光标向上移动一个字符
  l/→:光标想有移动一个字符
  [Ctrl]+f:屏幕向下移动一页,相当于[Page Down]键
  [Ctrl]+b:屏幕向上移动一页,相当于[Page Up]键
  [Ctrl]+d:屏幕向下移动半页
  [Ctrl]+u:屏幕向上移动半页
  +:光标移动到非空格符的下一行
  -:光标移动到非空格符的上一行
  数字n+[space]:光标向右移动n个字符
  0/[home]:光标移动到这一行的第一个字符前一位
  ^:光标移动到所在行的行首
  $/[end]:光标移动到这一行的最后候一个字符处
  H:光标移动到屏幕最上方一行的第一个字符处
  M:光标移动到屏幕中央一行第一个字符处
  L:光标移动到这个屏幕最下方一行的第一个字符处
  G:光标移动至文本的最后一行
  数字n+G:光标移动至文本的第n行的第一个字符处,绝对位置
  gg(连按):光标移动至文本第一行第一个字符处
  数字n+[Enter]:光标向下移动n行,相对于当前位置移动
 删除:
  x:删除光标所在位置的字符,在x之前加上数字n,可以实现向后连续删除n个字符
  X:删除光标之前的一个字符,在X之前加上数字n,可以实现向前连续删除n个字符
  dd:剪切光标所在的那一行,在dd之前加上数字n,可以实现向下剪切n行
  d1G:删除光标所在行到第一行的内容
  dG:删除光标所在行到之后一行的内容
  d$:从光标所在处删除至该行的最后一个字符
  d0:从光标所在处删除至该行的第一个字符
 复制:
  yy:复制光标所在行,在yy之前加上数字n,可以向下复制n行
  y1G:复制光标所在行到第一行的所有内容
  yG:复制光标所在行到对吼一行的内容
  y$:复制光标所在处至该行第一个字符处的内容
  y0:复制光标所在处至该行最后一个字符处的内容
 粘贴:
  p:将已复制的内容,从光标所在行的之下开始粘贴
  P:将已复制的内容,从光标所在行的之上开始粘贴
 撤销:
  u:撤销上一个操作
  [Ctrl]+r:重做上一个动作,u与[Ctrl]+r可以相互撤回

  .(这里有一个点):重复上一个操作
 切换大小写:
  ~:将光标处的字母进行大小写转换
 切换模式:
  i/l:进入输入模式,i为从目前光标所在处输入,l为在目前所在行的第一个非空格符处开始输入
  a/A:进入输入模式,a为从光标所在的下一个字符处开始输入,A为从光标所在行的最后一个字符处开始输入
  o/O:进入输入模式,o为在光标的下一行处输入新的一行,O为在光标的上一行处输入新的一行
  s:进入输入模式,s为删除光标处字符开始输入
  r/R:进入替换模式,r只会取代光标所在的字符,R会不断向后取代字符,直到按下ESC键停止
  :([shift]+;):进入底行模式
  [ctrl]+v:进入视图模式

插入模式:
  只有在插入模式下,才能够进行文字输入,我们编写代码就是在该模式下。按下ESC键就会切换到命令模式。
末行模式:
  末行模式也就是底行模式,可以进行文件的保存或退出,也可以进行文件替换,按下ESC键会切换到命令模式。

底行模式常用命令
 搜索:
  /关键字:查找含有关键字的内容,并进行高亮显示,同时光标跳转至当前光标之后的第一个关键字处
  ?关键字:功能与上同,光标跳转至当前光标的前一个关键字处
  n:搜索出关键字之后,按n,光标跳转至下一个关键字处
  N:搜索出关键字之后,按N,光标跳转至上一个关键字处
 替换:
  r+一个字符:替换光标所在处的字符,一次只能换一个
  数字n1,数字n2s/关键字1/关键字2/g:在n1行至n2行之间,查找关键字1,并将其换成关键字2
  【1,$s/关键字1/关键字2/g】/【%s/关键字1/关键字2/g】:从第一行开始查找关键字1,将其替换成关键字2
  【1,$s/关键字1/关键字2/gc】/【%s/关键字1/关键字2/gc】:功能与上同,替换之前向用户确认是否替换
 存储、退出
  w:将编辑的数据写入文件,加上!可以强制写入
  q:退出vim,加上!可以强制退出
  wq:写入之后退出,加上!可以强制写入并退出
  ZZ:保存并退出
  ZQ:不保存,强制退出
  w[文件名]:将当前文件另存为,名字为方框中的文件名
 vim设置
  set nu:显示行号
  set nonu:取消行号

  常用模式关系图:
在这里插入图片描述
  vim键盘图:

在这里插入图片描述

相关内容

热门资讯

lol神秘商店在哪(lol神秘... 今天给各位分享lol神秘商店在哪的知识,其中也会对lol神秘商店神秘钥匙怎么获得进行解释,如果能碰巧...
【数据结构与算法】ArrayL... ✨个人主页:bit me ✨当前专栏:数据结构 ✨每日一语:...
浅灰砖配什么颜色的走边线好看图... 今天给各位分享浅灰砖配什么颜色的走边线好看图片的知识,其中也会对浅灰砖美缝什么颜色好看进行解释,如果...
Centos 7 安装 wge... 文章目录1. wget命令详解:2.查看帮助手册3.使用 wget 下载单个文件4.使用 wget ...
东方甄选抖音号粉丝量连续负增长 第三方数据显示,1月1日至15日期间,东方甄选抖音号粉丝量连续负增长。1月9日至15日,与辉同行粉丝...
计算长颈鹿身上的斑点数量 计算长颈鹿身上的斑点数量是一个非常具体和具体的问题,因为每只长颈鹿的斑点数量和分布都是独一无二的。在...
Linux内核与SMP(对称多... 什么 是SMP? SMP的全称是“对称多处理“(Symmetrical ...
数据结构之二叉树(前提知识) 文章目录前言**一、树****二、树的相关概念****节点的度****叶节点****分支节点****...
【Linux】深刻理解进程概念... 文章目录1、什么是进程?1.1 PCB的概念1.2 程序加载到内存2、初识进程2.1 进程相关的指令...
对MMVAE中IWAE代码实现... 原始的IWAE 优化目标: LIWAE(x1:M)=Ez1:K∼qΦ(z∣x1...