Linux基础工具之vim[基础用法干货:三种模式,块选择,vim文件窗口,文件对比]

vi分三种模式:一般模式,编辑模式,命令行模式。

  1. 一般模式,一般在进入文件时就是该模式,在此模式中,可以通过上下左右键移动光标,可以删除字符或是删除整行,可以复制粘贴,但不能编辑。
  2. 编辑模式:一般模式可以复制粘贴删除,但要编辑,需按下i,I,o,O,a,A,r,R等字母,才会进入编辑模式,按下按钮后,屏幕左下方会出现INSERT或REPACE等字样,如果要回到一般模式,按Esc键。
  3. 命令行模式,在一般模式下输入“:”或“/”就可以将光标移到末行,在此模式中,可以搜寻数据,读取,存盘,大量字符替换,退出vi,显示行号等。

一、常用指令简介

1. 一般模式

①光标

在这里插入图片描述

h 	方向左键
j   	方向下键
k  	方向上键
l   	方向下键
ctrl+f 向前翻动一页
ctrl+b 前后翻动一页
0		行首/移动到此行的一个字符处
$		行尾/移动到此行的最后一个字符
e		以词为单位往后跳
n+enter	光标下移n行
②查找 替换
/word		在光标之后查找一个word的字符串
?word		在光标之前查找一个word的字符串
n		继续向下查找
N		继续向上查找

:s/str1/str2/		替换当前行第一个 str1 为 str2
:s/str1/str2/g		替换当前行中所有 str1 为 str2
:m,ns/str1/str2/	替换第 n 行开始到最后一行中每一行的第一个 str1 为 str2
:m,ns/str1/str2/g	替换第 n 行开始到最后一行中所有的 str1 为 str2
:1,$s/mpks/mpkss/g	将第一行到最后一行的mpks都替换成mpkss
:1,$s/word1/word2/gc	从第一行到最后一行查找word1并替换为word2,在替换前显示提示符,让用户确认
其他:
:%s/str1/str2/(等同于 :g/str1/s//str2/) 替换每一行的第一个 str1 为 str2
:%s/str1/str2/g(等同于 :g/str1/s//str2/g 和 :1,$ s/str1/str2/g ) 替换文中所有 str1 为 str2
③删除 复制 粘贴 恢复 撤销
x,X		x向后删除一个字符  X向前删除一个字符
nx		向后删除n个字符
d		删除命令,根据光标删除“如d0, d$, dw
dd		删除光标所在的整行
ndd       删除光标所在列的向下n列
yy		复制光标所在行(删除指令d的用法类似)
nyy       复制光标所在行的向下n行
p, P		p复制的数据粘贴在光标下一行,P上一行
u		恢复上一个动作,可以撤销多次
U  		撤销对一行所做的改变
:e!   		恢复文件至最初打开的状态

2. 编辑模式

i ,I       插入:在当前光标所在处插入输入的文字,已存在的字符会向后退
a,A     添加 :由当前光标所在处的下一个字符开始输入,已存在的字符向后退
o ,O    插入新的一行,从光标所在处的下一行行首开始输入
r,R      替换:r会替换光标所指的那一个字符,R会一直替换光标所指的文字,知道案下esc
esc        返回一般模式

3. 命令行模式

:w       保存
:w!   若文件为只读,强制写入
:q       推出vi
:wq    保存推出
:w [filename] 保存为另一文件

二、场景工具

1. 块选择修改列

注: 我一般用于选择列批量注释取消注释

ctrl v	: 选中块
操作
E:当前坐标位置,选中多行
I:编辑模式
ESC返回修改结果

2. 编辑页面同时打开另一个文件

两种方式打开新页面
vnew new_file.txt		当前vim终端水平方向同时打开另一个new_file.txt文件
:e new_file.txt			当前vim页面切换为新文件位置

通过:e打开的文件需要显示多个多个文件可以使用以下命令
:sp         # 水平切分窗口
:vsplit     # 垂直切分窗口

以上打开多个文件后可以使用以下命令切换
Ctrl+6			# 当前窗口文件间的切换
Ctrl+w			# 窗口切换
Ctrl+w+方向键	# 文件窗口切换:前/下/上/后一个窗格

3. 比对两个文件

vimdiff file1.txt file2.txt		# 比对两个文件
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值