用户工具

站点工具


linux:vim:buffer

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

linux:vim:buffer [2010/06/02 01:18] (当前版本)
行 1: 行 1:
 +====== VIM 缓冲区(Buffer) ======
 +
 +<​html>​
 +<​p>​缓冲区(Buffer)是一块内存区域,里面存储着正在编辑的文件。如果没有把缓冲区里的文件存盘,那么原始文件不会被更改。</​p><​p style="​font-weight:​ bold;">​列示缓冲区</​p><​p><​code class="​inset">:​buffers</​code>​命令将会列出当前编辑中所有的缓冲区状态。在这个状态列表中,前面的数字是缓冲区的数字标记,第二个标记就是缓冲区当前的状态,紧接着是与缓冲区所关联的文件名。有如下几种状态:</​p><​p>​- (非活动的缓冲区)<​br>​a (激活缓冲区)<​br>​h (隐藏的缓冲区)<​br>​% (当前的缓冲区)<​br>#​ (交换缓冲区)<​br>​ = (只读缓冲区)<​br>​+ (已经更改的缓冲区)</​p><​p style="​text-align:​ center;">​
 +<img src="​http://​farm3.static.flickr.com/​2616/​3751683098_80d3979da8_o.png"​ alt="​Buffers"​ height="​103"​ width="​385">​ </p>
 +<p style="​font-weight:​ bold;">​打开缓冲区</​p><​p>​如果要选择一个缓冲区,可以使用<​code class="​inset">:​buffer number</​code>​命令,number就是缓冲区状态列表中所显示的数字。我们也可以用文件名来选择缓冲区:<​code class="​inset">:​buffer file</​code>​。</​p>​
 +
 +<​p>​我们可以用<​code class="​inset">:​sbuffer number</​code>​命令,来分割当前窗口开始编辑一个缓冲区。如果指明了数字,那么当前窗口就会显示数字所标记的缓冲区中的内容;如果没有指明数字,那么就会显示当前缓冲区的内容。当然,这个命令也可以用文件名来做为参数。</​p><​p>​使用<​code class="​inset">:​ball</​code>​命令可以为每一个缓冲区打开一个窗口。</​p>​
 +
 +<p style="​font-weight:​ bold;">​切换缓冲区</​p><​p><​code class="​inset">:​bnext</​code>​到下一个缓冲区;<​code class="​inset">:​bprevious</​code>​或<​code class="​inset">:​bNext</​code>​到前一个缓冲区;<​code class="​inset">:​blast</​code>​到最后一个缓冲区;<​code class="​inset">:​bfirst</​code>​到第一个缓冲区。</​p><​p style="​font-weight:​ bold;">​增加缓冲区</​p><​p>​在编辑的过程中,可以用<​code class="​inset">:​badd filename</​code>​命令新增一个缓冲区。指定的文件会被加到缓冲区列表中,对这个文件的编辑过程只有切换到那个缓冲区时才会开始。在这个命令中,还可以指明为这个缓冲区打开窗口时,光标所处的位置<​code class="​inset">:​badd +linenum filename</​code>​。</​p><​p style="​font-weight:​ bold;">​删除缓冲区</​p>​
 +
 +<​p>​可以使用<​code class="​inset">:​bdelete filename</​code>​、<​code class="​inset">:​bdelete 3</​code>​或<​code class="​inset">:​3 bdelete</​code>​命令来删除一个缓冲区。也可以用<​code class="​inset">:​1,​3 bdelete</​code>​命令来删除指定范围的缓冲区。</​p><​p>​如果缓冲区被改动过,那么该命令将失败,除非使用!选项。如果使用了带!选项的<​code class="​inset">:​bdelete! filename</​code>​命令,那么在缓冲区中的所有改动都会被放弃。</​p><​p style="​font-weight:​ bold;">​卸载缓冲区</​p><​p>​命令<​code class="​inset">:​bunload</​code>​会从内存中卸载一个缓冲区,所有为这个缓冲区打开的窗口也会关闭。但是这个文件名仍然会存在于缓冲区列表中。如果缓冲区被改动过,那么该命令将失败,除非使用!选项,但是这样所有的改动都会丢失。</​p><​table summary="​Commands"​ border="​2"​ cellpadding="​3"​ cellspacing="​0"​ frame="​hsides"​ rules="​all"><​caption>​命令小结</​caption><​tbody><​tr><​td><​code class="​inset">:​buffers</​code></​td><​td>​列示缓冲区状态</​td></​tr><​tr><​td><​code class="​inset">:​buffer</​code></​td><​td>​编辑指定缓冲区</​td></​tr><​tr><​td><​code class="​inset">:​ball</​code></​td><​td>​编辑所有缓冲区</​td></​tr><​tr><​td><​code class="​inset">:​bnext</​code></​td><​td>​到下一缓冲区</​td></​tr><​tr><​td><​code class="​inset">:​bprevious</​code></​td><​td>​到前一缓冲区</​td></​tr><​tr><​td><​code class="​inset">:​blast</​code></​td><​td>​到最后一个缓冲区</​td></​tr><​tr><​td><​code class="​inset">:​bfirst</​code></​td><​td>​到第一个缓冲区</​td></​tr><​tr><​td><​code class="​inset">:​badd</​code></​td><​td>​增加缓冲区</​td></​tr><​tr><​td><​code class="​inset">:​bdelete</​code></​td><​td>​删除缓冲区</​td></​tr><​tr><​td><​code class="​inset">:​bunload</​code></​td><​td>​卸载缓冲区</​td></​tr></​tbody></​table>​
 +</​html>​
  
linux/vim/buffer.txt · 最后更改: 2010/06/02 01:18 (外部编辑)