03-Linux-Vi编辑器使用

Linux-Vi编辑器使用

一、vi/vim 三种模式

在这里插入图片描述

1-命令模式

使用vi命令进入,此时就是命令模式,此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。

* 进入vi编辑器:vi hello.txt
* 
* 常用命令:
	i 切换到输入模式,以输入字符。
	x 删除当前光标所在处的字符。
	: 切换到底线命令模式,以在最底一行输入命令。
	
* 编辑多个文件:
	vi demo1 demo2 demo3
	使用:":n" 切换到下一个文件编辑
	gg:光标回到第一行,第一个字符
	nG:光标移到第n行  
		7G:光标移到第七行

	0:表示回到句首行
	$:表示行末尾
	可以使用方向键移动光标,但进入insert模式,不能使用方向键(ubuntu下,CentOs可以使用光标)
	nyy: 表示从该行开始复制n行
	ndd: 表示从该行开始删除n行
	按2次u: 可以回到上一步操作
	Ctrl+D:向后反页
	Ctrl+U:向前翻页


2-输入模式

如何进入输入模式?

  • 命令模式下按小写 i: 直接输入即插在光标左侧
  • ~小写 a: 在光标右侧插入内容
  • ~大写 O: 光标上方开启新行输入
  • ~小写 o: 光标下方开启新行输入
  • ~大写 I: 回到 光标所在行 行首输入
  • ~大写 A: 到行尾进行输入 (光标所在行)
* 可使用按键:
	字符按键以及Shift组合,输入字符
	Enter,回车键,换行
	BACK SPACE,退格键,删除光标前一个字符
	DEL,删除键,删除光标后一个字符
	方向键,在文本中移动光标
	
	HOME/END,移动光标到行首/行尾
	Page Up/Page Down,上/下翻页
	
	Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
	ESC,退出输入模式,切换到命令模式

3-底线命令模式

如何进入底线模式?
命令模式下按下英文冒号(:) 就进入了底线命令模式。

* 常用命令:
	:q 退出程序       quit
	:w 保存文件       
	:wq  退出并保存
	:q!  退出不保存
	:set nu  设置行号

二、命令模式操作

1-光标的移动:

1.使用方向移动光标:
	命令模式下:可以使用方向键移动光标
	
2.使用字母:(命令模式)
	l:右
	j:下
	h:左
	k:上
	
3.数字加方向键
	7->:向右7
	其他同理...
	
4.数字加字母键
	7+L:向右7
	其他同理...
	
5.逐个单词移动光标
	w:向前一个单词  word
	b:向后移动一个单词   back
	e:移动到所在单词结尾

2-替换文本

* 命令模式下:

问前查找字符串
	* /+字符串            
	* eg:/class          查找class,光标会移动到查找位置处
	* 继续向前查找:输入n
	* 查找结束:
问后查找字符串
	* /a    查找a           /b    查找b
替换指定字符
	* 
	* 命令模式下按大写R:即可向后替换光标所在的字符
单词替换
	* 将光标定位到单词开头,命令模式输入cw,即可替换

3-复制,粘贴,剪切,删除行

* 命令模式下:

* 复制单个字符(光标所在处):yl        (小写的L)

* 小p:复制到某行后面
* 大P:复制到某行上面

* 剪切单个字符(光标所在处):x

* 复制粘贴单词:yw
	命令模式下:
	先将光标移到单词首字符 然后按:yw
	
* 连续复制多个单词:nyw

** dd:删除该行
练习:

2.用vim打开test.txt并设置行号   
vi /root/test.txt   然后按冒号“:”+set nu

2.	分别向下、向上翻两页
Ctrl+D:向后反页
Ctrl+U:向前翻页

3.	把光标移动到第49行
49G

4.	让光标移动到行末,再移动到行首
Esc 回到命令模式,按0回到行首,按$到行末

5.	移动到test.txt文件的最后一行
命令模式按G

6.	移动到文件的首行
命令模式按gg

7.	搜索文件中出现的 services并数一下一共出现多少个
:%s/services//gn

10. 把从第一行到第三行出现的services 替换成service
1,3s/services/service/g

11. 还原上一步操作
按2次u

12. 把整个文件中所有的light替换成lighting
:1,$s/light/lighting/g

13. 把光标移动到50行,删除字符”#”
50G,将光标移到到#           按x


15. 删除第50行
先到50行50G    再删除该行   dd


17. 删除从37行到42行的所有内容
先到37行37G     再向下删除6行6dd

19.	复制48行并粘贴到52行下面
先到48行48G        复制该行yy      再到52行52G    再按P

21. 复制从37行到42行的内容并粘贴到44行上面
先到37行  37G     再复制6行6yy     到44行44G    按P

24. 把37行到42行的内容移动到19行下面
先到37行37G    再复制6yy     再删除该6行6dd      到19行19G    按p         
       
27. 在第一行下面插入新的一行,并输入”# Hello!”
先到第一行gg      再按o
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值