Я переключил свой пейджер с less
на vimpager
, потому что vim отвечает на колесо мыши. неVimpager script: Очень таинственный
Однако в последнее время после обновления моих настроек Vim пути компиляции новой версии Vim 7.3, и добавив ряд удивительных плагин, vimpager больше не делает ничего логического при попытке поиска текста в страницах руководства с использованием n
и N
.
Это действительно плохо, поэтому я решил отслеживать привязки с помощью :verbose map
.
Из сценария vimpager (/usr/local/share/vim/vim73/macros/less.vim):
" Search
noremap <script>/H$:call <SID>Forward()<CR>/
if &wrap
noremap <script> ? H0:call <SID>Backward()<CR>?
else
noremap <script> ? Hg0:call <SID>Backward()<CR>?
endif
fun! s:Forward()
" Searching forward
noremap <script> n H$nzt<SID>L
if &wrap
noremap <script> N H0Nzt<SID>L
else
noremap <script> N Hg0Nzt<SID>L
endif
cnoremap <silent> <script> <CR> <CR>:cunmap <lt>CR><CR>zt<SID>L
endfun
fun! s:Backward()
" Searching backward
if &wrap
noremap <script> n H0nzt<SID>L
else
noremap <script> n Hg0nzt<SID>L
endif
noremap <script> N H$Nzt<SID>L
cnoremap <silent> <script> <CR> <CR>:cunmap <lt>CR><CR>zt<SID>L
endfun
call s:Forward()
" Quitting
noremap q :q<CR>
Это последний один я, и это делает много смысла. Но этот H$nzt<SID>L
полностью непроницаем.
Что, черт возьми, он делает?
P.S. Я вернул свой поиск, превратив эти две функции s:Forward()
и s:Backward()
в пустые функции no-op. Так что я все настроен, но что это делает?
В каком терминале меньше реагировать на колесо прокрутки? Это только для меня на Terminal.app с плагином MouseTerm SIMBL. Я больше не использую Terminal.app, потому что iTerm2 имеет keymapping и другие функции, которые мне нравятся (например, курсивная поддержка в последних сборках) –
Я не понимаю, что такое «H $ n'. Но спасибо за это. –
Честно говоря, я тоже не понимаю «почему»: это выглядит как обходной путь для меня. Также я использую терминал Gnome дома и iTerm на работе. Я знаю, что scrollwheel работает меньше в терминале Gnome, потому что я просто его пробовал, но почти никогда не использую мышь при работе с CLI, поэтому я не уверен, работает ли она в iTerm. – romainl