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

vim命令是什么

vim命令是一个富文本编辑器,是vi编辑器的扩展版本,它可以用来编辑各种文本,尤其是能编辑程序,和vi相比有很多的优点,可以多次撤销,可以同时打开多个窗口进行编辑、语法高亮、命令行编辑、在线帮助、可视化选择等等。

vim命令是一个富文本编辑器,是vi编辑器的扩展版本,它可以用来编辑各种文本,尤其是能编辑程序,和vi相比有很多的优点,可以多次撤销,可以同时打开多个窗口进行编辑、语法高亮、命令行编辑、在线帮助、可视化选择等等。

vim介绍

vim是一个富文本编辑器,是vi编辑器的扩展版本,它可以用来编辑各种文本,尤其是能编辑程序

他和vi相比有很多的优点,可以多次撤销,可以同时打开多个 窗口进行编辑,语法高亮,命令行编辑,在线帮助,可视化选择,等等

vim基本操作

打开文件

vim filename
#example : 使用vim编辑器打开a.txt文件
vim a.txt

如果filename 为空,则会打开一个空的文件

vim [options] [filelist] 左右方括号代表集合,也就是指可以有多个option和多个list

vim的五种模式

  • 正常模式:这是最基本的模式,在以下任何模式中都可以通过点击Esc回到正常模式

  • 插入模式:在该模式下可通过键盘输入字符串,在正常模式下,按i,a,o都可以进入插入模式,i为从当前光标所在字符的前一个字符开始插入,a为从当前光标的后一个字符开始插入,o为从当前光标的下一行开始插入

  • 可视模式:可视模式可以对文本进行选中,然后方便复制,粘贴等操作,在正常模式下只能同时选中一个字符,所以如果你想删除多个字符或者多行字符是比较不方便的---当然在正常模式下确实有命令可以解决这个问题,但是相比可视模式有点复杂,在正常模式按v可进入可视模式,按V可进入可视行模式,安Crtl+v可进入可视块模式,大家 自己实践以下,很容易发现这三种可视模式的差别。另外在可视模式下,也可以用v,V,Crtl+v在三种可视模式下切换

  • 替换模式:在正常模式下按R可进入替换模式,从当前光标处开始,键盘输入的字符会替换掉文本已经有的字符

  • 末行模式:按:和/可进入末行模式,使用/进入的末行模式主要用来查找字符串,在下面进行详细解释

正常模式必要命令详解

h    #左移一个字符
l    #右移一个字符
j    #下移一行
k    #上移一行
dd    #删除一整行
x    #删除光标所在字符
u    #删除字符后撤销
yy    #复制当前行
#以上所有所有字符都可以在前面加数字,代表左移n个字符,又移n的字符,复制n行等...
p    #进行粘贴操作
 
 
0    #移动到行首
g0    #移动到当前屏幕的行首
H    #把光标移动到屏幕最顶端的一行
M    #把光标移动到屏幕中间一行
L    #把光标移动到屏幕最底端的一行
gg    #移动到文件的头部
G    #移动到文件的尾部
 
crtl + f    #下翻一屏
crtl + b    #上翻一屏
crtl + d    #下翻半屏
crtl + u    #上翻半屏
n%    #到文件n%的位置
zz    #将当前行移动到屏幕中央
zt    #将当前行移动到屏幕顶端
zb    #将当前行移动到屏幕底端

末行模式常用命令详解

:q    #退出当前文件且不保存,q为quit缩写
:q!    #强制退出当前文件
:w    #保存当前文件,w为write的缩写
:w!    #对于只读文件可强制保存更改
:wq    #保存并退出
 
:r filename    #在当前位置插入令一个文件
:r !date    #在当前位置插入当前日期
:r !command    #在当前位置插入其他shell命令的输出结果
 
:% s/目标字符/替换字符/g    #将目标字符替换为 替换字符 最后的g代表全局替换,%代表所有行
% s/目标字符/替换字符/gic    #将目标字符替换为 替换字符 ,%代表所有行,最后的g代表全局替换,i代表忽视大小写,c代表每个替换都需要用户确认才可以
:1,4 s/目标字符/替换字符/g    #将第一行到第四行的 目标字符替换为 替换字符
 
/string    :在后面的文本中查找字符串

可视模式常用命令详解

d    #删除选中的字符
y    #复制选中的字符
p    #粘贴选中的字符

相关学习推荐:linux视频教程

以上就是vim命令是什么的详细内容,更多请关注其它相关文章!


推荐阅读
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 深入理解Shell脚本编程
    本文详细介绍了Shell脚本编程的基础概念、语法结构及其在操作系统中的应用。通过具体的示例代码,帮助读者掌握如何编写和执行Shell脚本。 ... [详细]
  • GIMP 2.99.2 发布:UI 采用 GTK3 实现、原生支持高分屏和 Wayland
    开源项目评选最后一周,手里的5票再不用就没用了https:www.oschina.netprojecttop_cn_2020GIMP2.99.2已发布,同时这也标志着GIMP3.0的到来,其中最显著的变化是从GTK2过渡到GTK3工具包。基于 ... [详细]
  • 如何使用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语言编程中常用的工具,帮助初学者更好地选择适合自己学习和工作的编程环境。 ... [详细]
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
  • 本文介绍如何在Linux系统中卸载预装的OpenJDK,安装指定版本的JDK 1.8,并配置防火墙以确保系统安全性和软件兼容性。 ... [详细]
  • 利用SSH隧道实现外网对局域网机器的安全访问
    本文探讨了一种常见的网络配置问题及其解决方案,即如何在外网环境下安全地访问位于局域网内的计算机。特别介绍了使用SSH反向隧道技术来实现这一目标的具体步骤和注意事项。 ... [详细]
  • 在Linux系统上构建Web服务器的详细步骤
    本文详细介绍了如何在Linux系统上搭建Web服务器的过程,包括安装Apache、PHP和MySQL等关键组件,以及遇到的一些常见问题及其解决方案。 ... [详细]
author-avatar
BAEKHYUN-MANDY
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有