http://www.05112.org/school/xtrm/linux/2013/0625/4280.htmlVI打开和编辑多个文件的命令

可分两种情况:

1、在同一窗口中打开多个文件:
 

vi file1 file2 file3

:n  切换到下一个文件 (n=next)

:N  切换到上一个文件

 
2、在不同窗口中打开多个文件:
 

如果已经打开一个了一个文件,

则在vi的命令输入状态下输入 :sp 另外一个文件的路径及文件名,

如此就可以在一个窗口打开多个文件了。

或者用 vi -o file1 file2 file3....用分割屏幕窗口方式同时打开多个文件。

可以使用 ctrl + 两次按 w 或者ctrl + w 然后按上下键在上下窗口间切换。

窗口分割实现编辑多文件

*先使用vi打开一个文件,例如vi actinia_proenrule.sh
 
*分割窗口打开另外的文件
 
命令行模式下输入  sp 另外一个文件 就可以水平分割继续打开第二个文件,如果想纵向分割,可以使用vsp 文件名
 
注:sp=split,vsp=vsplit. 上面的写法是vi支持的简略写法,v实际就是vertical,从中我们可以看出改命令的含义,另外vi不仅仅支持两个文件,还支持更多个文件同时在一个 大的窗口中显示编辑,同时还支持同时打开的两个文件是同一个文件。
*窗口切换

可以使用 ctrl +两次按 w,这样就可以在各个文件中切换
 
之前觉得vi的多文档编辑用着很不方便,现在接触了几个,用过了MiniBufExplorer,发现看着不是很舒服。还是使用ls比较好看一些。
 
:ls  展示全部的打开文档
 
:xn  切换到向下的第x个文档
 
n ctrl+6 : 切换到第n个buffer
 
ctrl+6  或 :e#   回到前一个编辑文件
分屏

:new xxx
 
ctrl+w s   对当前文档内容分屏显示
 
ctrl+w q   关闭所处分屏
 
ctrl+w o   仅显示当前分屏内容
 
ctrl+w j k  上下选择分屏
个人觉得最值得用的命令就是ctrl+w  w 快速在分屏的两个屏幕中切换

下面写的还没用过~看了大家的分享觉得这几个还不错

:n1,n2 co n3: 将n1行到n2行之间的内容拷贝到第n3行下

:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下

:n1,n2 d: 将 n1行到n2行之间的内容删除

:n1,n2 w!command: 将文件中n1行至n2行的内容作为command的输入并执行之,

若不指定n1,n2,则表示将整个文件内容作为command的输入

方式2的优点在可以直接使用nyy和pp命令在各个窗口的文件之间进行拷贝和粘贴,操作比较方便。

 
 
基础命令总结:
:ls或:args  显示编辑名单中的各个文件名
:n 读入编辑名单中的下一个文件
:N 读入编辑名单中的上一个文件
:rew  读入编辑名单中的第一个文件
:e# 读入上一次编辑的文件
:bd 关闭当前编辑的文件,在多个文件编辑中使用。:q是关闭vi窗口,:bd是关闭当前编辑的窗口,相当于子窗口。

:e file   读入另一个文件进vi(此文件可不在编辑名单内),若原文件经修改还没有存档,则应先以:w存档。

:e! file   强迫读入另一个文件进入vi,原文件不作存档动作。
 
 
PS(Postscript):
 
:ls结果列表解释,如图:
 
 
1~8,多个文件的顺序
%a,当前正在编辑的文件
#,上一次编辑的文件
 
 
更多文章:

