Переключение буферов в vim без сохранения в текущий измененный файл

9884
Kai

Хорошо, я пользователь vim с плагином Minibufexl, который показывает вкладки буфера, я назначил Shift + J и Shift + K для переключения между вкладками. Одна вещь, которая часто расстраивает меня - это когда я редактирую файл и переключаюсь в другой буфер, я ДОЛЖЕН записать в текущий файл, а затем переключиться.

Например, у меня открыты foo.cpp и foo.h в двух буферах, и я редактирую foo.cpp и не сохранил его, мне нужно проверить foo.h, чтобы увидеть определение функции. Затем я использую плагин быстрого доступа к альтернативным файлам (a.vim) или ярлык выше. Это где я должен сохранить перед переключением, это быстро раздражает.

Я не знаю, какой поисковый запрос использовать в Googles, поэтому я спрашиваю здесь, мои извинения, если он вводит в заблуждение.

19

2 ответа на вопрос

32
Hamish Downer

Вы хотите иметь

set hidden 

в вашем .vimrcфайле. Прочитайте (немного) больше о скрытой опции и скрытых буферах

Ваша первая ссылка - это просто перенаправление с vim.wikia.com на страницу vimdoc во второй ссылке. http://vim.wikia.com/wiki/Easier_buffer_switching#Leaving_modified_buffers также могут представлять интерес. jamessan 13 лет назад 0
@jamessan - да, я знаю, но страница, на которую она перенаправляется, содержит одинарные кавычки в URL, и я не смог правильно отобразить ее, используя уценку, поэтому вместо этого я использовал адрес перенаправления. Hamish Downer 13 лет назад 0
0
garyjohn

Возможно, вам будет полезно использовать разделенные окна. Например, при редактировании foo.c выполните

:split foo.h 

Это откроет foo.h в окне выше foo.c. Вы можете перемещаться между окнами с помощью ^W^W(Ctrl-W Ctrl-W) и максимизировать текущее окно с помощью ^W_. Вы можете найти больше информации об этом, выполнив

:help windows 
Я делал это некоторое время назад, но мой мизинец быстро заболел, и я действительно не хотел переназначать Cntrl на Shift, но если я перейду на машину без моего удобного файла .vimrc, я обязательно последую вашей подсказке. Благодарю. Kai 13 лет назад 0