Giter Site home page Giter Site logo

Comments (6)

lyokha avatar lyokha commented on June 8, 2024 1

Я закоммитил решение для строк поиска, теперь у них полная поддержка отслежки переключения, такая же как в Insert mode. Это будет работать если у вас vim 8.1 и выше или neovim. Соответственно, переменная g:XkbSwitchAssistSKeymap теперь deprecated (vim будет ругаться, удалите ее из конфига).

Для keymap assistance команд f и r вам реально нужна другая переменная g:XkbSwitchAssistNkeymap. Полная поддержка переключения раскладки для этих команд не работает, поскольку невозможно поймать событие аосле ввода символа поиска (или замены для команды r).

Но зато работает keymap assistance. Суть его в следующем. Допустим вы редактировали что-то в режиме ввода на русской раскладке, вышли из него, теперь когда вы введете f и символ за ним, этот символ будет русский, даже несмотря на то, что системная раскладка будет показывать английский (но airline при этом будет показывать русский!). В следующий раз после выхода из режима ввода, будет запомнена последняя раскладка снова, и это отразиться на командах f и r, а также в статусе airline. Если вы не хотите переключать keymap assistance входом и выходом в режим ввода, то можете просто ввести <C-^> в нормальном режиме - раскладка для этих команд переключится.

Раньше, до последнего коммита, управлять раскладкой в строке поиска можно было тоже только таким вычурным способом, но теперь она поддерживается напрямую и работает совместно с режимом ввода.

from vim-xkbswitch.

lyokha avatar lyokha commented on June 8, 2024 1

Это будет здорово! А в neovim такая же история? Подумываю на него перейти, но пока не решился.

В neovim плагин работает точно так же как в vim. Я сам перешел на neovim почти год назад. Не могу нарадоваться )) Две киллер-фичи neovim, которых нет в vim, лично для меня, это встроенная поддержка LSP и tree-sitter. То, что настройки можно писать на lua наерное тоже хорошо, но первые две фичи - это просто сокровище, делающее vim полноценным IDE, при этом глубоко конфигурируемым. В общем, очень рекомендую именно neovim.

from vim-xkbswitch.

lyokha avatar lyokha commented on June 8, 2024

Это не реализовано. В vim просто нет соответствующих автокоманд, на которые можно было бы повесить функциональность переключения раслкладки при выполнении команды f.

Но вы можете настроить ручной переключатель раскладок, при включенном g:XkbSwitchAssistSKeymap:

" quickly toggle keyboard layout for f and r commands in normal mode
" (<C-^> also switches keyboard layout in search mode)
let g:XkbSwitchIminsertToggleKey = '<C-^>'
let g:XkbSwitchIminsertToggleEcho = 0

Понятно, что ручное переключение не очень-то удобно, но пока только так. Статусная строка airline, кстати говоря, поддерживает отображение текущей раскладки для этого случая из коробки (секция keymap).

from vim-xkbswitch.

lyokha avatar lyokha commented on June 8, 2024

Заметил, что у вас нет настройки

let g:XkbSwitchAssistNKeymap = 1

Это для f и r команд - ее нужно включить. Сейчас у вас включена g:XkbSwitchAssistSKeymap - это для строк поиска.

Пока исследовал вашу проблему, обнаружил, что в новом vim есть автокоманды CmdlineEnter и CmdlineLeave, которых не было, когда плагин активно разрабатывался. Это значит, что g:XkbSwitchAssistSKeymap можно заменить на полноценную поддержку переключения раскладок при входе и выходе из строки поиска. Пожалуй, это я сделаю (к тому же уже проверил, что оно работает). К сожалению, автокоманд для триггеринга команды f по-прежнему нет.

from vim-xkbswitch.

Rom888 avatar Rom888 commented on June 8, 2024

Спасибо за отклик.

Но вы можете настроить ручной переключатель раскладок, при включенном g:XkbSwitchAssistSKeymap:

Не очень понимаю зачем, ведь я могу переключиться обратно на 'us' стандартным образом (у меня настроен правый ctrl).

Сейчас у вас включена g:XkbSwitchAssistSKeymap - это для строк поиска.

Пока у меня это не работает, или я не до конца понимаю как это должно работать.
Сейчас так:
Normal mode
нажимаю 'i', перехожу в insert mode
переключаюсь на 'ru', ввожу текст
нажимаю 'esc' возвращаюсь в normal mode
нажимаю '/' и начинаю вводить символы для поиска - и обнаруживаю что раскладка 'us'
хотя если я правильно понимаю, при g:XkbSwitchAssistSKeymap = 1 у меня должна остаться раскладка которая была последней при выходе из insert mode

Пожалуй, это я сделаю (к тому же уже проверил, что оно работает)

Это будет здорово!
А в neovim такая же история? Подумываю на него перейти, но пока не решился.

from vim-xkbswitch.

Rom888 avatar Rom888 commented on June 8, 2024

Обновил до последней версии vim-xkbswitch, все работает шикарно, это прямо радует, т.к. раньше после поиска не на латинице всегда были проблемы, т.к. мозг думал что все само переключится обратно.
f и r раньше не использовал, и с такими нюансами, думаю не буду пока их использовать тоже.

Большое спасибо за этот проект и связанные с ним, здорово помогают!

from vim-xkbswitch.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.