| ч34. оператор grep часть 2 | Содержание | ч36. списки | Наш новый "оператор grep" отлично работает, но мы не были внимательны к нуждам наших пользователей. Нам надо сделать еще пару вещей, чтобы наш оператор хорошо работал в экосистеме Vim. Сохранить регистр Копируя текст в "безымянный регистр", мы удаляем все, что было там ранее. Кроме того, используя визуальное выделение для копирования текста, мы также уничтожаем любую запись самого последнего визуального выделения, так же у нас происходит удаление пользовательского выделения когда мы работаем посимвольно (<leader> giw) Такое поведение нашего кода будет очень не удобным, поэтому давайте не будем использовать визуальный выбор при посимвольной работе, а также сохраним содержимое безымянного регистра, чтобы мы могли восстановить его после завершения работы нашего скрипта. Измените код, чтобы он выглядел следующим образом: nnoremap <leader>g :set operatorfunc=GrepOperator<cr>g@
vnoremap <leader>g :<c-u>call GrepOperator(visualmode())