【Liunx篇】基础开发工具 - vim

文章目录

一.vim的基本概念

vim是一个专注的编辑器,支持多模式编辑,有命令模式视图模式替换模式插入模式底行模式

1.正常/命令模式

首次打开vim进入的就是命令模式,命令模式是vim的核心和精华。

  • 功能: 控制屏幕光标的移动,进行字符、单词或行的删除、移动、复制等操作,以及进入插入模式或末行模式。
  • 特点: Vim启动时的默认模式,用于执行各种编辑命令。在此模式下,用户可以通过键盘快捷键快速移动光标,进行文本的浏览和编辑操作。
  • 进入方式: Vim启动后自动进入,或者从其他模式按Esc键返回。

2.插入模式

  • 功能: 允许用户直接在文本中输入内容。
  • 特点: 只有在插入模式下,才可以进行文本输入。
  • 进入方式: 在命令模式下,按下i键即可进入插入模式。
  • 退出方式: 按下Esc键即可退出插入模式,返回正常模式。

3.底行模式/末行模式

  • 功能: 用于执行一些特殊的命令,如文件保存、退出Vim、查找替换、设置环境等。
  • 特点: 提供了一种方便的方式来执行全局命令。
  • 进入方式: 在命令模式下,按下进入底行模式。
  • 退出方式: 按下Esc键即可退出底行模式,返回正常模式。

4.视图模式

  • 功能: 用于选择文本块,方便进行复制、粘贴、删除等操作。
  • 特点: 择文本时有一种鼠标选择的即视感,非常直观。
  • 进入方式: 在正常模式下,按下v键进入字符选择模式,按下V键进入行选择模式,按下Ctrl+v键进入块选择模式。
  • 退出方式: 按下Esc键即可退出视图模式,返回正常模式。

5.替换模式

  • 功能: 用于直接替换光标所在位置的字符。
  • 特点: 在替换模式下,输入的字符将直接替换光标所在位置的字符。
  • 进入方式: 在正常模式下,按下R键即可进入替换模式。
  • 退出方式: 按下Esc键即可退出替换模式,返回正常模式。

二.vim的基本操作

1.进入vim:

指令: vim 文件名

输入vim及文件名称后,就进入vim全屏幕编辑画面,如果文件不存在vim也会新建文件。


注意: 进入vim之后,是处于正常模式 ,你要切换到插入模式才能够输入文字。

正常模式 切换到 插入模式:

  • i:在当前光标位置前插入
  • a:在当前光标位置后插入
  • o:在当前行后插入新行

插入模式 切换到 正常模式:

  • 点击键盘上的Esc键就可以退出到命令模式。(所有模式退到命令模式都是这样)

正常模式 切换到 底行模式:

  • shift + ;,其实就是输入:

2.退出vim:

  • 底行模式 下,输入w保存当前文件,输入q退出vim。
  • 底行模式 下,wq保存并退出vim。
  • q!:不保存,强制退出vim。

三.vim正常模式命令集

1.光标定位:

  • gg:光标定位到文本最开始。
  • shift+g / G:光标定位到文本最结尾行。(第一个文本所在的地方)
  • n+G:n是任意数字,定位光标到任意行。(第一个文本所在的地方)
  • shift+4 / $:光标定位到行尾。
  • shift+6 / ^:光标定位到行首。
    上面两种方式也被称为锚点
  • hjkl:以字符为单位进行左、下、上、右移动。
  • w/b:光标以单词为单位进行行内或跨行移动。(也可可以配合n使用,一次跨越n个单词)

2.复制/粘贴

  • yy:复制当前行。(也可以配合n使用,一次复制多行)
  • p:粘贴到当前行的下一行。(也可以配合n使用,一次粘贴多份)

3.撤销

  • u:对上一个操作进行撤销,按多次可执行多次撤销。(只要不退出vim,就可以一直撤销)
  • ctrl+r:对u进行撤销。
    这两个命令是环状的,互相可以取消对方

