【linux】vi常用快捷键

本文记录vi编辑器的一些快捷操作:
vi +行号 文件名:打开文件并将光标移动指定行的行首
eg:$ vi +6 hello.c
在这里插入图片描述
vi + 文件名:打开文件并将光标移动到最后一行的行首
eg:$ vi + hello.c
在这里插入图片描述
vi +/模式字符串 文件名:打开文件并将光标移动到匹配行的行首
eg:$ vi +/printf hello.c
在这里插入图片描述
命令模式
光标移动命令:
h:光标左移一个字符
j:光标下移一行
k:光标上移一行
l:光标右移一个字符
H:光标移动到当前屏幕的第一行的行首
M:光标移动到当前屏幕的中间行的行首
L:光标移动到当前屏幕的最后一行的行首
G:光标移动到最后一行的行首
n+G:光标移动到第n行的行首
w:光标移动到下一个字的字首。字首指英文单词,标点符号和非字母字符的字首
W:光标移动到下一个字的字首。字首以空格分割的内容,及下一个空格后的内容字首
e:光标移动到字的字尾。字尾指英文单词,标点符号和非字母字符的尾部字尾
E:光标移动到字的字尾。字尾以空格分割的内容,及下一个空格后的内容字尾
b:光标移动到上一个字的字首,字首指英文单词,标点符号和非字母字符字首
B:光标移动到上一个字的字首。字首指以空格分割的内容,及上一个空格后的内容字首
(:光标移动到上一句的开头
):光标移动到下一句的开头
{:光标移动到上一段的开头
}:光标移动到下一段的开头
>+n:将指定的正文行右移8个空格,移动范围由光标所在行和随后输入的n所限定,共移动n+1行
<+n:左移,与右移相反
>>:将光标所在行右移8个空格
n+>>;将光标开始到n-1行右移8个空格,共移动n行
<<:左移与右移相反
n+<<:左移与右移相反
ctrl+u:将屏幕向上滚动半个屏幕
ctrl+d:将屏幕向下滚动半个屏幕
ctrl+f:将屏幕向上滚动一个屏幕
ctrl+b:将屏幕向下滚动一个屏幕

撤销命令:
	u:撤销上一次命令
	U:一次性撤销自上次移动到当前行以来所有的操作

重复命令:
	.:重复上一次命令

插入文本命令:(insert)
	i:插入到光标位置
	I:插入到当前行的行首
	
追加文本命令:(apend)
	a:追加到当前光标之后
	A:追加到当前行的行尾
	
空行插入命令:(open)
	o:光标所在下一行插入空行,光标移动到插入行的行首
	O:光标所在上一行插入空行,光标移动到插入行的行首
	
文本删除操作:
	x:删除光标处的字符
	X:删除光标前面的字符
	dd:删除光标所在行
	D或d$:删除光标位置开始到行尾的内容
	d0:删除光标前一个字符到行首的内容
	dw:删除一个单词
	d回车:删除到下一行结尾的字符,共删除两行
	
文本复制操作:
	yy或Y:复制光标所在行整行
	n+yy或Y:复制n行
	y$:复制从光标处开始到行尾内容
	y0:复制从光标前一个字符到行首内容
	y回车:复制包括当前行到下一行行尾的内容
	yw:复制一个单词

文本黏贴命令:p

文本选择命令:
	v:按v后移动光标选择,按字符选择
	V:按V后移动光标选择,按行选择
	
文本替换命令:
	r:将当前光标处的字符替换为输入字符。如命令模式先将光标移动至需要替换的字符,输入r进入替换,再次输入需要替换		 		的字符完成替换,只替换一个字符
	n+r:将当前光标开始的n个字符替换为输入字符,只替换n个字符
	R:进入replace模式,键入字符提换光标下的字符,直到输入ESC结束

末行模式
:q 退出vi
:q! 强制退出vi,并且不询问保存
:w 写文件
:w! 强制写文件
:wq 写入文件并退出
:x 若当前编辑文件被修改过,则保存文件后退出,否则直接退出
:imj 将i行的内容剪切黏贴到j行下方
:/string 查找字符串string
:n 检索见过当中向下继续查找
:N 检索见过当中向上继续查找
:g/string 列出查找结果
替换命令:
todo
窗口切分:
:spilt 文件名 窗口上下切分,上半部分为新打开的文件,下半部分为原来的文件
:sp 文件名 为spilt命令缩写
切分后可用快捷键进行窗口快速切换:
ctrl+w+j:光标移动到下一个窗口
ctrl+w+k:光标移动到上一个窗口
ctrl+w+q:关闭当前窗口
ctrl+w+w:光标移动到另一个窗口
在这里插入图片描述

设置环境:
	:set hlsearch		高亮查找
	:set nohlsearch	取消高亮查找
	:set nu			显示行号
	:set nonu		不显示行号
	:set audtoindent		语法缩进
	:set backup(nobackup)	文件存储
	:set all	显示所有选项
	:syntax on(off)	语法高亮
	:set ignorecase(noignorecase)	区分大小写
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值