У меня есть следующая проблема, или, скажем, идея, с помощью vim. Когда я пишу латексные документы, я хочу автоматически открыть файл ~/.vim/latex_hints
, где я собрал некоторые подсказки, ярлыки, обходные пути, ..., в vsplit с правой стороны. Файл подсказки должен быть загружен только для чтения и автоматически закрываться при закрытии латексного документа.VIM: автоматически открывать отдельную справку/подсказку/текстовый файл в vsplit
После нескольких экспериментов я добавил следующие команды для моей vimrc:
function Handletexfile()
setlocal cc=80
setlocal wrap
setlocal textwidth=80
belowright vsplit +setl\ ro\ nomodifiable ~/.vim/latex_hints
endfunction
autocmd BufRead,BufNewFile *.tex call Handletexfile()
и
function Handletexfileexit()
let tablist = []
call extend(tablist, tabpagebuflist(tabpagenr()))
for b in tablist
echo b . " ". bufname(b)
if bufname(b) =~ "vim/.*_hints"
echo "Close buffer..". b
execute "bdelete! ".b
endif
endfor
endfunction
autocmd BufWinLeave *.* call Handletexfileexit()
Когда я открываю файл текс, мой файл подсказка отображается на правой стороне, как прочтенное только и не поддаются изменению. Но когда я закрываю использование :q
или :wq
, буферы, открытые на текущей вкладке, перечислены, а один, соответствующий файлу подсказки, выбирается в инструкции if
. Но я получаю следующий результат
1 abstract.tex
2 ~/.vim/latex_hints
Close buffer..2
и мой vim сбой с segfault.
Хорошо, как вы заявили, это решает первую часть моей проблемы. Но я не знаю, как справиться со второй частью. –
Показывая свои попытки и описывая, с какими частями вы сталкиваетесь (возможно, как отдельный вопрос), мы лучше понимаем ваше мастерство и можем дать более точный ответ.Как бы то ни было, это похоже на то, что вы отправили требование и хотите, чтобы кто-то написал вам свой код. Во второй части есть некоторые угловые случаи, которые необходимо учитывать. Если вы придумаете решение самостоятельно, вы можете обращаться с ними по своему усмотрению. Если я просто отправлю одно решение, вы, вероятно, просто вернетесь и пожалуетесь мне. –
Проблема в том, что я всего лишь пользователь vim, а не программист vim. Но я поменял свой пост на материал, который я теперь обнаружил, который выбирает правильный буфер, но не закрывает его правильно. –