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

Vim编辑器常用的命令总结

使用Vim的时间不长,但如今已经离不开熟悉的Vim编辑模式了。Vim的学习曲线是非常陡的,一开始学习的时候,面对很多的操作命令要去记住,常常望而却步。其实,只要记住一些常用的命令,加之在工作中坚持使用Vim进行编辑,很快就能得心应手了。下面来一起看看吧。

前言

作为开发者,有两个顶级编辑器,即使你不用,你也一定要知道它们是什么——

      ·编辑器之神——Vim

      ·神的编辑器——Emacs

所以本文就来介绍vim以及它的常用命令,Vim是从vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用

vim键盘图中文版:

tips:在linux环境下,可以在命令行输入vimtutor命令学习使用vim,当然前提是你安装上了vim

模式

共有三种模式,分别是命令模式、插入模式和底线命令模式.这三种模式的作用分别是:

命令模式:

用户刚刚启动vim编辑文件时,便进入了命令模式

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符

输入模式:

在命令模式下按下i、a、o就进入了输入模式

在输入模式中,可以使用以下按键:

字符按键以及Shift组合 	//输入字符
Enter			//换行
Back Space 		//删除光标前一个字符
Del 			//删除光标后一个字符
方向键 			//在文本中移动光标
Home/End 		//移动光标到行首/行尾
Page Up/Page Down 	//上/下翻页
Insert 		//切换光标为输入/替换模式,光标将变成竖线/下划线
Esc 			//退出输入模式,切换到命令模式

底线命令模式:

在命令模式下按下:就进入了底线命令模式

按Esc键退出底线命令模式

简单的说,可以用下图来更直观展示:


插入

i //光标前插入
I //光标所在行首插入
o //光标所在行下面新建一行
O //光标所在行上面新建一行
a //光标后插入
A //光标所在行尾部插入

查找

/search_str //向光标之下查找值为search_str的字符串
?search_str //向光标之上查找值为search_str的字符串
n //重复前一个搜寻的动作
N //反向进行前一个搜寻动作

替换

%s/old/new/ //用old替换new,替换所有行的第一个匹配
%s/old/new/g //用old替换new,替换整个文件的所有匹配,g表示全局
s/old/new/ //用old替换new,替换当前行的第一个匹配
s/old/new/g //用old替换new,替换当前行所有匹配,g表示全局

删除、拷贝、粘贴

x,X //x为向后删除一个字符,X为向前删除一个字符
nx //连续向后删除n个字符
dd //删除光标所在行(常用)
ndd //删除光标所在行开始n行
d1G //删除光标所在行到第一行
dG //删除光标所在行到尾行
yy //拷贝光标所在行(常用)
nyy //拷贝光标所在行开始n行
d1G //拷贝光标所在行到第一行
dG //拷贝光标所在行到尾行
p,P //p为将已复制的内容粘贴在光标下一行,P则为粘贴在光标上一行
u //复原前一个工作
ctrl+r //重做上一个动作
. //重复前一个动作

显示/隐藏行号

:set nu //显示行号
:set nonu //隐藏行号

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


推荐阅读
  • 如何在Linux环境中高效地创建、编译与运行C语言代码
    本文面向第一次在linux尝试写C语言程序的新人。有经验的请绕行。C语言用法不是本文介绍的关键,本文只是引入如何第一次在linux系统下编写、编译和执行一个简单的c程序。学会后请自行深入 ... [详细]
  • 七款高效编辑器与笔记工具推荐:KindEditor自动换行功能解析
    本文推荐了七款高效的编辑器与笔记工具,并详细解析了KindEditor的自动换行功能。其中,轻笔记QingBiJi是一款完全免费的记事本软件,用户可以通过其简洁的界面和强大的功能轻松记录和管理日常事务。此外,该软件还支持多平台同步,确保用户在不同设备间无缝切换。 ... [详细]
  • 提升Python编程效率的十点建议
    本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ... [详细]
  • BashShell作为Linux的指定合作伙伴我们已经再熟悉不过了,使用Bash可以快速编写简单的脚本方便我们的日常比如善用vim,awk和sed三剑客,也可以创建十分复杂的逻辑, ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 本文详细介绍了VIM的基础操作和常用快捷键,VIM作为Unix及类Unix系统中的一款经典文本编辑器,源自VI的改进与发展。其简洁的界面和强大的扩展性使其在开发者中备受青睐,同时也催生了多个适用于Windows平台的版本。通过图文并茂的方式,帮助读者快速掌握VIM的核心功能与使用技巧。 ... [详细]
  • Linux基础知识:Vi与Vim编辑器详解
    Linux基础知识:Vi与Vim编辑器详解 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 在 openSUSE Tumbleweed 系统上搭建 51 单片机开发环境并进行编程实践。首先,通过 `sudo zypper in emacs` 命令安装文本编辑器 Emacs。接着,使用 `sudo zypper in sdcc` 安装 SDCC 编译器。最后,利用 `wget` 下载 sdcflash Python 脚本,以便于单片机的烧录和调试。此外,还介绍了如何配置开发环境,确保各组件协同工作,提高开发效率。 ... [详细]
  • 虚拟机网络设置与数据库远程连接优化指南
    本文针对个人计算机上虚拟机网络配置与数据库远程连接的问题,提供了一套详细的优化指南。在探讨远程数据库访问前,需确保网络配置正确,特别是桥接模式的设置。通过合理的网络配置,可以有效解决因虚拟机或网络问题导致的连接失败,提升远程访问的稳定性和效率。 ... [详细]
  • 本文首先对信息漏洞的基础知识进行了概述,重点介绍了几种常见的信息泄露途径。具体包括目录遍历、PHPINFO信息泄露以及备份文件的不当下载。其中,备份文件下载涉及网站源代码、`.bak`文件、Vim缓存文件和`DS_Store`文件等。目录遍历漏洞的详细分析为后续深入研究奠定了基础。 ... [详细]
  • Python数据分析入门指南:全面了解Python在数据科学中的应用 ... [详细]
  • https:www.hollischuang.comarchives74 对于Java程序员来说,null是令人头痛的东西。时常会受到空指针异常(NPE ... [详细]
  • Lunix历史及如何学习
    1.Lunix是什么1.1Lunix是操作系统还是应用程序Lunix是一套操作系统,它提供了一个完整的操作系统当中最底层的硬件控制与资源管理的完整架构, ... [详细]
  • 在CentOS上部署并使用FFmpeg多媒体处理工具
    最近在进行音频处理时需要用到FFmpeg,本文将详细介绍如何在CentOS系统上部署并使用这一强大的多媒体处理工具。首先,从官方网站下载FFmpeg的最新版本,然后通过Xftp工具将下载的压缩包(如ffmpeg-4.3.1.tar.xz)传输到服务器上。接下来,解压文件并按照官方文档进行编译安装。安装完成后,可以通过命令行工具验证FFmpeg是否成功安装,并开始进行多媒体文件的转换和处理。此外,文章还将介绍一些常用的FFmpeg命令和参数,帮助用户快速上手。 ... [详细]
author-avatar
韵丽雅舍现代专业女子养生馆
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有