程序开发工具vim——vi的高级版本(记得收藏)
创始人
2024-03-21 06:42:59
0

  提示:在学习本文知识的时候记得温故一下文本编辑器vi的知识点:文本编辑器vi看这篇就够了因为目前大部分的Linux发行版都以vim替换vi的功能了,所以学习vi也很必要。


一.vim的缓存、恢复与打开时的警告信息

  目前主要的文本编辑器都会有恢复的功能,vim也有恢复功能(防止宕机而导致数据没有进行保存)。当我们在使用vim进行编辑时,vim会在与被编辑的文件的目录下,再建立一个名为.filename.swp的缓存文件
  当我们进入到vim的一般命令模式下按下组合键Ctrl+z时,你的vim就会被丢到后台去执行,并且会创建一个上述的缓存文件。
  当在vim的一般命令模式下,按下Ctrl+z后会显示如下的信息
在这里插入图片描述
  当我们使用ls-al的命令后发现在该目录下多了一个.test.txt.swp的文件如下:
在这里插入图片描述
  当我们再一次使用vim编辑test.txt时,会出现以下信息,这是和第一次完全不一样的:
在这里插入图片描述
  当我们在该状态下按键盘的方向键(下方向键)按两下(其他键也可以这里不绝对),会出现下面的状态:
在这里插入图片描述
  红色方框中的信息提示,该文件的缓存文件已经存在,最下面一行提示你可以进行的操作,具体功能如下:
  [O]pen Read-Only:打开此文件为只读文件,可以用在你只是想要查看该文件内容并不想要进行编辑操作时。
  [E]dit anyway:还是用正常的方式打开你要编辑的那个文件,并不会加载缓存的内容,不过很容易出现两个用户互相改变对方的文件等问题(由于Linux是多人多任务的环境)。
  [R]ecover:就是加载缓存的内容,用在你要救回之前未保存的工作,不过当你救回并且保存退出vim后,还是要手动自行删除那个缓存。
  [Q]uit:按下“q”就退出vim,不会进行任何操作回到命令提示符。
  [A]bort:和[Q]uit的操作非常类似,也是回到命令提示符。


二.vim的可视区块(Visual Block)

  在以往我们在文本编辑器vi中基本都是以行为单位进行的操作,但是如果我们想要搞定一个区块(也就是以列为操作单位),该如何进行?在vim中就满足了这样的需求,其使用可视区块。当我们按下“v”、“V"、或"[Ctrl]+v"时(指的是在一般命令模式下),光标移动过的地方就开始反白。
在这里插入图片描述
  当我们在vim的一般命令模式下输入小写“v”键,会出现如下状态信息:
在这里插入图片描述
  当我们在vim的一般命令模式下输入大写“V”键,会出现如下状态信息:
在这里插入图片描述
  当我们在vim的一般命令模式下按下“[Ctrl]+v”键,会出现如下状态信息:
在这里插入图片描述
  根据需求选择区块后就可以进行复制、删除或粘贴了,单纯这一点就可以看出vim相比于vi具有更强大的功能。


三.vim的多文件编辑

  在文本编辑器vi中我们可以在一般命令模式下使用“:r filename”来读入某个文件的内容(在vi那篇博客中我只列出了常用的命令)
在这里插入图片描述
  现在我们想将文件TEST.txt的内容读入到文件test.txt光标处可以使用上诉指令如下:
在这里插入图片描述
  读入后显示如下:
在这里插入图片描述
  说了那么多的目的是什么呢,其实是想引入在vim中的多文件编辑。在vim中可以从某个文件进入到另外一个文件,也可以将另一个文件中的内容选择性复制到某个文件中…。而在vi中只能将某个文件的内容全部导入到本文件,而有些内容往往又不是我们所需要的。多文件编辑的按键如下,注意都是在一般命令模式下进行的操作:
在这里插入图片描述
  在命令提示字符使用vim同时打开两个文件如下:
在这里插入图片描述
  在一般命令模式下使用“:files”查看目前开启的所有文件如下:
在这里插入图片描述
  在一般命令模式下使用“:n”就可以进入下一个文件如下;
在这里插入图片描述
  当然我们也可以在一个文件中直接使用按键进入另一个文件如下:
在这里插入图片描述
  vim的多文件编辑很方便地让我们在各个文件之间跳转自如,不管是查看、复制、删除还是粘贴操作。


四.vim的多窗口功能

  现在假设我们有两个需求:1.当我们有一个很大的文件,我们现在想要对照文件前面与后面的数据,但是我们不想使用[Ctrl]+f与[Ctrl]+b功能键,该如何操作?2.现在我有两个需要对照着看的文件,但是我不想使用vim的多文件编辑,该如何操作?
  vim也能够实现划分窗口:如果想要在新窗口启动另一个文件,就加入文件名“:sp filenam”,否则仅输入“:sp”,出现的则是同一个文件在两个窗口间。
  如果我们想要同一个文件的两个窗口,可以如下操作:
在这里插入图片描述
在这里插入图片描述
  如果我们想要不同文件的两个窗口,可以通过如下操作:
在这里插入图片描述
在这里插入图片描述
  当我第一次玩vim的划分窗口时,非常激动,竟然有这种功能,太有趣了。
  对于vim的多窗口情况下的按键功能有很多,但是我将最主要使用的几个总结如下,以方便查阅:
在这里插入图片描述
  vim的笔记总结差不多到这里为止(虽然很简陋),目的也很简单,方便查阅。对于Linux的学习,大家都一定要自己动总结手敲一敲,敲多了,使用多了,就慢慢掌握了。
  最后如果文章有不对的地方,希望大家指出,我会第一时间纠正。❤️ ❤️


相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
AWSECS:哪种网络模式具有... 使用AWS ECS中的awsvpc网络模式来获得最佳性能。awsvpc网络模式允许ECS任务直接在V...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...