Giter Site home page Giter Site logo

Comments (15)

lyokha avatar lyokha commented on June 8, 2024

Добрый день, а почему

let g:XkbSwitchIMappings = ['ru, uk, us']

а не

let g:XkbSwitchIMappings = ['ru', 'uk', 'us']

Он, кажется, на это и ругается. Кстати, у меня тоже Neovim 0.6, и плагин работает.

from vim-xkbswitch.

kukushkawi avatar kukushkawi commented on June 8, 2024

Действительно ошибся, видимо проглядел когда читал readme. Поправил, те ошибки исчезли, но появились четыре других. Приложил скриншот.
pic-full-211227-2342-30
Плагин у меня работает, лишь эти ошибки появляются. Первое время думал что переживу, но когда нужно было что-то быстро записать... в итоге решил всё же открыть issue

from vim-xkbswitch.

lyokha avatar lyokha commented on June 8, 2024

Посмотрите документацию (в README.md) про g:XkbSwitchIMappings, там сказано, что из коробки поддерживается только раскладка для русского языка (ru), и показано на примере как добавить поддержку немецкого (de). Но у вас кроме русского, us и uk - маппинги для них переводить вообще не нужно, так как они изначально соответствуют оригинальной английской раскладке.

Соотвественно, объявите просто

let g:XkbSwitchIMappings = ['ru']

Это то, что реально нужно.

from vim-xkbswitch.

kukushkawi avatar kukushkawi commented on June 8, 2024

Блин, выходит очень сильно проглядел. Исправил и теперь ошибок нет. С украинской раскладкой (которую я и обозначал uk, потому что другого кода для этого языка нет, когда для британского английского есть GB(en_GB), поправьте если не прав), кажется, всё работает. Извините за потраченное время.
Ещё раз спасибо за ваш плагин, без него я бы уже ушёл на какой-нибудь другой редактор. Он незаменимый для заметок в vimwiki. Да и поддерживать плагин такое количество времени вряд-ли бы кто-то стал. Спасибо за помощь

from vim-xkbswitch.

lyokha avatar lyokha commented on June 8, 2024

И вам спасибо за добрые слова ))
Оказывается, uk это украинский (я сначала почему-то подумал, что это united kingdom, сорри). Да, вам нужно вручную написать сопоставление символов из us в uk - грубо говоря, перевести английские символы на клавишах в украинские, соответствующие данным клавишам. В принципе, это не обязательно - это всего лишь маппинги в режиме ввода, и если вы не пользуетесь ими активно, то они и не нужны. Но некоторые плагины, например, управляющие автоматическим добавлением парных скобок, могут определять свои insert mappings, и это может приводить к разным неожиданным эффектам: в этом случае, перевод g:XkbSwitchIMappings на язык, отличный от us, может оказаться необходимым.

from vim-xkbswitch.

kukushkawi avatar kukushkawi commented on June 8, 2024

Да ничего, я и сам в повседневной жизни прежде всего подумал бы об uk как об United Kingdom. Я кое-как запомнил это, лишь благодаря запросам, которые я вводил когда искал какое сокращение у украинского. До сих пор uk ассоциируется с United Kingdom. Особо такими плагинами не пользуюсь (по крайней мере не припоминаю таких), но возьму на вооружение и обязательно попытаюсь их написать. Про многое из рассказанного вами не знал, спасибо что рассказали. Удачи и спасибо за помощь

from vim-xkbswitch.

kukushkawi avatar kukushkawi commented on June 8, 2024

