LINUX.ORG.RU

vim, перелистывание

 , ,


1

2

Как сделать в Vim поведение перелистывания страниц, как в Emacs?
Что я имею в виду по дефолту Emacs - когда курсор дошел к концу страницы, то идёт не скролл по одной строке, а перелистывается целая страница. Я так хочу в Vim.

Построчны скролл в Vim не плавный, голова устаёт.



Последнее исправление: Oldboy (всего исправлений: 1)

Нажимать Ctrl-F/Ctrl-B не подходит? Для Emacs-подобного поведения может есть плагин, но мне не попадался.

xaizek ★★★★★
()
Ответ на: комментарий от xaizek

В emacs это по умолчанию. Когда пдходшь к концу страницы, он сразу перелистывает всю, а в Vim построчно. Я хочу в vim построчно поменять на полное перелистывание.

Oldboy
() автор топика
Ответ на: комментарий от xaizek

Нажимать Ctrl-F/Ctrl-B не подходит

нет, хочется убрать именно scroll. Он меня бесит. Читал-читал, не нашел.

Oldboy
() автор топика

set sj=-100 оставляет курсор в середине окна, что не позволяет перелистнуть страницу, а только кусочек. Короче, не понятно.

Oldboy
() автор топика

А можно где-то видео посмотреть, как оно в emacs? Так как по описанию выглядит что :set sj=10 (без минуса) это то, что тебе нужно.

P. S. А лично мне нравится :set scrolloff=10. Идеальный режим ИМХО.

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

голый дефолт emacs. просто пролистывает целыми страницами. курсор переносится снизу на верх. Всё.

Oldboy
() автор топика
Ответ на: комментарий от Kroz

Так как по описанию выглядит что :set sj=10

не то.

Oldboy
() автор топика
Ответ на: комментарий от rupert

я тебя понимаю, но… Я заметил, что при работе, особенно удалённо, скролл дёргается. Сильно. Весь день пролистывая портянки конфигов я просто обалдел. Smooth - это только в мечтах. Нигде пока не видел. А не, вру. При прокрутке мышью. Вот только я грызунами не пользуюсь.

Oldboy
() автор топика
Последнее исправление: Oldboy (всего исправлений: 1)
Ответ на: комментарий от krasnh

тоже нашел. Видимо, пора создавать заново.

Oldboy
() автор топика
Ответ на: комментарий от rupert

чтобы был построчный скролл как в Vim

Этот пакет так-то немного для другого. Просто построчный скроллинг включается без всяких пакетов.

no-such-file ★★★★★
()

Эмм, в чем проблема замапить j/k?

Что-то вроде (что первое в голову пришло, судя по описанию):

nnoremap <expr> j (winline() == winheight(winnr()) ? "jzt" : "j")
nnoremap <expr> k (winline() == 1 ? "kzb" : "k")

https://i.imgur.com/nHfhkvN.gif

habamax ★★★
()
Ответ на: комментарий от Oldboy

Но вообще костыль, да. Каждое нажатие проверять..

Ну тут шашечки или ехать :) Можешь попробовать событие WinScrolled, может там что-то другое придумается.

Эклипс? На Windows?

Gvim, на корпоративном лаптопе с windows.

Я б тебе с fedora36 записал, но я хз как там гифки записывать. (вернее знаю, но это такой себе гемор, по сравнению со ScreenToGif)

habamax ★★★
()
Ответ на: комментарий от habamax

ИМХО, я дефолт предпочитаю с парой команд. Тогда не надо конфиг передавать.

Думал, что есть штатные средства. Увы.

Ну тут шашечки или ехать :)

Вроде vim хорошо работает с слабым каналом, а вот оно как…

Oldboy
() автор топика
Ответ на: комментарий от Oldboy

ИМХО, я дефолт предпочитаю с парой команд

Ну так, Lzt – вниз, Hzb – вверх.

habamax ★★★
()

По-моему set scrolljump=-50 то, что доктор прописал. Когда переходишь к новой странице, хочется же сразу увидеть контекст, а не дрочить еще курсор вниз/вверх. Может и не так быстро получается листать, но достаточно быстро. То, что -100 не работает, хотя заявлено, это конечно непорядок. Вообще, в xterm плавная построчная прокрутка (хотя все равно не нужно), это у кого-то эмулятор говно.

bread
()
Ответ на: комментарий от bread

Твоё имхо никак не влияет на моё. Когда сравнишь, тогда поймёшь.

Эмулятор у меня - urxvt, st, kitty, foot. А свой xterm попробуй в тайловом окружении и когда он при ресайзе окна порежет выхлоп, тогда пиши это у кого-то эмулятор говно.

Oldboy
() автор топика
Ответ на: комментарий от Oldboy

в vim присутствуют довольно развитые команды навигации, их довольно много, для данного случая

  • L (H) - на последнюю (первую) строку страницы в окне
  • zt (zz,zb) - сделать текущую строку первой, средней, последней в окне

таким образом map <Leader>p Ljzt даст искомое поведение, если я внимательно читал тред.

spring
()

А у меня по дефолту страницы листаются кнопками PageUP/PageDown

Clockwork ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.