↓
 ↑
Регистрация
Имя/email

Пароль

 
Войти при помощи
Wave
25 января 2020
Aa Aa
К моему же собственному удивлению, пристрастился к виму. Оказывается, это офигенно удобно, когда не нужно убирать пальцы с букв (на del, backspace, клавиши курсора, etc). Удобно-удобно-удобно… А потом бац — натыкаешься на какую-нибудь фигню, в которой вим до жути дубовый и неудобный. Например, на то, как он делает вставку. И всё, хочется залепить кулаком в экран. И уж точно времени тратится куда больше, чем если бы я это же делал в каком-нибудь другом редакторе.

#IT #Лытдыбр
25 января 2020
19 комментариев из 77 (показать все)
Всё равно не получается. Вставляется <BS> и <C-BS> соответственно, а при попытке намапить в редакторе вставляется Îx и ^_
Ладно, нахрен, я спать. Точно уж, софт для красноглазиков.
Блядь! А когда пытаюсь «методом половинного деления» отключать свои конфиги (плагины, например), то натыкаюсь на то, что в голом виме бекспейс работает (но контрол-бекспейс не мапится), но удаляет только свежевведенное. Т.е. делаю я A(ppend), ввожу несколько символов, удаляю их бекспейсом, бекспейс упирается в то, что было до нажатия A и останавливается намертво. Я могу сместиться левей и del'ом удалить что нужно, но не бекспейсом. FUUUUUUUUUUUUUUU!!!!!!!!

Вот в такие моменты начинаю ненавидеть вим.
Wave
бекспейс упирается в то, что было до нажатия A и останавливается намертво
Я уже про это говорил:
:set backspace=indent,eol,start
Wave
Всё равно не получается. Вставляется <BS> и <C-BS> соответственно, а при попытке намапить в редакторе вставляется Îx и ^_
Вот это и попробуй намаппить (через noremap!) на C-h и C-w.
Styx
Wave
Вот это и попробуй намаппить (через noremap!) на C-h и C-w.
Не получается. Всё равно вставляется эта же белиберда.
Wave, а что за белиберда-то? :)
Попробуй ещё слить все маппинги в файл, как я показывал выше, и глянь, может это что-то где-то шалит.
В общем, поковырялся ещё, используя метод половинного деления опять. Выяснил, что в приколах с бекспейсом виновата строка set term=xterm
" 256 цветов в конэму.
if !has("gui_running")
set term=xterm
set t_Co=256
let &t_AB="\e[48;5;%dm"
let &t_AF="\e[38;5;%dm"
inoremap <Char-0x07F> <BS>
nnoremap <Char-0x07F> <BS>
endif

Чисто охота нормальную цветовую схему использовать, на 256 цветов, с жирным-курсивом-подчёркиваниями и прочими подобными мелочами. Но увы, либо то, либо это. Я, конечно, ещё поковыряю документацию что одного продукта, что другого, но…

Неовиму в отличие от вима в данном случае требуется только set termguicolors

И, да, проблему с map <C-BS> <C-w> решить не получается никак, но вот при запуске gVim нормально работают и бекспейс, и контрол-бекспейс.

Надо гуёвому виму ещё подобрать шрифт как-то, потому что тот, который по умолчанию, сильно многого не хочет нормально показывать. Например, значки у NERDTree.
Упд. Еле-еле выяснил, что писать в конфиге надо так: set guifont=DejaVu_Sans_Mono:h10 (с подчёркиваниями). А ещё, что выбор шрифтов там почему-то очень бедный, и что далеко не все значки, в отличие от конэму, отображаются.

Слуш, пара мелочей:
Как гвим распахнуть на весь экран при запуске? Нашёл только паллиатив
set columns=999
set lines=999

При указании set encoding=utf8 nobomb меню гвима стало показывать иероглифы. Я сдеал по-простому, убрал меню (и тулбар) вообще. Но это тоже паллиатив.

Ну и ещё такое: при первом старте гвим говорит что-то типа «библиотеки не зарегистрированы, зарегистрировать?» — что за библиотеки и как бы этот вопрос вообще убрать? Дело в том, что в силу виртуализации после перезагрузки всё возвращается на круги своя и эти библиотеки вновь незарегистрированы.
Показать полностью
Wave
Как гвим распахнуть на весь экран при запуске? Нашёл только паллиатив
set columns=999
set lines=999
Ну это и есть обычный способ для вима :)

