Как заставить Sublime вести себя как Vim при сворачивании кода?

Вопрос или проблема

Недавно я перешел с Vim на Sublime. Я заметил некоторые отличия: когда я сворачиваю код в Sublime, он автоматически выбирает этот код, и мне нужно нажимать Esc, чтобы отменить выбор.

Более того, если я перемещаю курсор вверх и вниз сразу после сворачивания кода (например, zcEscjk), этот код снова сворачивается, это довольно неприятно. Могу я это исправить?

Я использую Sublime Text 3.

Такая же проблема, но NeoVintageous работал, когда Vintageous не сработал.

Ответ или решение

Переход с Vim на Sublime Text может вызвать некоторые трудности, особенно когда дело касается таких привычных функций, как сворачивание кода. Если вы хотите настроить Sublime Text 3 так, чтобы он вел себя более похоже на Vim при работе со сворачиванием кода, вот несколько шагов, которые помогут вам это сделать.

1. Установите плагин Vintageous

Vintageous — это плагин, который предоставляет поддержку управления редактором с помощью командной строки Vim (включая режимы визуализации и замены) в Sublime Text. Чтобы установить Vintageous:

  • Откройте Sublime Text 3.

  • Перейдите в меню View > Show Console.

  • Вставьте следующий код для установки Package Control (если он еще не установлен):

    import urllib.request,os,hashlib; h = 'fab8da2bf29a7d61ae49325dd2cfdc2d' + 'e67d9316d37f6c0b8496c02e9edcf0b2'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener(urllib.request.build_opener(urllib.request.ProxyHandler())); print('Error: Invalid checksum, please manually install Package Control from https://sublime.wbond.net/') if not os.path.exists(os.path.join(ipp, pf)) or hashlib.md5(open(os.path.join(ipp, pf), 'rb').read()).hexdigest() != h else urllib.request.urlretrieve('http://sublime.wbond.net/' + pf, os.path.join(ipp, pf))
  • После установки Package Control, откройте командную палитру с помощью Ctrl + Shift + P, введите Install Package и выберите Package Control: Install Package.

  • Затем найдите и установите Vintageous.

2. Настройте поведение сворачивания кода

Чтобы конфигурировать поведение сворачивания кода в Sublime Text и сделать его более похожим на Vim, выполните следующие шаги:

  • Перейдите в Preferences > Key Bindings, чтобы открыть файл с пользовательскими сочетаниями клавиш.

  • Добавьте следующие строки в пользовательский файл настроек, чтобы изменить поведение сворачивания:

    [
        { "keys": ["z", "c"], "command": "fold", "context": [
            { "key": "selector", "operator": "equal", "operand": "source.js, source.python, source.html, source.css" }
        ]},
        { "keys": ["z", "o"], "command": "unfold", "context": [
            { "key": "selector", "operator": "equal", "operand": "source.js, source.python, source.html, source.css" }
        ]},
        { "keys": ["escape"], "command": "exit_insert", "context": [
            { "key": "setting.command_mode", "operator": "equal", "operand": true }
        ]}
    ]
  • Убедитесь, что добавленные сочетания клавиш не конфликтуют с другими командами.

3. Изменение поведения курсора после сворачивания

Чтобы предотвратить случайное раскрытие свёрнутого кода при перемещении курсора с помощью клавиш j и k, вы можете внедрить дополнительные настройки или использовать другой плагин, который не будет переключать состояние сворачиваемого блока.

Popper-Plug — это один из таких плагинов, который может помочь в изменении поведения курсора. Установите его, как описано выше, и настройте его параметры в соответствии со своими предпочтениями.

4. Альтернативы и рекомендации

Если вы сталкиваетесь с трудностями в работе Vintageous, вы также можете попробовать NeoVintageous, который, как показано в вашем сообщении, работал лучше для вашего случая. Установка производится аналогично через Package Control.

Заключение

Хотя процесс перехода с Vim на Sublime Text может быть сложным, вы можете добиться привычного поведения работы со сворачиванием кода с помощью вышеописанных шагов. Не забудьте настроить все плагины и сочетания клавиш в соответствии с вашими потребностями, чтобы обеспечить удобство работы. Если у вас возникнут дополнительные вопросы, сообщите об этом, и мы помогем вам настроить редактор так, как вам необходимо.

Оцените материал
Добавить комментарий

Капча загружается...