热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

vim命令是什么-linux运维

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命令是什么的详细内容,更多请关注 第一PHP社区 其它相关文章!


推荐阅读
  • CGroups: 资源管理和控制
    CGroups(Control Groups)是Linux内核提供的一个功能,旨在限制、记录和隔离进程组使用的物理资源,如CPU、内存和I/O等。它通过精细的资源管理,支持现代容器技术如Docker的资源限制需求。 ... [详细]
  • 本文详细介绍了如何通过Percona插件监控MySQL 5.7数据库,包括环境准备、插件安装、配置调整及数据测试等步骤,旨在为用户提供一个高效且稳定的监控解决方案。 ... [详细]
  • 本文介绍了如何通过安装 VirtualBox 和 Vagrant 来快速搭建和管理虚拟机环境。我们将详细探讨如何选择合适的 Box 镜像,以及如何高效地下载、添加和管理这些镜像。 ... [详细]
  • 本文介绍了如何在三台CentOS 7.5虚拟机上通过Docker部署RabbitMQ集群,包括环境准备、容器创建、集群配置及故障处理等内容。 ... [详细]
  • Linux环境下Memcached安装指南
    本文详细介绍如何在Linux虚拟机上安装Memcached,包括必要的依赖库安装,以及使用Xshell进行文件传输的具体步骤。 ... [详细]
  • 本文详细介绍了如何在VMware环境下安装CentOS 7 Minimal,并成功配置GNOME桌面环境的过程。包括解决网络连接问题和设置默认图形界面等关键步骤。 ... [详细]
  • grep、sed、awk一、grep的用法1、grep简介grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep包 ... [详细]
  • Redis 教程01 —— 如何安装 Redis
    本文介绍了 Redis,这是一个由 Salvatore Sanfilippo 开发的键值存储系统。Redis 是一款开源且高性能的数据库,支持多种数据结构存储,并提供了丰富的功能和特性。 ... [详细]
  • 本文详细介绍了如何在Arch Linux系统中安装和配置FlashTool,包括必要的依赖项安装和udev规则设置,以确保工具能够正确识别USB设备。 ... [详细]
  • 本文详细介绍了RPM包构建过程中Spec文件的结构和各部分的作用,包括包描述、准备阶段、构建过程、安装步骤、清理操作以及文件列表等关键环节。同时,提供了关于RPM宏命令、打包目录结构及常见标签的深入解析。 ... [详细]
  • ThinkPHP 文件缓存组件详解与应用
    本文深入探讨了ThinkPHP框架中的文件缓存类实现,提供了详细的代码示例和使用说明,旨在帮助开发者更好地理解和利用这一功能来优化应用程序性能。 ... [详细]
  • 本文基于https://major.io/2014/05/13/coreos-vs-project-atomic-a-review/的内容,对CoreOS和Atomic两个操作系统进行了详细的对比,涵盖部署、管理和安全性等多个方面。 ... [详细]
  • WPS文档中实现高效批量文本替换的指南
    本文详细介绍了如何在WPS文档中快速执行批量文本替换的操作方法,旨在帮助用户提高文档编辑效率。 ... [详细]
  • 解决CSS因MIME类型不匹配导致的加载失败问题
    本文详细介绍了在Web开发过程中,遇到CSS文件因MIME类型不匹配而无法正确加载的问题及其解决方案,适合前端开发者阅读。 ... [详细]
  • 本文档详细规划了从基础到高级的软件测试学习路径,包括但不限于测试基础、Linux和数据库、功能测试、Python编程、接口测试、性能测试、金融项目实战、UI自动化测试等内容,旨在为初学者和进阶者提供全面的学习指导。 ... [详细]
author-avatar
mobiledu2502917185
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有