Переключение буферов в Vim

Я недавно переключился с Emacs на Vim, так что, может быть, я совершенно не понимаю, как работает Vim.

Я открыл файл в Vim и внес некоторые изменения, но не сохраняю их. Затем я использую :e otherfile, чтобы открыть второй файл и внести в него некоторые изменения. Опять же, не сохраняя изменения, я бы хотел вернуться к первому буферу. Я использую :bn для этого, но когда я получаю E37: No write since last change .... Если я сделаю :bn!, то смогу вернуться к первому буферу. Из первого буфера я могу перейти обратно ко второму буферу с прямым :bn, но мне нужно сделать :bn!, чтобы каждый раз переходить из второго буфера в первый.

У меня есть set bufhidden=hide в моем vimrc, но если я запускаю :set bufhidden? в Vim, я получаю bufhidden=. Возможно, это проблема?

Редактировать: Я немного сузил проблему. В первом файле :set bufhidden? возвращает bufhidden=hide, но во втором файле возвращает bufhidden=. Что с этим? Я что-то упускаю из фундаментальных буферов Vim?

Edit2: Хорошо, похоже, set bufhidden=hide относится только к первому открытому буферу. Это должно быть явно вызвано в последующих буферах. Я, должно быть, здесь полностью упускаю смысл, потому что это не кажется полезным.

2
задан 9 November 2010 в 17:39

1 ответ

Хорошо, я просто был идиотом. Я не хотел set bufhidden=hide в моем vimrc - это только для одного буфера. Теперь, когда я изменил его на set hidden, все работает так, как я чувствовал, должно.

0
ответ дан 9 November 2010 в 17:39

Другие вопросы по тегам:

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