Что означают %a и # в окне буферов VIM :

Эта информация содержится в " :help :buffers ". Я процитирую это здесь:
Indicators (chars in the same column are mutually exclusive):
u an unlisted buffer (only displayed when [!] is used)
|unlisted-buffer|
% the buffer in the current window
# the alternate buffer for ":e #" and CTRL-^
a an active buffer: it is loaded and visible
h a hidden buffer: It is loaded, but currently not
displayed in a window |hidden-buffer|
- a buffer with 'modifiable' off
= a readonly buffer
+ a modified buffer
x a buffer with read errors
Поэтому, чтобы ответить на ваш конкретный вопрос, «%» означает текущий буфер в окне, в котором находится ваш курсор, когда вы сделали « :buffers ». "a" означает буфер, который вы можете видеть в данный момент. Наконец, «#» - это альтернативный буфер, который обычно означает последний буфер, который вы редактировали.
Кроме того, # и % заменяют буквенные имена файлов при выполнении файлов. Например, при редактировании файла Python, если вы наберете :!python % , он выполняет текущий файл как файл Python. Аналогично, замена % на # запускает альтернативный файл. Очень полезно. :)