热门标签 | 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 //隐藏行号

总结

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


推荐阅读
  • 经过前面的一系列工作后,GO的语言环境已经搭建完成。我们也初步体验了GO提供的大部分命令。但在正式进入开发之前,还有件工作要做,那就是选择一款适合自己的IDE。为什么使用IDE“程 ... [详细]
  • BashShell作为Linux的指定合作伙伴我们已经再熟悉不过了,使用Bash可以快速编写简单的脚本方便我们的日常比如善用vim,awk和sed三剑客,也可以创建十分复杂的逻辑, ... [详细]
  • 本文详细介绍了Vim编辑器中的三种模式(命令模式、末行模式和编辑模式)以及它们之间的操作区别和切换方法。Vim编辑器凭借其多种命令快捷键和高效率的操作方式,得到了广大厂商和用户的认可。对于想要高效操作文本的用户来说,了解这些模式的使用方法是必不可少的。 ... [详细]
  • Linux配置IP地址大全
    IP地址配置方法一:编辑配置文件#编辑网卡参数[roottest~]#vimetcsysconfignetwork-scriptsifcfg-ens331TYPEE ... [详细]
  • ANSI
    ANSI是什么编码?用Notepad创建一个文本文件text.txt,其默认编码格式为ANSI(乍看之下,还以为是ASCII ... [详细]
  • 【技术分享】如何通过恶意插件在Atom中植入后门
    【技术分享】如何通过恶意插件在Atom中植入后门 ... [详细]
  • Haskell学习笔记:探索函数式编程之美
    使用教材:《learnyouaHaskell》,中文1-8章戳我准备工作。编译器&调试器:安装HaskellPlatform, ... [详细]
  • mysql和php的关系理解(php技术和mysql怎么结合)
    本文目录一览:1、apachephpmysql他们是什么关系 ... [详细]
  •  像Slashdot这样的论坛上常常有人在攻击GNU,他们的观点在我看来完全是缺乏历史知识和不尊重历史。当GNU倡导称Linux为GNU/Linux时,这些人声称GNU企图从Linus ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • 本文主要介绍关于linux文件描述符设置,centos7设置文件句柄数,centos7查看进程数的知识点,对【Linux之进程数和句柄数】和【linux句柄数含义】有兴趣的朋友可以看下由【东城绝神】投 ... [详细]
  • 对于一般的扩展包,我们一般直接pipinstallxxx即可安装,但是unrar直接安装后,发现并不能通过Python程序实现解压的功能& ... [详细]
  • 基于SSL的mysql服务器的主从架构实现说明:本文选用172.16.22.1作为主服务器,172.16.22.3作为从服务器从服务器的mysql软件版 ... [详细]
  • CentOS7系统目录LINUX有四种基本文件系统类型普通文件:如文本文件、C语言元代码、SHELL脚本、二进制的可执行文件等,可用cat、less、 ... [详细]
  • 1.首先要配置emacs文件:1(global-linum-modet)2(show-paren-modet)3(global-set-key(kbdC-s) ... [详细]
author-avatar
KenNaNa
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有