博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vi 编辑器常用命令
阅读量:6081 次
发布时间:2019-06-20

本文共 1439 字,大约阅读时间需要 4 分钟。

VI编辑器可以分为3种状态,它们分别是命令模式、输入模式以及末行模式,VI运行后默认进入命令模式。

命令模式:控制屏幕光标的移动,字符、单词或行的删除、替换,复制粘贴数据以及由此进入插入模式和末行模式。

输入模式:在命令模式下,用户输入的字符都会被VI当作命令解释执行。如果用户把输入的字符当作文本内容,则必须要先进入输入模式。在命令模式下按下 a,i,o键,即可进入输入模式。在输入模式下按下Esc键可返回命令模式。

末行模式:在命令模式下,按下“:”键即可进入末行模式,此时VI会在显示窗口的最后一行显示一个":"提示符,用户可在此输入命令。在该文件下可以保存文件,退出VI,也可以查找并替换字符、列出行号、跳到指定行号的行等。命令完成后会自动返回命令模式,可可以手动按下Esc键返回。

进入输入模式几种方式

i:在当前光标所在处前插入文本。

I:将光标移动到当前行的行首,并在行首前插入文本。

a:在当前光标所在处之后插入文本。

A:将光标移动到当前行的末行,并在末行之后插入文本。

o:在光标所在行的下面新插入一行,并将光标移动到新行的行首插入文本。

O:在光标所在行的上面新插入一行,并将光标移动到新行的行首插入文本。

 

命令行模式下

0或^:移动光标到当前行的行首。

$:移动光标到当前行的行末。

dd:删除光标所在行。

do:删至行首 

d$:删至行尾 

u 撤消最后一次修改 

U 撤消当前行的所有修改

. 重复最后一次修改

搜索字符串使用/或?,/表示向下搜索,?表示向下搜索

例如从开始位置向下搜索"bind-address",可以使用/bind-address 然后按Enter键,n键是查找下一个,N查找上一个,如果搜索的内容包含特殊字符可以使用转移符号"\"

 

替换字符串

:s/str1/str2/  #用字符串str2换行中首次出现的字符串str1

:s/str1/str2/g #用字符串str2替换行中所有出现的字符串str1

:.,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1

:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1

:g/str1/s//str2/g 功能同上从上述替换命令,可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

复制当前行使用yy

粘贴已复制的行p

 

末行模式命令

命令行模式输入":"进入末行模式

w  保存当前文件。

w!  强制保存。

q  退出vi。

q!  不保存文件退出vi。

n  移动光标到第n行,n为行号。

ctrl + g 可以知道cursor的那一行的行数

shift+g可以到最后一行

末行模式输入:set nu回车可显示行号

末行模式下直接输入行号后回车可将光标定位到指定行

 

 

ssh 进入终端(terminal)后

Ctrl+e 将光标移至末尾

Ctrl+a 将光标移至首位

Ctrl+k 删除此处至末尾所有内容

Ctrl+u  删除此处至开始所有内容

Ctrl-L 清除当前屏幕

Ctrl-C -杀死当前任务

复制为ctrl-shift-c

粘贴为ctrl-shift-v

tab=补全

 

转载于:https://www.cnblogs.com/weiok/p/4642012.html

你可能感兴趣的文章
SQL Server 2014新特性——Buffer Pool扩展
查看>>
需求的陷阱
查看>>
系统架构简单图解
查看>>
浅谈加密技术
查看>>
centOS7下安装GUI图形界面
查看>>
一张图透析阿里云API应用创新大赛
查看>>
sql重复行求和
查看>>
Microsoft Dynamics CRM 2013 and 2011 Update Rollups and Service Packs
查看>>
transient的理解
查看>>
python中if __name__ == '__main__': 介绍
查看>>
HackRF实现无线门铃信号分析重放
查看>>
Windows源码安装PyTorch 0.4
查看>>
AI开发者福音!阿里云推出国内首个基于英伟达NGC的GPU优化容器
查看>>
CentOS6安装和配置rsync
查看>>
在真机里安装 ubuntu 14.04和一些常用的软件(二)
查看>>
python2.6升级到2.7
查看>>
Unity SLua 如何调用Unity中C#方法
查看>>
MyBatis排序时使用order by 动态参数时需要注意,用$而不是#
查看>>
linux基础命令-查看系统状态-free -m以及top命令详解
查看>>
动态代理
查看>>