LINUX.ORG.RU

Сообщения SomeV

 

Vim: Скроллинг файла с длинными строками

Всем привет!

Использую консольный vim для написания обычного текста. Естественно включён динамический перенос строк по словам. В этом режиме текст с большими абзацами скроллится некорректно. Речь идёт о командах: C-e, C-y, C-d, C-u, C-f, C-b. Это всем известная проблема длинных строк в vim.

Про gj и gk я знаю, но это не то, что нужно. Речь именно о прокрутке экранных строк, а не о перемещении курсора по экранным строкам.

Вопрос этот актуален не только для меня. Я нашёл статью об этом в vim-fandom-wiki, а также несколько вопросов на stackexchange. Кое-где ссылаются на плагин vim-scrollwrapped (https://github.com/lukelbd/vim-scrollwrapped), однако он не работает без объяснения причин.

Я «прошерстил» и соответствующие темы на LOR, но решения в них не нашлось.

Кроме того запросы на реализацию этой функции поступали и в upstream, начиная с 2010-2011 года (насколько я понял из сообщений пользователей). Поэтому в ответ на запрос пользователей в последней версии vim появился параметр smoothscroll, частично реализующий нужную функцию. И работает она именно так, как нужно, но только для команд C-e и C-y. А для поэкранного (постраничного) листания командами C-f и C-b не работает. Об этом написано в официальной документации.

В связи с этим у меня несколько вопросов:

  1. Хоть кто-то решил для себя на текущий момент эту проблему? Существует ли хоть какое-то решение?

  2. Возможно ли написать функцию в vimrc, которая будет заменять команду C-f на «выполнение команды C-e (работающей со smoothscroll) N-раз, в зависимости от размера экрана (количества строк на нём) и позиции курсора». То есть, можно ли сделать как-бы эмуляцию поэкранного листания с помощью построчного листания? Если да, то подскажите, как эта функция должна выглядеть. Сам я не могу написать.

  3. Хоть кто-то ещё пишет обычные тексты в vim? Если да, то не мешает ли вам невозможность нормально листать большие абзацы?

  4. Кто-то пользуется neovim? Решена ли эта проблема там? (я на скорую руку проверил, и neovim у меня работает точно так же как и vim; то есть проблема не решена; не исключаю, что я просто что-то не понял и не настроил) И вообще, что можете сказать насчёт neovim? Щекастый паренёк на youtube говорил в своё время, что neovim гораздо круче vim, и что про vim теперь можно вообще забыть, подобно тому, как забыли про vi, когда вышел vim. А в комментариях на Хабре я наткнулся на мнение, что neovim во-первых сырой, а во-вторых вообще загибается и не получил должного развития. В общем, противоречивые мнения.

Что в итоге?

В итоге для работы с простыми текстами пока приходится использовать kwrite с режимом ввода vi. Но хотелось бы использовать консольный vim. А вообще поэкранное листание длинных строк с переносами идеально работает в консольном emacs с любыми размерами шрифтов и размерами окна konsole. Именно так, как и представляется. Можно сказать - образец. Но это совсем другая история.

 ,

SomeV
()

Можно ли поменять местами Esc и Ё в Vim?

Здравия всем.

Имеется удобная клавиатурка с одним существенным недостатком: на месте Ё у неё Esc, а чтобы напечатать Ё, нужно нажать Fn+Esc.

За годы слепой печати руки привыкли на автомате клацать на Ё, и поэтому при печати русского текста всё время «вылетаю» из режима вставки. И затем ещё успеваю несколько команд набрать, пока не осознаю, что случилось.

Возможно ли через конфиг Vim’а сделать, чтобы при нажатии на Esc в режиме вставки набиралось ё или ` в зависимости от раскладки, а при нажатии на Fn+Esc набиралось Esc?

Благодарю за внимание. Хорошего настроения вам!

 , ,

SomeV
()

RSS подписка на новые темы