Vim编辑器常用的命令总结

 更新时间:2017年04月03日 10:23:02   作者:Leo Angel  
使用 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 //隐藏行号

总结

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

相关文章

  • 使用‘fsck’修复Linux中文件系统错误的方法

    使用‘fsck’修复Linux中文件系统错误的方法

    这篇文章主要给大家介绍了关于如何使用'fsck'修复Linux中文件系统错误的相关资料,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • Discuz 7.0伪静态ReWrite的.htaccess规则

    Discuz 7.0伪静态ReWrite的.htaccess规则

    在确定您的服务器支持伪静态ReWrite后,您可以通过修改设置.htaccess文件来实现Discuz论坛的伪静态功能
    2010-12-12
  • ubuntu18.04 安装qt5.12.8及环境配置的详细教程

    ubuntu18.04 安装qt5.12.8及环境配置的详细教程

    这篇文章主要介绍了ubuntu18.04 安装qt5.12.8及环境配置的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • Linux 每天自动备份mysql数据库的方法

    Linux 每天自动备份mysql数据库的方法

    linux下为了安全有时候需要自动备份mysql数据库,下面是具体的实现步骤。感兴趣的朋友跟随小编一起看看吧
    2009-09-09
  • Linux虚拟主机面板 kloxo安装及汉化教程分享

    Linux虚拟主机面板 kloxo安装及汉化教程分享

    Kloxo的前身是lxadmin,是一款免费的虚拟主机管理系统,安装简单,功能强大,可以快速地在red hat,centos系列linux系统的主机上搭建LAMP环境。新版以完全解除限制无限域名绑定
    2012-09-09
  • centos通过yum安装php的教程

    centos通过yum安装php的教程

    这篇文章主要介绍了centos通过yum安装php的教程,本文给大家提到了CentOS 7下Yum安装PHP7.2步骤,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • Ubuntu下如何创建XFS文件系统的LVM详解

    Ubuntu下如何创建XFS文件系统的LVM详解

    这篇文章主要给大家介绍了关于在Ubuntu下如何创建XFS文件系统的LVM的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • 解析Linux内核与设备树的编译和烧写

    解析Linux内核与设备树的编译和烧写

    在内核源码中,存在大量对板级细节信息描述的代码。开源文档中对设备树的描述是,一种描述硬件资源的数据结构,它通过bootloader将硬件资源传给内核,使得内核和硬件资源描述相对独立
    2021-06-06
  • 使用VMware虚拟机安装Linux(CentOS7镜像)

    使用VMware虚拟机安装Linux(CentOS7镜像)

    这篇文章介绍了使用VMware虚拟机安装Linux(CentOS7镜像)的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • Ubuntu编译内核模块,内容体现系统日志中

    Ubuntu编译内核模块,内容体现系统日志中

    大家好,本篇文章主要讲的是Ubuntu编译内核模块,内容体现系统日志中,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12

最新评论