linux-linux常用命令总结三&&什么是vim&&vim三种模式&&vim常用快捷键

本文详细介绍VIM编辑器的特点及使用方法,涵盖一般模式、编辑模式和命令模式的快捷键,适合初学者快速掌握VIM,提升编程效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是VIM


是一个类似vi的文本编辑器,不过在vi的基础上增加了很多新特性,vim被公认为类vi编辑器中最好用的一个。

为什么要学习VIM,vi不够?

vim在vi的基础之上增加了很多的小功能。可以有效的帮助程序员快速的排查问题。很多系统都内建vi编辑器,其他的文本编辑器不一定有,很多软件都会主动调用vi的接口。

二、vim的三种模式


一般模式、编辑模式、命令模式

三、一般模式快捷键 


     一般模式(默认模式)的快捷键:

        h或←光标左移一个字符。如果是20h,表示左移20个字符。
		j或→光标下移一个字符   同上
		k或↑光标上移一个字符   同上
		l或↓光标右移一个字符   同上
		[Ctrl]+[f]屏幕向下移动一页  Page Down!!
		[Ctrl]+[b]屏幕向上移动一页  Page Up !!
		0或[Home]移动到此行最前面字符处!!
		$或[End]移到光标所在行的行尾!!
		H 光标移到当前屏幕最上方行的第一个字符!!
		M光标移到当前屏幕中间行的第一个字符!!
		L光标移动到当前屏幕最下方行第一个字符!!
		G移到此文件最后一行!!!
		nG移到第n行
		gg相当于1G,即移到第一行!!!
		n[Enter]光标下移n行
		/word向下查找单词“word”(!!!)
		?word向上查找单词“word”(!!!)
		n表示重复前一个查找操作
		N与n相反(反向查找)
		
		yy复制光标所在行(!!)
		nyy复制光标所在向下n行(n为数字)
		y1G复制光标所在行到第一行所有数据
		yG复制光标所在行到最后一行所有数据
		y$复制光标所在处到同行最后一个字符
		y0复制光标所在处到同行第一个字符
		p将已复制的数据粘贴到光标所在下一行
		P将已复制的数据粘贴到光标所在上一行
		u复原前一个操作(类似于windows中的ctrl+z)!!!
		Ctrl+r恢复一个操作。
		
		x向后删除一个字符
		nx向后删除n个字符(n为数字)
		X向前删除一个字符
		dd删除光标所在行(!!!)
		ndd删除光标所在行以下n行(n为数字,包含当前行在内)
		d1G删除光标所在行到第一行所有数据(包括所在的行)
		dG删除光标所在行到最后一行(!!)
		d$或d end删除光标所在处到同行最后一个字符(!!)
        d0或d home删除光标所在处到同行第一个字符。(!!)

 

四、编辑模式快捷键


进入编辑模式

			i从光标所在处插入(!!!)
			I从所在行第一个非空白字符处插入(!!)
			a从光标所在下一个字符处插入
			A从光标所在行最后一个字符处插入(!!)
			o在光标所在处下一行插入新的一行(!!)
			O在光标所在处上一行插入新的一行(!!)
			r替换光标所在处字符一次
			R一直替换光标所在处文字直到按下Esc(!!!)

 

五、命令模式快捷键


如何进入命令模式:

: ? /

三个符号任意都可以进入命令模式

			:w [filename] 另存为filename
			:r [filename] 读取filename指定文件中的内容到光标所在的行。
			:n1,n2 w [filename] 将n1到n2行另存为filename
			:! command 临时切换到命令行模式下执行command命令。 
			    例如 “:!find / -name Helllo.java”即可在vim当中执行命令。
			:wq  保存后离开
			:q  不保存离开(未改可以离开,如果修改了需要q!强制离开)
			:q!  不保存离开
			:set nu 显示行号 	(number)
			:set nonu 取消显示行号	(noNumber)
			
			:s/word1/word2/g 在当前行将word1替换成word2(!!)
			:%s/word1/word2/g 在当前文件将word1替换成word2(!!)
			:n1,n2s/word1/word2/g在n1到n2行查找word1替换成word2 (n1、n2为数字) 
			:10,$ s/word1/word2/g从第一行到最后一行查找word1替换成word2
			:%s/word1/word2/gc 同上,在替换前确认是否替换。(!!!)只能单行确认,需要逐个确认。
				替换为 b (y/n/a/q/l/^E/^Y)?
            y表示yes,n表示no,a表示all(限光标当前到最后一行),
            q表示quit,l表示替换后移动光标到行首,^E(Ctrl+E)表示向下翻,^y(Ctrl+Y)表示向上翻。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值