VI打开和编辑多个文件的命令的更多相关文章

  1. VI打开和编辑多个文件的命令 分屏操作

    VI打开和编辑多个文件的命令 可分两种情况: 1.在同一窗口中打开多个文件: vi file1 file2 file3:n  切换到下一个文件 (n=next):N  切换到上一个文件 2.在不同窗口 ...

  2. VI一个终端编辑多个文件的命令

      可分两种情况: 在不同窗口中打开多个文件:   如果已经打开一个了一个文件, 则在vi的命令输入状态下输入 :sp 另外一个文件的路径及文件名, 如此就可以在一个窗口打开多个文件了.   可以使用 ...

  3. vi 打开文件,行末尾有^M

    原因: Windows下的文本文件的每一行结尾,都有一个回车符('\n')和一个换行符('\r') Linux下的文本文件的每一行结尾,只有一个回车符('\n') Mac下的文本文件的每一行结尾,只有 ...

  4. Linux 添加定时任务,crontab -e 命令与直接编辑 /etc/crontab 文件

    1. 使用 crontab -e 命令编辑定时任务列表 使用这个命令编辑的定时任务列表是属于用户级别的,初次编辑后在 /var/spool/cron 目录下生成一个与用户名相同的文件,文件内容就是我们 ...

  5. Git 使用vi或vim命令打开、关闭、保存文件

    1 vi & vim 有两种工作模式: (1)命令模式:接受.执行 vi & vim 操作命令的模式,打开文件后的默认模式: (2)编辑模式:对打开的文件内容进行 增.删.改 操作模式 ...

  6. Git 使用vi或vim命令打开、关闭、保存文件

    1.vi & vim 有两种工作模式: (1) 命令模式:接受.执行 vi & vim 操作命令的模式,打开文件后的默认模式: (2) 编辑模式:对打开的文件内容进行 增.删.改 操作 ...

  7. windows下编辑过的文件在Linux下用vi打开行尾会多出一个^M符号

    一般情况下,windows下编辑过的文件在Linux下用vi打开行尾会多出一个^M符号,如下图: 这是因为Windows等操作系统用的文本换行符和UNIX/Linux操作系统用的不同,Windows系 ...

  8. PLSQL Developer如何设置自动打开上次编辑的文件

    作为开发人员经常把sql语句保存到文件中以方便下次继续使用,问题是plsqlDev重启后每次都需要手工打开这个文件,好不方便: 以下设置是plsqlDev启动后自动打开上次编辑的文件. 选择配置> ...

  9. .pages怎么在windows上打开?Windows下打开在Mac中编辑的.pages文件方法

    .pages怎么在windows上打开?Windows下打开在Mac中编辑的.pages文件方法 1.最简单的方法是修改后缀名为.zip然后解压,解压后就可以看到一张图片,这个就是文档内容了. 2.更 ...

随机推荐

  1. UVA 10026 Shoemaker's Problem

    Shoemaker's Problem Shoemaker has N jobs (orders from customers) which he must make. Shoemaker can w ...

  2. Objective-C:随机的读取文件中的内容

    可以通过改变当前文件的偏移量来实现文件的读取 -offsetInFile获取文件当前的位移量 -seekToFileOffset:(NSUInteger)length设置文件当前的位移量 -readD ...

  3. C语言:内存的分配与管理

    1.内存区域的划分标准: 代码段             存储代码 数据段             静态/全局数据.常量(const)      堆区(heap)           动态内存分配(更 ...

  4. (转)看懂UML类图和时序图

    从一个示例开始 请看以下这个类图,类之间的关系是我们需要关注的: 车的类图结构为<<abstract>>,表示车是一个抽象类: 它有两个继承类:小汽车和自行车:它们之间的关系为 ...

  5. Oracle数据库信息查询

    查看当前数据库 select name from V$DATABASE; select SYS_CONTEXT('USERENV','INSTANCE_NAME') from dual; 用户 sel ...

  6. 第三章:ES分词简单说明

    1. Index_Analyzer为索引时使用的分词器,search_Analyzer为搜索时使用的分词器 这个索引,对应的数据是下图: 数据格式是用%分隔的年份,"index_analyz ...

  7. iOS_2_button控制物体形变

    终于效果图: BeyondViewController.h // // BeyondViewController.h // 02_button控制物体形变 // // Created by beyon ...

  8. Thread-Local Storage for C99

    线程本地存储(TLS)是一种机制,通过这样的机制进行变量分配.在每一个现存线程都有一个实例变量.这样的执行模型GCC用来实现这个,起源于IA-64处理器,可是已经被迁移到其它的处理器.它须要大量的支持 ...

  9. Oracle 之 表新增字段后修改字段顺序

    工作中遇到:在为一个表新增字段后,新增字段在最后,想调整新增字段的位置. 1.原始方法: --新建临时表以存储正确的顺序 create table A_2 as select (column1,col ...

  10. DOM与JavaScript、jQuery之间的关系

    DOM(document object model) 其实是浏览器内元素对象的一个总称 我们用JavaScript对网页进行的所有操作都是通过DOM进行的.DOM属于浏览器,而不是JavaScript ...