4.剪切/删除

  • dd:剪切/删除当前行。dd完如果不p的话,那就是删除 ,如果p的话就是剪切
  • x:删除光标所在位置的字符。(也可以配合n使用,一次删除多个字符)
  • shift+x / X: 删除光标所在位置的前面一个字符。(也可以配合n使用,一次删除前n个字符)

5. 更改

  • shift+ ` / ~:快速大小写切换。
  • r:进行文本替换。(也可以配合n使用,进行小范围的文本替换)
  • shift+r / R:模式切换为替换模式 ,替换光标所到之处的字符。(退出无脑Esc

四.vim底行模式命令集

1.保存/退出

  • w:保存
  • w!:强制保存
  • q:退出
  • q!:强制退出
  • wq:保存并退出
  • wq!:强制保存并退出

2.调出行号

  • set nu:调出行号
  • set nonu:取消行号

3.搜索字符

  • /关键字:先输入/,再输入你想要要查找的字符,如果第一次找的不是你想要的,可以按n,会继续往后寻找。
  • ?关键字:输入?,再输入你先更要查找的字符,如果第一次找的不是你想要的,可以按n,会继续往后寻找。

4.命令执行

  • !:在不退出vim的情况下执行命令。

5.分屏操作

  • vs 文件名:实现多文件分屏。
  • ctrl+ww:实现光标在分屏多文件之间的切换,光标在哪个窗口里面,就对哪一个窗口进行操作。

五.补充几个实用的命令

1.命令模式

  • 批量化注释:ctrl+v ->hjkl->shift+i / I->//->Esc
  • 批量化去注释:ctrl+v->hjkl->d

2.底行模式

  • 批量化替换:%s/被替换的对象/替换的对象/g,gglobal的意思,表示全面的

    例如:将文本中的printf替换成print:%s/printf/print/g

  • 进文件后光标直接到指定行:vim 文件名 +指定行

    例如:进入code.c文件光标直接定位到第15行:vim code.c +15

3.快速执行历史命令

  • !+命令的开始符:快速执行历史命令。
    例如:

六.vim的配置

未经配置的vim,在插入模式下写代码的时候,没有任何语法提醒,也没有自动补全的功能,使用起来很不方便。要实现在写代码的时候给出提示,需要我们自行对vim进行配置。

1.vim的配置文件

一般情况下vim的配置都是在一个叫做.vimrc的文件里面。这个文件如果没有我们要手动创建一个。所以vim最根本的配置本质上就是修改当前家目录里的.vimrc的文件,向里面添加配置项。

示例:

没添加任何配置项的原始vim

.vimrc文件里面添加显示行号的配置项set nu,保存并退出

再次打开test.c文件就会发现代码前带上了行号

一般配置vim都是在你自己的家目录里面配置的,所以一台Liunx机器下有多个用户的前提下,你自己配置的vim影响不了用户。


今天的内容就分享到这里,如果这篇文章对你有帮助,记得点赞,评论+收藏 ,最后别忘了关注作者,作者将带领你探索更多关于Liunx方面的问题。

相关推荐
laimaxgg15 分钟前
Linux关于华为云开放端口号后连接失败问题解决
linux·运维·服务器·网络·tcp/ip·华为云
浪小满17 分钟前
linux下使用脚本实现对进程的内存占用自动化监测
linux·运维·自动化·内存占用情况监测
东软吴彦祖30 分钟前
包安装利用 LNMP 实现 phpMyAdmin 的负载均衡并利用Redis实现会话保持nginx
linux·redis·mysql·nginx·缓存·负载均衡
艾杰Hydra1 小时前
LInux配置PXE 服务器
linux·运维·服务器
慵懒的猫mi1 小时前
deepin分享-Linux & Windows 双系统时间不一致解决方案
linux·运维·windows·mysql·deepin
阿无@_@1 小时前
2、ceph的安装——方式二ceph-deploy
linux·ceph·centos
PyAIGCMaster2 小时前
ollama部署及实践记录,虚拟环境,pycharm等
linux·ide·pycharm
ouliten2 小时前
最新版pycharm如何配置conda环境
linux·pycharm·conda
AGI学习社3 小时前
2024中国排名前十AI大模型进展、应用案例与发展趋势
linux·服务器·人工智能·华为·llama