Vim: проверьте, работает ли он как пейджер

Я искал в исходном репозитории Vim (который также включает справочную документацию) какие-либо ссылки на пейджер, но не смог найти, поэтому спрашивал здесь: есть ли способ узнать, работает ли vim как пейджер? Я хотел бы автоматически запускать определенные команды, когда это происходит.

РЕДАКТИРОВАТЬ: под пейджером я подразумеваю чтение vim из стандартного ввода, когда передается как vim -. Я использую плагин под названием AnsiEsc, упомянутый в другом вопросе, связанном с vim, поэтому хотел бы загрузить его автоматически. Я также хотел бы переназначить некоторые сочетания клавиш.


person 0fnt    schedule 13.09.2016    source источник
comment
Vim, являющийся текстовым редактором, определяющий, что означает работа в качестве пейджера, и объясняющий, что вы делаете для достижения этой цели, должен помочь нам помочь вам.   -  person romainl    schedule 13.09.2016
comment
Ну, я имел в виду, что vim читает со стандартного ввода, когда передается как vim -. Я использую плагин под названием AnsiEsc, упомянутый в другом вопросе, связанном с vim, поэтому я хотел бы загрузить его автоматически. Я также хотел бы переназначить некоторые сочетания клавиш.   -  person 0fnt    schedule 13.09.2016
comment
Добавьте эту информацию к вашему вопросу, пожалуйста.   -  person romainl    schedule 13.09.2016


Ответы (2)


Вы должны иметь возможность зарегистрировать автокоманду на StdinReadPre или Post. например

" .vimrc
aug StdIn
  au! 
  au StdinReadPost * echomsg "In pager mode!"
aug END

Я не вижу ничего другого в Vim.

person Luc Hermitte    schedule 13.09.2016

StdinReadPost (TIL) кажется идеальным для вашего варианта использования, но вот импровизированная альтернатива:

augroup pager
    autocmd!
    autocmd VimEnter * if v:statusmsg =~ 'stdin' | echomsg "is pager" | endif
augroup END
person romainl    schedule 13.09.2016