Извиняюсь, что так донимаю, но у меня при взгляде на документацию про сопоставление символов возник вопрос:
let g:XkbSwitchIMappingsTr = { \ 'ru': \ {'<': 'qwertyuiop[]asdfghjkl;''zxcvbnm,./'.
\ 'QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>?@#$^&|',
\ '>': 'йцукенгшщзхъфывапролджэячсмитьбюё.'.
\ 'ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,Ё"№;:?/'},
\ 'de':
\ {'<': 'yz-[];''/YZ{}:"<>?
@#^&_',
\ '>': 'zyßü+öä-ZYÜ
ÖÄ;:_°"§&/(?#'},
\ }
` во втором языке (в примере из документации это de) нужно также вводить qwerty как в первом? Специально проверял про правильную немецкую раскладку ли я думаю. Могу ли я сделать также как в примере с русским но для второго языка лишь изменив несколько отличных букв?

from vim-xkbswitch.

kukushkawi avatar kukushkawi commented on June 8, 2024

md накосячил с вырезкой из документации(

from vim-xkbswitch.

lyokha avatar lyokha commented on June 8, 2024

В de qwert не нужно переводить, так как эти символы расположены одинаково с английской раскладкой, а вот y заменяется на z - с этого и начинается трансляция, в общем правило такое - смотрим на клавиши, если символ в транслируемом языке совпадает с английской раскладкой, то записывать в маппинги его не нужно, в русском и украинском (в отличие от немецкого) почти все клавиши не совпадают, поэтому перевод там длинный. Кроме этого, нужно особенно осторожно переводить знаки пунктуации - в документации есть пример к каким чудесам такие переводы могут привести, но тут заранее не угадать, поскольку конкретное нездоровое поведение может зависеть от других плагинов с собственными insert mappings, поэтому если что-то начнёт работать странно при вводе, то возможно придётся удалить некоторые переводы символов пунктуации.

from vim-xkbswitch.

kukushkawi avatar kukushkawi commented on June 8, 2024

Так как раскладки почти идентичные, я скопировал русскую раскладку и заменил отличные знаки. В одном моменте (после "ю") знак ' закрывал элемент, поэтому я продублировал этот знак

\ 'ru':
    \ {'<': 'qwertyuiop[]asdfghjkl;''zxcvbnm,.`/'.
    \       'QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>?~@#$^&|',
    \  '>': 'йцукенгшщзхъфывапролджэячсмитьбюё.'.
    \       'ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,Ё"№;:?/'},
    \ 'uk':
    \ {'<': 'qwertyuiop[]asdfghjkl;''zxcvbnm,.`/'.
    \       'QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>?~@#$^&|',
    \  '>': 'йцукенгшщзхїфівапролджэячсмитьбю''.'.
    \       'ЙЦУКЕНГШЩЗХЇФІВАПРОЛДЖЭЯЧСМИТЬБЮ,ʼ"№;:?/'},
    \ }

(не уверен, что не накосячил с md тут)
Пока никаких ошибок и "сюрпризов" не заметил

from vim-xkbswitch.

lyokha avatar lyokha commented on June 8, 2024

Выглядит хорошо, только Ээ в украинском нет же (они в другую сторону должны смотреть). Если хотите, присылайте пулл-реквест - это можно вставить в файлы xkbswitch.vim и xkbswitch.tr (при этом кодировка при редактировании должна быть Utf8, на современных линуксах это всегда так, да и в других ос тоже, наверное). И у вас пользовательские настройки станут проще.

from vim-xkbswitch.

kukushkawi avatar kukushkawi commented on June 8, 2024

Да, точно, вы правы, их нет, прозевал (сонливость даёт о себе знать), сейчас исправил. Смешно об этом говорить, но я не очень разбираюсь в git (что говорить, когда я лишь недавно начал использовать github) и его работе, даже несмотря на то, что я уже длительное время использую дистрибутив на линуксе (выделил это, потому что RMS держит в заложниках), поэтому про пулл реквест не уверен, что правильно вас понял. Отредактировал названные вами файлы:
pic-full-211229-0143-06
pic-full-211229-0145-03

from vim-xkbswitch.

kukushkawi avatar kukushkawi commented on June 8, 2024

Прислал два отдельных пулл реквеста. Первый редактирует xkbswitch.tr, второй же, соответственно, xkbswitch.vim. Как-то так

from vim-xkbswitch.

lyokha avatar lyokha commented on June 8, 2024

Круто! Смерджил. Правда почему-то в вашем реквесте в g:XkbSwitchIMappingsTr пропала двойная одинарная кавычка для uk после бю - я поправил, еще в xkbswitch.tr поменял местами de и uk, так как uk похож на ru - пусть они будут рядом. Спасибо!

from vim-xkbswitch.

kukushkawi avatar kukushkawi commented on June 8, 2024

Странно. Может как-то случайно нажал "x" и удалил. Сам думал изменить расположение украинской раскладки, но на скорую руку оставил как было. В любом случае, спасибо вам, и удачи!

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.