- Mastering Vim
- Ruslan Osipov
- 427字
- 2021-06-10 18:51:27
Buffers
Buffers are internal representations of files. Every file you open will have a corresponding buffer. Let's open a file from the command line: vim animal_farm.py. Now, let's see a list of existing buffers:
:ls
Here's what the output of :ls looks like (see the bottom three lines):
The status bar shows some information about the buffers we have open (we only have one right now):
- 1 is the buffer number, and it'll stay constant throughout the Vim session
- % indicates that the buffer is in the current window (see the Windows section)
- a signals that the buffer is active: it's loaded and is visible
- "animal_farm.py" is the filename
- line 1 is the current cursor position
Let's open another file:
:e animals/cat.py
You can see that the file we initially opened is nowhere to be seen and has been replaced with the current file. However, animal_farm.py is still stored in one of the buffers. List all of the buffers again:
:ls
You can see both filenames listed:
How do we get to the file, then?
Vim refers to buffers by a number and a name, and both are unique within a single session (until you exit Vim). To switch to a different buffer, use the :b command, followed by the number of the buffer:
:b 1
Voila, you're taken back to the original file! Since buffers are also identified by a filename, you can switch between them using partial filenames. The following will open the buffer containing animals/cat.py:
:b cat
However, if you have more than one match, you'll get an error. Try looking for a buffer with a filename containing py:
:b py
As you can see in the following screenshot, the status line displays an error:
That's when you can use tab completion to cycle through the available options. Type in :b py (without hitting Enter) and press the Tab key to cycle through the available results.
You can also cycle through buffers using :bn (:bnext) and :bp (:bprevious).
Once you're done with the buffer, you can delete it, hence removing it from the list of open buffers without quitting Vim:
:bd
This will return an error if the current buffer is not saved. Hence, you'll get a chance to save the file without accidentally deleting the buffer.
- Web程序設(shè)計(jì)及應(yīng)用
- Spring 5.0 Microservices(Second Edition)
- Apache ZooKeeper Essentials
- JMeter 性能測試實(shí)戰(zhàn)(第2版)
- 小程序開發(fā)原理與實(shí)戰(zhàn)
- Android Native Development Kit Cookbook
- Delphi開發(fā)典型模塊大全(修訂版)
- Scala Functional Programming Patterns
- 嵌入式Linux C語言程序設(shè)計(jì)基礎(chǔ)教程
- Visual Basic語言程序設(shè)計(jì)基礎(chǔ)(第3版)
- 實(shí)驗(yàn)編程:PsychoPy從入門到精通
- 優(yōu)化驅(qū)動的設(shè)計(jì)方法
- Java EE程序設(shè)計(jì)與開發(fā)實(shí)踐教程
- Mastering JavaScript Promises
- JavaScript高級程序設(shè)計(jì)(第4版)