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 //隐藏行号

总结

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

相关文章

  • CentOS7升级内核kernel5.0版本

    CentOS7升级内核kernel5.0版本

    这篇文章主要介绍了CentOS7升级内核kernel5.0版本,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • Linux tar命令使用列子

    Linux tar命令使用列子

    对许多用户来说,在DOS和Windows环境下利用工具软件WinZip、ARJ等压缩或解压文件是比较容易的事。但是,在Linux中如何对文件进行压缩与解压呢?
    2008-06-06
  • 详解CentOS7安装配置vsftp搭建FTP

    详解CentOS7安装配置vsftp搭建FTP

    这篇文章主要介绍了详解CentOS7安装配置vsftp搭建FTP,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • VMware虚拟机安装 CentOS 8 (1905)系统的教程图解

    VMware虚拟机安装 CentOS 8 (1905)系统的教程图解

    这篇文章主要介绍了CentOS 8 (1905)系统安装,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • Linux 命令find之查找文件的示例

    Linux 命令find之查找文件的示例

    这篇文章主要介绍了Linux 命令find之查找文件的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Apache2.2.16+PHP5.3.3+MySQL5.1.49的配置方法

    Apache2.2.16+PHP5.3.3+MySQL5.1.49的配置方法

    轻松配置PHP5.3.3+Apache2.2.16+MySQL5.1.49,下面是有详细的步骤说明。
    2010-09-09
  • 浅谈Linux的虚拟内存

    浅谈Linux的虚拟内存

    现代操作系统中,多任务已是标配。多任务并行,大大提升了 CPU 利用率,但却引出了多个进程对内存操作的冲突问题,虚拟内存概念的提出就是为了解决这个问题。
    2021-05-05
  • linux系统中通过rsync+inotify实现网页自动同步

    linux系统中通过rsync+inotify实现网页自动同步

    这篇文章主要介绍了linux系统中通过rsync+inotify实现网页自动同步,需要的朋友可以参考下
    2014-11-11
  • windows10安装ubuntu20.04双系统详细图文教程

    windows10安装ubuntu20.04双系统详细图文教程

    这篇文章主要介绍了windows10安装ubuntu20.04双系统详细图文教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • linux中的系统挂载(卸载)U盘(文件系统)

    linux中的系统挂载(卸载)U盘(文件系统)

    这篇文章主要介绍了linux中的系统挂载(卸载)U盘(文件系统),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09

最新评论