热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

vim编辑器的用法

vim编辑器的四种模式命令模式使用vim编辑器时,默认处于命令模式。该模式下可以移动光标位置,通过快捷键对文件内容进行复制,粘贴,删除等操作。如何进入命令模式?答:在Linux操作

vim编辑器的四种模式

  1. 命令模式

使用vim编辑器时,默认处于命令模式。该模式下可以移动光标位置,通过快捷键对文件内容进行复制,粘贴,删除等操作。

如何进入命令模式?

答:在Linux操作系统中,使用vim命令打开文件时默认进入的就是命令模式,如何我们处于其他模式,可以连续按两次esc键来切换到命令模式。

命令模式下我们可以做哪些操作?

答:命令模式下我们可以做复制,剪切,粘贴,删除,撤销,恢复等操作


1:移动光标操作

移动光标到行首=gg

移动光标到行尾=G

快速移动到指定行数 = 行数+G 如 150G则快速移动到150行


2:翻页操作

向上翻屏,按键:Ctrl + b 或者 PgUp

向上翻屏,按键:Ctrl + f  或者 PgDn

向上翻半屏,按键:Ctrl + u

向下翻半屏,按键:Ctrl + d复制/粘贴操作

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

按键:yy

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

2:从当前行开始复制指定的行数,如复制5行,5yy

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


3:剪切/删除操作

在vim编辑器中剪切和删除都是输入dd,如果剪切了文件,但是没有使用p进行粘贴,那就是删除操作,如果剪切了文件,然后使用p进行粘贴,这就是剪切操作。



  1. 剪切/删除光标所在行

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



  1. 剪切/删除光标所在行为准(包括当前行),向下删除/剪切指定的行

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



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

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


4:撤销/恢复

撤销:u

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



  1. 编辑模式和输入模式

在命令模式下输入小写字母a或者小写字母i即可进入编辑模式,可以对文件的内容进行编辑。

在光标之前插入内容 = 命令模式 + i

在光标之后插入内容 = 命令模式 + a



  1. 末行模式

在命令模式输入:进入末行模式,可以在末行模式输入命令对文件进行查找,关键词替换,保存,退出等操作

如何进入末行模式?

答:进入末行模式的方法只有一个,在命令模式下输入:进入末行模式。

末行模式下我们可以做哪些操作?

答:末行模式下我们可以做文件保存,退出,查找与替换,显示行号,paste模式等


1:保存/退出

保存文件 = :w

退出文件(注意文件必须保存后才能退出) =:q

保存并退出 = :wq

强制退出 = q!

如果一个文件在编辑时没有名字,则可以使用:wq文件名称,代表把当前正在编辑的文件保存到指定的名称中,然后退出


2:查找/搜索

切换到命令模式,然后输入斜杠/(也是进入到末行模式的方式之一)

进入到末行模式后,输入要查找或搜索的关键词,然后回车

如果在一个文件中,存在多个满足条件的结果。在搜索结果中切换上/下一个结果:N/n(大写N代表上一个结果,小写n代表next下一个)

如果要取消高亮,则需要在末行模式中输入:noh【no highlight】


3:文件内容的替换

第一步:首先进入末行模式(在命令模式下输入冒号:)

第二步:根据需求替换内容

1.只替换光标所在这一行的第一个满足条件的结果(只能替换一次) = :s/要替换的关键词/替换后的关键词 + 回车

2.替换光标所在这一行中的所有满足条件的结果(替换多次,只能替换一行) = :/s/要替换的关键词/替换后的关键词/g

3.针对整个文档中的所有行进行替换,只替换每一行中满足条件的第一个结果 = :/%s/要替换的关键词/替换后的关键词

4.针对整个文档中的所有关键词进行替换(只要满足条件就进行替换操作) = :/%s/要替换的关键词/替换后的关键词/g


4:paste模式

为什么要使用paste模式?

问题:在终端vim中粘贴代码时,发现插入的代码会有多余的缩进,而且会逐行累加。原因是终端把粘贴的文本存入键盘缓存中,vim则把这些内容作为用户的键盘输入来处理。导致在遇到换行符的时候,如果vim开启了自动缩进,就会默认的把上一行缩进插入到下一行的开头,最终使代码变乱。

在粘贴数据之前,输入下面命令开启paste模式;

:set paste

粘贴完毕后,输入下面命令关闭paste模式;

:set nopaste


5:显示行号

在末行模式输入 set nu来显示行号

取消行号显示在末行模式输入set nonu来取消显示行号



  1. 可视化模式

可以做一些列选操作

在命令模式中,直接按Ctrl + v(可视块)或V(可视行)或v(可视),然后↑↓←→方向键来选中需要复制的区块,按下y键进行复制(不要按下yy),最后按下p键粘贴。


1:可视化模式复制操作

第一步:在命令模式下,直接小v,进入可视化模式;

第二步:使用方向键↑↓←→选择要复制的内容,然后按y键;

第三步:移动光标,停在需要粘贴的位置,按p键进行粘贴操作;


2:为配置文件多行添加注释

第一步:按esc退出到命令模式,按gg切换到第一行;

第二步:然后按Ctrl+v进入到可视化区块模式(列模式);

第三步:在行首使用上下键选择需要注释的多行;

第四步:按下键盘大写“I”键,进入插入模式;

第五步:输入注释符#;

第六步:输入完成后按两下esc;


3:删除多行注释

第一步:首先esc进入命令行模式,按Ctrl+v进入列模式;

第二步:选定要取消注释的多行的第一列;

第三步:按del键即可;


 

 



推荐阅读
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 在Python开发过程中,随着项目数量的增加,不同项目依赖于不同版本的库,容易引发依赖冲突。为了避免这些问题,并保持开发环境的整洁,可以使用Virtualenv和Virtualenvwrapper来创建和管理多个隔离的Python虚拟环境。 ... [详细]
  • PostgreSQL 10 离线安装指南
    本文详细介绍了如何在无法联网的服务器上进行 PostgreSQL 10 的离线安装,并涵盖了从下载安装包到配置远程访问的完整步骤。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 本文介绍了Linux系统中的文件IO操作,包括文件描述符、基本文件操作函数以及目录操作。详细解释了各个函数的参数和返回值,并提供了代码示例。 ... [详细]
  • 如何使用PyCharm及常用配置详解
    对于一枚pycharm工具的使用新手,正确了解这门工具的配置及其使用,在使用过程中遇到的很多问题也可以迎刃而解,文中有非常详细的介绍, ... [详细]
  • 本文详细介绍了Vim编辑器的三种主要模式及其常用命令,帮助用户更好地掌握这一强大的文本编辑工具。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • 俗话说得好,“工欲善其事,必先利其器”。这句话不仅强调了工具的重要性,也提醒我们在任何项目开始前,准备合适的工具至关重要。本文将介绍几款C语言编程中常用的工具,帮助初学者更好地选择适合自己学习和工作的编程环境。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
author-avatar
小染雪_647
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有