如何在vi下同时打开多个文件

vim是一个很强大的编辑器

在vim下可以同时代打开多个文件

一、在vim编辑器中可以同时打开多个文件,基本命令如下:

假设你现在想编辑 a.txt文件 和  b.txt文件

1)vi   a.txt    b.txt 

2): n 下一个文件;

3):上一个文件 ;

4):wq! 全保存并退出 ;

5):split (简写 :sp)设置水平分屏;

6):vsplit(简写 :vsp)设置垂直分屏 ;

7):only 取消分屏 ;

8)ctrl + ww 后一个文件 ,Ctrl + wp 前一个文件 ,其实你用其中的一个命令就可以进行切换。

 补充:

 分屏启动Vim
 使用大写的O参数来垂直分屏。
 vim -On file1 file2 ...
 使用小写的o参数来水平分屏。
 vim -on file1 file2 ...
 注释: n是数字,表示分成几个屏。

 关闭分屏 
 关闭当前窗口。
 Ctrl+W c
 关闭当前窗口,如果只剩最后一个了,则退出Vim。
 Ctrl+W q
 分屏
 上下分割当前打开的文件。
 Ctrl+W s
 上下分割,并打开一个新的文件。
 :sp filename
 左右分割当前打开的文件。 
 Ctrl+W v
 左右分割,并打开一个新的文件。
 :vsp filename
 移动光标
 Vi中的光标键是h, j, k, l,要在各个屏间切换,只需要先按一下Ctrl+W


 把光标移到右边的屏。
 Ctrl+W l
 把光标移到左边的屏中。
 Ctrl+W h
 把光标移到上边的屏中。
 Ctrl+W k
 把光标移到下边的屏中。
 Ctrl+W j
 把光标移到下一个的屏中。.
 Ctrl+W w
 移动分屏
 这个功能还是使用了Vim的光标键,只不过都是大写。当然了,如果你的分屏很乱很复杂的话,这个功能可能会出现一些非常奇怪的症状。


 向右移动。
 Ctrl+W L
 向左移动 
 Ctrl+W H
 向上移动 
 Ctrl+W K
 向下移动 
 Ctrl+W J
 屏幕尺寸
 下面是改变尺寸的一些操作,主要是高度,对于宽度你可以使用Ctrl+W <或是>,但这可能需要最新的版本才支持。

 让所有的屏都有一样的高度。
 Ctrl+W =
 增加高度。
 Ctrl+W +
 减少高度。
 Ctrl+W -


二、复制粘贴  

  1. 复制内容到选择缓冲区。

    • 带行号时,使用鼠标选择内容区域。
    • 不要行号,使用 “yny 复制n行或可视模式下选择,如果复制成功,会提示你复制了几行。
  2. 将选择缓冲区中内容粘贴到vim文件:普通模式下按 “p 

  3. 剪切一个文件命令  mv, 复制一个文件的命令 cp;

三、查询动态链接库依赖于那个文件:

       dnf   whatprovides libz.so.1

    zlib-1.2.8-3.fc20.i686 : The compression and decompression library
    来源    :fedora
    匹配来源:
    提供    :libz.so.1

    从打印信息中得知缺少库zlib-1.2.8-3.fc20.i686
     dnf install zlib-1.2.8-3.fc20.i686

四、linux多个文件压缩打包到一个压缩文件 

   多个文件压缩打包 tar czvf my.tar.gz file1 file2,...(file*)

五、在vim下搜索关键字

/[关键字]

按(shift +8)表示从上向下搜索

按(shift + 3)表示从下向上搜索


六、关于折叠操作

set foldmethod=indent "set default foldmethod


  zi 打开关闭折叠(打开关闭所有折叠)
zv 查看此行
zm 关闭折叠
zM 关闭所有
zr 打开
zR 打开所有
zc 折叠当前行
zo 打开当前折叠
zd 删除折叠
zD 删除所有折叠


七 、通过该种方式可非常方便各文件内容之间的复制与剪切操作,这里顺便简单提一下复制,剪切与粘贴操作命令

yy     复制光标所在行

dd     剪切光标所在行

5yy    复制从光标所在行开始计数的下五行文本

5dd    剪切从光标所在行开始计数的下五行文本

v(小写)      visual模式,通过上下左右键选择光标“扫过”的所有字符

V (大写)    visual line 模式,通过上下键选择光标“扫过”的所有行

ctrl + v        visual block 模式,通过上下左右键选择一个矩形文本

y    复制在visual模式, visual line模式和visual block 模式下选择的文本

d    剪切在visual模式, visual line模式和visual block 模式下 选择的文本

p(小写)  粘贴,  粘贴位置为光标所在行的下一行

P(大写)  粘贴,  粘贴位置为光标所在行的上一行

u: 撤销操作

r: 重做操作


八、如果你想在当前目录下 查找"hello,world!"字符串,可以这样: 

grep -rn "hello,world!" * 

* : 表示当前目录所有文件,也可以是某个文件名

-r 是递归查找

-n 是显示行号

-R 查找所有文件包含子目录

-i 忽略大小写


下面是一些有意思的命令行参数: 

grep -i pattern files :不区分大小写地搜索。默认情况区分大小写, 

grep -l pattern files :只列出匹配的文件名, 

grep -L pattern files :列出不匹配的文件名, 

grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’), 

grep -C number pattern files :匹配的上下文分别显示[number]行, 

grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行, 

grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。


九、杀死一个进程

kill -s 9 进程号

你可能感兴趣的:(如何在vi下同时打开多个文件)