Автоматически энергия выхода, если NERDTree является последним и только буферизует

У меня есть следующее в моем .vimrc:

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Open NERDTree by default
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
autocmd VimEnter * NERDTree
autocmd VimEnter * wincmd p

Так,

% vim file.txt

открывает NERDTree и фокусирует курсор в буфере file.txt. Я делаю свои редактирования и совершаю нападки: q на буфере, и со мной оставляют... NERDTree. Это является раздражающим.

Я мог использовать: обеспечение качества для закрытия всех буферов и энергии выхода но я привык к: q троп. Таким образом, я задаюсь вопросом, существует ли способ обнаружить, что единственный остающийся буфер является NERDTree, и "объедините" два буфера в целях: q

Править

Спросите и необходимо получить: https://github.com/scrooloose/nerdtree/issues#issue/21

50
задан g33kz0r 29 December 2010 в 06:24
поделиться

3 ответа

Вы могли бы : CABBRV Q QA , но я советую против этого, потому что вы забудете об этом, когда вы действительно хотите Q .

0
ответ дан 7 November 2019 в 10:47
поделиться

Идея нуждается в реализации:

Вы можете написать функцию, которая, когда вызывается, проверяет, остается ли единственный буфер (или, возможно, единственный буфер без помощи, если вы предпочитаете) - буфер Nerdtree и, если Итак, удаляет его (или просто выйти).

Затем у вас есть AutoCMD, когда буфер удален / скрыт / все, что на самом деле происходит, когда вы: q (оно снимает меня, чтобы признать, что я не совсем уверен!).

1
ответ дан 7 November 2019 в 10:47
поделиться

Для более тяжелой инициализации это обычно выполняется в событии загрузки. Конструкторы обычно используются для быстрой, простой инициализации полей. Если необходимо выполнить вызов метода, например, для внешней зависимости, необходимо выполнить его из загрузки.

-121--3879877-

Это зависит от типа инициализации. Например, простая инициализация поля может быть выполнена в конструкторе, что избавляет вас от необходимости подключать событие, иметь дополнительный метод и т.д.

Однако в некоторых случаях конструктор не имеет нужной информации. Например, если требуется выполнять различные действия в зависимости от режима разработки или запуска. (например, в режиме выполнения вы будете подключаться к источнику данных, но в режиме разработки вы хотите отобразить образцы данных), то это должно быть отложено до завершения конструирования, поскольку рамка не устанавливает Режим проектирования до создания объекта.

-121--3879879-

Я хотел бы сделать это: cmap bq: bufdo q < CR > , чтобы закрыть все буферы двумя нажатиями клавиш в командном режиме.

0
ответ дан 7 November 2019 в 10:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: