VI命令详解(大全)

文章分类:操作系统

文本编辑器是所有计算机系统中最常用的一种工具。UNIX下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi,而vi命令繁多,论坛里好像这方面的总结不多,以下稍做总结,以资共享!渴望更正和补充!

进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename :打开多个文件,依次进行编辑

more.. less.. 移动光标类命令
h :光标左移一个字符
l :光标右移一个字符
space:光标右移一个字符
Backspace:光标左移一个字符
k或Ctrl+p:光标上移一行
j或Ctrl+n :光标下移一行
Enter :光标下移一行
w或W :光标右移一个字至字首
b或B :光标左移一个字至字首
e或E :光标右移一个字至字尾
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
nG:光标移至第n行首
n+:光标下移n行
n-:光标上移n行
n$:光标移至第n行尾
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾

屏幕翻滚类命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

插入文本类命令
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
ncw或nCW:修改指定数目的字
nCC:修改指定数目的行

删除命令
ndw或ndW:删除光标处开始及其后的n-1个字
do:删至行首
d$:删至行尾
ndd:删除当前行及其后n-1行
x或X:删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u:删除输入方式下所输入的文本

搜索及替换命令
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
:s/p1/p2/g:将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换

选项设置
all:列出所有选项设置情况
term:设置终端类型
ignorance:在搜索中忽略大小写
list:显示制表位(Ctrl+I)和行尾标志($)
number:显示行号
report:显示由面向行的命令修改过的数目
terse:显示简短的警告信息
warn:在转到别的文件时若没保存当前文件则显示NO write信息
nomagic:允许在搜索模式中,使用前面不带“/”的特殊字符
nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始
mesg:允许vi显示其他用户用write写到自己终端上的信息

最后行方式命令
:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d :将n1行到n2行之间的内容删除
:w :保存当前文件
:e filename:打开文件filename进行编辑
:x:保存当前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:!command:执行shell命令command
:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入
:r!command:将命令command的输出结果放到当前行

寄存器操作
"?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字
"?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字
"?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字
"?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字
ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。

转载于:https://www.cnblogs.com/iapp/archive/2010/04/24/3631876.html

VI命令详解(大全)相关推荐

  1. linux的vi命令详解,Linux上Vi命令详解

    Linux下Vi命令详解 补充一点:在vi中使用命令的方法是:冒号+命令+回车,如:q 回车代表退出.================================================= ...

  2. 华为交换机关机方法_华为交换机启动配置命令详解大全

    华为交换机启动配置命令详解大全 1.自动保存配置 [Huawei]set save-configuration ? backup-to-server  Back up the configuratio ...

  3. Linux的sed命令详解大全

    Linux的sed命令详解大全 一.sed命令介绍 二.sed 的运行模式 三.sed的相关选项 四.sed基本用法 1.sed语法 2.sed的查看功能 ①查看passwd文件的第5到第8行内容 ② ...

  4. <Linux>《Linux 之 ps 命令详解大全(含实用命令)》

    <Linux 之 ps 命令详解大全(含实用命令)> 1 常用命令 1.1 显示所有当前进程 1.2 显示所有当前进程 1.3 显示所有当前进程 1.4 根据用户过滤进程 1.5 根据 C ...

  5. linux/mac vi命令详解

    linux vi命令详解 刚开始学着用linux,对vi命令不是很熟,在网上转接了一篇. vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介 ...

  6. linux命令--VI命令详解(一)

    进入VI命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一 ...

  7. Linux—vi命令详解

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相 ...

  8. Linux之VI命令详解

    vi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件.当然,对UNIX系统略有所知的人, 或多或少都觉得vi超级难用,但vi是最基本的编辑器,所以希望读者能好好把它学起 ...

  9. Unix Vi 命令详解

    进入vi的命令 vi  filename   :打开或新建文件,并将光标置于第一行首 vi  +n filename  :打开文件,并将光标置于第n行首 vi  + filename    :打开文件 ...

最新文章

  1. Linux7-常用文件管理命令及系统变量基础
  2. 生产者和消费者代码———操作系统_kafka如何保证高并发(从生产者、消费者角度)...
  3. python综合学习一之多线程
  4. OXY OPENCART 商城自适应主题模板 ABC-0020-05
  5. Netcdf中多变量导出代码示例
  6. java项目没有bin_WebAPI项目似乎没有将转换后的web.config发布到bin文件夹?
  7. python scrapy框架爬虫_Python Scrapy爬虫框架
  8. ROS学习(十七)安装ARDUINO IDE使用rosserial
  9. JS操作iframe元素
  10. 通用权限管理系统组件 (GPM - General Permissions Manager) 中灵活经典的.NET2.0数据库访问组件,附源码...
  11. windows php7怎么配置,PHP7在windows7中的环境配置详解
  12. 带约束优化之惩罚函数法
  13. FPGA数字钟项目总结
  14. 工具-如何屏蔽浏览器中的广告(Adblock Plus(广告屏蔽器))
  15. 嫌赚钱太慢,来炒币啊!
  16. SystemVerilog中的Events事件
  17. 解析 通证经济的分类及用途
  18. 机器自动翻译古文拼音 - 十大宋词 - 扬州慢 淮左名都 姜夔
  19. Safari 手机浏览器无法下载的问题
  20. maya mel uf8_maya中mel文件如何使用?

热门文章

  1. linux中nohup命令_Linux中的Nohup命令
  2. IntelliJ IDEA功能和惊喜赠品
  3. sql 子查询 嵌套查询_SQL子查询– SQL中的嵌套查询
  4. 排序算法python实现_用Python,Java和C / C ++实现的选择排序算法
  5. mac memcached_如何在Mac OS上安装Memcached Server
  6. jquery 停止动画_jQuery停止动画
  7. jitpack发布_JitPack –发布您的Android库
  8. 不同级别的Java开发人员的应聘要求
  9. C++基础教程之重载运算符和重载函数
  10. MockWebServer--环境