При указании set encoding=utf8 nobomb меню гвима стало показывать иероглифы. Я сдеал по-простому, убрал меню (и тулбар) вообще. Но это тоже паллиатив.
Должно быть utf-8 (с дефисом). :h encoding-names

Ну и ещё такое: при первом старте гвим говорит что-то типа «библиотеки не зарегистрированы, зарегистрировать?»
А покажи точный текст ошибки.
Должно быть utf-8 (с дефисом). :h encoding-names


Без этой опции, с дефисом или без, всё нормально.
А покажи точный текст ошибки.

На самом деле эта фигня означает, что один раз за сеанс винды я при запуске gvim должен лишних два раза нажать enter (или каждый раз выбирать нет). Прост слегка раздражает.
Wave


Без этой опции, с дефисом или без, всё нормально.
Тьфу, это же винда :)
Тогда сделай так: запусти вим без этой опции, потом запусти команду:
:set encoding?
Посмотришь, какая кодировка активная, и добавь её же в настройки, но с добавление "nobomb".

На самом деле эта фигня означает, что один раз за сеанс винды я при запуске gvim должен лишних два раза нажать enter (или каждый раз выбирать нет). Прост слегка раздражает.
Ага, понял. Сделай какой-нибудь autoexec.bat (или что там нынче) в котором пропиши:
<path-to-gvim>\gvim -silent -register
Чтобы он запускался каждый раз при старте винды и втихаря регистрировал что ему нужно.
Посмотришь, какая кодировка активная, и добавь её же в настройки, но с добавление "nobomb".
cp1251, разумеется. Всё бы ничего, но при этом выскакивает ошибка в какой-то из функций gitgutter о неправильном символе. Он-то в юникоде указан. Мне кажется, лучше уж указать юникод и убрать меню с тулбаром.
Самое, блин, смешное, что я в терминале вижу больше юникодных символов, чем в гуе. В гуе, какой шрифт ни пытаюсь выбрать, на месте всяких  или  вижу только квадратики. Или вопросительные знаки, если указываю 1251.

Ага, понял. Сделай какой-нибудь autoexec.bat (или что там нынче) в котором пропиши:
Ясно, спасибо, оно. Только у меня в силу всё той же виртуализации и костылика вокруг неё это autorun.vbs.
Что-то мне всё меньше нравится XP, хотя я на ней сидел, можно сказать, до последнего.
Слушай, а в виме нет такой фигни… Короче, редактировал я сейчас один текст, потом попытался из него копипейстнуть, но вовремя там, куда вставлял, нажал на предпросмотр. Так вот, изменились цифры. 24-е переправилось на 25-е, 1989 на 1990, 19 на 20. И судя по истории редактирования, никто кроме меня это не делал. Получается, что скорей всего это сделал вим. И уж точно никаких подобных плагинов я не ставил. Какой-то штатный функционал?
Wave, C-a/C-x для увеличения/уменьшения. Может случайно нажал? :)
Увы, не случайно. Я себе намапил C-a — выделить всё — привычный по остальным хоткей. Всё лучше, чем сначала жать Esc, потом вспоминать, какой командой переходить в самое начало файла, потом переводить в визуальный режим, потом вспоминать команду перехода в конец файла.

В принципе-то оно работает. Обычно — как задумано. Я и не знал об опции инкремента-декремента, хотя выделением пользовался. Просто вот это вот выяснил, что если уже выделенный текст ещё раз попробовать выделить, тогда эта хрень и срабатывает. Теперь думаю, то ли привыкать выделять чем-то другим, то ли перемапливать инк\дек, то ли понадеяться, что никогда не нажму случайно дважды подряд C-a.
Перед маппингом C-a можно сначала сделать unmap. Ну или vnoremap <C-a> добавь ещё.
С горем пополам докопался, что проблемы с бэкспейсом у меня начинаются с Vim8.2. 8.1 и более ранние этой проблемы не имеют, но 8.2, только её ставишь и вносишь одну-единственную строчку в конфиг: set term=xterm — всё, отсюда начинается такое выделывание, что я уже заколебался искать корень.
В принципе, можно будет ещё, ну, не знаю, пошерстить стандартные \vim82\keymap\*.vim и тому подобное дерьмо, но, блин, я и так потратил на это дофигищу времени, и не сказать чтобы это были полезные траты.
ПОИСК
ФАНФИКОВ







Закрыть
Закрыть
Закрыть