vim是一个很强大的编辑器
在vim下可以同时代打开多个文件
一、在vim编辑器中可以同时打开多个文件,基本命令如下:
假设你现在想编辑 a.txt文件 和 b.txt文件
1)vi a.txt b.txt
2): n 下一个文件;
3):N 上一个文件 ;
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 -
二、复制粘贴
复制内容到选择缓冲区。
- 带行号时,使用鼠标选择内容区域。
- 不要行号,使用 “yny 复制n行或可视模式下选择,如果复制成功,会提示你复制了几行。
将选择缓冲区中内容粘贴到vim文件:普通模式下按 “p
剪切一个文件命令 mv, 复制一个文件的命令 cp;
三、查询动态链接库依赖于那个文件:
dnf whatprovides libz.so.1
来源 :fedora
匹配来源:
提供 :libz.so.1
dnf install zlib-1.2.8-3.fc20.i686
多个文件压缩打包 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 进程号