«Practical Vim» 3

Thursday, December 3, 2015

缓存区

查看缓存区

:ls查看当前被载入内存的缓存区 :bnext切换到下一个缓存区 %代表哪个缓存区在当前窗口可见 #代表轮换缓冲区 <C-^>在当前缓冲区和轮换缓冲区中切换

切换缓存区

:bprev == :bprevious 切换到上一个缓存区 :bnext == :bNext 切换到上一个缓存区 :bfirst 切换到第一个缓存区 :blast 切换到最后一个缓存区 使用:ls查看缓存区列表的时候,每一项前面有一个数字,这是vim在创建缓存区的时候给分配的,我们可以使用:buffer N来使某一个缓存区在当前页面显示出来。或者用更加直观的::buffer {bufname}其中的{bufname}只要是缓存区名字中能唯一标识

删除缓存区

先说明,删除缓存区并不会对文件产生任何影响,只是将内存中的那份副本给删除了。删除缓存去使用的命令是:bdelete,可以简写成:bd,其有两种用法::[range]bd/:bd N1 N2 N3 ...第一种用法是删除[range]所包含的缓存区,比如:3,6bd表示删除标号为3、4、5、6的缓存区。第二种用法是删除单个的缓存区。没有什么好说的。一般情况下我们是不需要去删除缓存区的,所以这几个命令用得也不多噢~

使用参数列表将缓存区分组

:args可以查看vim中的参数列表,输出中[]将标识处当前那个文件为活动文件,使用:argdo可以在每一个缓存区上运行一条EX命令.参数列表是vi遗留下来的功能,但是在vim中这个功能也有所增强,虽然与缓存区列表相比,参数列表显得有点寒酸,但请给他一个机会,它是缓存区列表一个强有力的补充 使用args {argList}可以修改vim的参数列表,其中{argList}可以是文件名、文件通配符、某个命令的输出(使用反引号);比如:args index.html app.js,这个命令会将后面所带的两个文件也加入到缓存区中,如果是大量文件,可以使用文件通配符。说到文件通配符,我们就能引出下一个话题了

Glob模式指定文件

和在shell中一样,*代表匹配0个或多个字符,并且它不能递归目录,与shell中不太一样的是:**可以匹配0个到任意个字符,并且他能递归进目录中,在上一个技巧中,我们正好可以使用这两个通配符来将大量文件加入缓存区中了。

窗口分割

创建分割窗口

<C-w>s水平分割窗口,<C-w>v垂直分割窗口,大屏幕必备神器。 以上两个key map 分别对应两个命令::sp[lit]{file}:vsp[lit]{file}.

窗口间切换

<C-w>w在窗口间循环切换 <C-w>h/j/k/l切换打左/下/上/右边的窗口 实际上<C-w><C-w/h/j/k/l>效果与后一个字符不使用<C>是一样的

关闭窗口

最简单的是:q是关闭当前的窗口。 还有:clo[se]也是关闭当前窗口。 而:on[ly]是只保留当前窗口,关闭其他窗口。

调节窗口大小

<C-w>=使得所有窗口等宽等高 <C-w>_最大化当前窗口的高度 <C-w>|最大化当前窗口的宽度 [N]<C-w>_把活动窗口的高度设置为[N]行 [N]<C-w>|把活动窗口的宽度设置为[N]列 [N]<C-w>>把活动窗口的大小调大[N] [N]<C-w><把活动窗口的大小调小[N] vim也支持窗口重新排列,请查阅:h window-moving

使用标签页

切换窗口的工作目录

lcd {path}可以设置当前窗口的本地工作目录 lcd只是作用在了当前窗口,而没有改变整个标签,如果一个标签包含了两个或者更多的窗口,我们可以使用windo lcd {path}来作用到所有这些窗口上

创建标签

tabedit {filename}打开一个新标签,并在这个标签中打开{filename},如果没有加这个参数,那么会打开一个新标签,里面包含一个空缓存区。 如果当前标签页中不止一个窗口,那么可以使用<C-w>T来将当前活动窗口移动到新的标签中。

关闭标签

如果标签中只有一个窗口,那么使用:q/:close/tabclose都可以关闭一个标签 同样我们也可以使用:tabonly只保留当前活动的标签。

标签间的切换

标签的开始标号是1,我们可以使用[N]gt在标签间跳转,如果省略掉[N]那么将会跳转到下一个标签,gT作用一样,不过是反向跳转 其对应的命令分别是: :tabn[ext] {N} -> {N} gt :tabn[ext] -> gt :tabp[revious] -> gT

重新排列标签

:tabmove [N]可以重新排列标签页,当[N]为0时,标签被移动到开头,如果省略[N],标签将被移动到最后

VimVim

«Practical Vim» 4

沟通的艺术课后感

comments powered by Disqus