Использование vim как мощного инструментария для Python

Обновлено: 21.11.2024

Я уже некоторое время работаю над проектом Python. Поначалу это было не очень удобно, так как я пытался выучить язык и разобраться в своем рабочем процессе и инструментах.

Через пару месяцев у меня наконец-то есть рабочая установка Vim с правильной подсветкой синтаксиса, интеллектуальным завершением кода и возможностями рефакторинга. Читайте дальше, чтобы увидеть, как это выглядит.

Отказ от ответственности: мои настройки могут показаться слишком сложными. Вам не нужно устанавливать все плагины, перечисленные в этой статье, или копировать каждую строку конфигурации. Выбирайте то, что вам нравится.

dense-analysis/ale — это подключаемый модуль асинхронного линтера. Используйте его с flake8 и pylint; плюс google/yapf в качестве средства форматирования.

Основные сведения

Давайте начнем со списка некоторых плагинов общего назначения, которые я считаю незаменимыми для любого языка.

tpope/vim-commentary ( или scrooloose/nerdcommenter ) — нажмите gcc, чтобы закомментировать строку, или gc, чтобы прокомментировать выделение в визуальном режиме

Другие подключаемые модули, которые я использую, включают

На снимках экрана использована цветовая схема joshdick/onedark.vim, вдохновленная темой Atom.

Подсветка синтаксиса

Vim поставляется с подсветкой синтаксиса для многих популярных языков, включая Python, хотя это не всегда лучший вариант.

Есть несколько вариантов улучшения выделения по умолчанию.

нумириас/семши, на мой взгляд, лучший. Он работает только с Neovim и требует поддержки Python 3.

python-mode/python-mode тоже неплохой вариант, хотя помимо подсветки он содержит множество других вещей, которые мне не очень нравятся

Мои любимые цветовые схемы (которые я часто переключаю) включают junegunn/seoul256.vim и joshdick/onedark.vim (та, что на скриншотах).

Отступ

Вы можете настроить правила отступа вручную следующим образом.

Складывание

Сворачивание ( :help foldmethod ) — это когда вы сворачиваете куски кода, чтобы не отвлекаться.

Наилучшим приближением является использование отступа методом складывания, хотя он не работает идеально.

Чтобы переключить складку, вы можете нажать za ( :help fold-commands ), и для удобства я привязал ее к пробелу.

Линтинг и исправление

Фантастический плагин для плотного анализа/але можно использовать для линтинга (что, по сути, означает проверку на наличие синтаксических ошибок) и автоматического исправления. Он асинхронный, то есть не блокирует пользовательский интерфейс при запуске внешнего линтера и поддерживает множество языков и инструментов.

ALE выявляет проблемы с вашим кодом. При наведении курсора на проблемную строку в нижней части экрана отображается полное сообщение об ошибке.

По умолчанию ALE будет использовать все линтеры (которые являются просто исполняемыми файлами), которые он может найти на вашем компьютере. Запустите :ALEInfo, чтобы узнать, какие линтеры доступны, а какие включены.

Лучше явно указать, какие из них вы собираетесь использовать с определенным типом файла:

Некоторые линтеры также способны исправить проблемы в вашем коде. В ALE есть специальная команда :ALEFix, которая исправляет весь файл. Пока что я использую только YAPF от Google в качестве средства исправления, которое форматирует весь файл, когда я нажимаю F10 или сохраняю текущий буфер.

Последний вариант значительно экономит время — он автоматически исправит (и, следовательно, отформатирует) ваш файл при сохранении.

У меня также есть небольшая часть конфигурации, которая показывает общее количество предупреждений и ошибок в строке состояния. Очень удобно.

А вот несколько альтернатив ALE:

Jedi — это «языковой сервер» (см. мою статью LSP), отдельный процесс, работающий в фоновом режиме и анализирующий ваш код.

Другие клиенты (редакторы или IDE) могут подключаться к серверу и запрашивать некоторую информацию, например параметры завершения или координаты перехода к определению.

По сути, Jedi — это IDE как услуга без графического интерфейса.

Чтобы использовать его, вам необходимо установить его с помощью pip install jedi , а затем также добавить клиент. Плагин davidhalter/jedi Vim отлично справляется со своей задачей.

Вот что он может сделать:

Недавно я перешел на neoclide/coc.nvim и coc-python. Coc — это «движок IntelliSense» для Vim и Neovim, который отлично справляется с завершением работы и взаимодействием с языковыми серверами.

Coc (Завоевание завершения)

Для меня преимуществом является использование нового плавающего окна API Neovim, что делает его очень удобным.

Coc-python может использовать как Jedi, так и Microsoft Python Language Server. При первом запуске программа попросит вас установить необходимые компоненты (например, линтер).

Coc предоставляет (с помощью Jedi) некоторые базовые возможности IDE, такие как

И, конечно же, по мере ввода появляется меню автозаполнения (которое вы видите на самом первом снимке экрана).

В принципе, это очень надежный и всеобъемлющий плагин, который покрывает почти все наши потребности.

Дополнительную информацию о его возможностях читайте на вики.

Он имеет собственную независимую систему расширений и собственный (на основе JSON) файл конфигурации. Это не Vim.

Тем не менее, со своей задачей он справляется хорошо, и я продолжаю им пользоваться (пока не появится вариант получше).

Мне стало известно, что кто-то в этих краях проповедует евангелие Sublime Text 3. Как местный старший разработчик (э-э, старина), я считаю своим долгом рассказать вам о единственном ИСТИННОМ Python. среда разработки, которая вам когда-либо понадобится: VIM.

Верно. VIM вездесущ и быстр, и он никогда не дает сбоев. Он также может делать что угодно!

С другой стороны, настройка VIM может быть сложной задачей, но не бойтесь. Эта статья покажет вам, как настроить мощную среду VIM таким образом, чтобы она была ориентирована на ежедневную работу с Python.

Примечание. Чтобы получить максимальную отдачу от этой статьи, вы должны иметь хотя бы общее представление о том, как использовать VIM и его режимы команд. Если вы только начинаете, посмотрите этот или этот ресурс. Вы захотите провести некоторое время с VIM и изучить основы, прежде чем двигаться дальше.

Бесплатный бонус: щелкните здесь, чтобы загрузить копию "Руководства по установке VIM + Python" с советами и настройками для оптимизации настройки разработки Python.

Установка

Поскольку VIM предустановлен на ряде систем *nix, давайте сначала проверим, установлен ли он:

Если он установлен, вы должны увидеть что-то вроде:

Теперь вам нужно проверить две вещи:

  1. Версия VIM должна быть выше 7.3.
  2. +python должен отображаться в списке функций, чтобы вы знали, что Python поддерживается.

Если обе эти проверки пройдены успешно, переходите сразу к расширениям VIM. Если нет, пришло время установить/обновить.

macOS / OS X

Возьмите Homebrew, если у вас его еще нет, и запустите:

*NIX/Linux

Для Debian или Ubuntu вы можете попробовать:

Чтобы узнать о других разновидностях Linux, обратитесь к документации вашего менеджера пакетов. Вот ссылка для начала: Установите Vim.

Окна

Существует множество различных способов установки VIM в Windows. Начните с официальных документов.

Проверка установки VIM

Убедитесь, что вы установили VIM > 7.3 с поддержкой Python. Снова запустите vim --version, чтобы убедиться в этом. Если вы хотите проверить конкретную версию Python, используемую в VIM, запустите :python import sys; print(sys.version) из VIM:

Это должно вывести вашу текущую версию Python. Если вы получили сообщение об ошибке, у вас нет поддержки Python, и вам нужно либо переустановить, либо перекомпилировать, если вы собираете из исходного кода.

Установив VIM, давайте посмотрим, как настроить VIM для разработки на Python.

Расширения VIM

VIM может делать многое из того, что нужно разработчикам, прямо из коробки. Тем не менее, он также обладает широкими возможностями расширения, и есть несколько отличных расширений, которые делают его более похожим на «современную» IDE. Самое первое, что вам нужно, это хороший менеджер расширений.

Примечание. Расширения в VIM часто называют пакетами или подключаемыми модулями.

Вундл

В VIM есть несколько менеджеров расширений, но я настоятельно рекомендую использовать Vundle. Думайте об этом как о пункте для VIM. Это упрощает установку и обновление пакетов.

Давайте установим Vundle:

Эта команда загружает диспетчер подключаемых модулей Vundle и помещает его в каталог пакетов VIM. Теперь вы можете управлять всеми своими расширениями из файла конфигурации .vimrc.

Добавьте файл в домашний каталог вашего пользователя:

Теперь настройте Vundle в своем .vimrc, добавив следующее в начало файла:

Вот и все. Теперь вы настроены на использование Vundle. После этого вы можете добавить подключаемые модули, которые хотите установить, а затем запустить VIM и запустить:

Эта команда заставляет Vundle творить чудеса — скачивать все плагины и устанавливать/обновлять их за вас.

Примечание. Если вы являетесь пользователем Windows, ознакомьтесь с инструкциями по установке Windows.

Давайте сделаем IDE

Мы не смогли бы перечислить все функции VIM, но давайте взглянем на краткий список некоторых мощных готовых функций, идеально подходящих для разработки Python.

Откажитесь от мыши

Возможно, наиболее важной особенностью VIM является то, что он не требует мыши (за исключением графических вариантов VIM).Сначала это может показаться ужасной идеей, но после того, как вы потратите время — а это действительно требует времени — на изучение комбинаций клавиш, вы ускорите свой рабочий процесс в целом!

Разделить макеты

Если вы открываете файл с помощью :sp , вы разделяете макет по вертикали (открывая новый файл под текущим файлом). Если вы поменяете ключи на :vs , вы получите горизонтальное разделение (открытие нового файла справа от вашего текущего файла).

Вы также можете вкладывать разделения, чтобы вы могли иметь разделения внутри разделений, горизонтальные и вертикальные, сколько душе угодно. Как мы все знаем, нам часто приходится просматривать несколько файлов одновременно при разработке.

  • Ctrl + J – перейти к разделению ниже.
  • Ctrl + K – переход к разделению выше.
  • Ctrl + L переместиться вправо.
  • Ctrl + H – переход к разделительной полосе влево.

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

Но подождите, что такое nnoremap? Короче говоря, nnoremap переназначает одну комбинацию клавиш на другую. Отсутствие части означает переназначение ключа в обычном режиме, а не в визуальном режиме. По сути, nnoremap говорит, что в обычном режиме, когда я нажимаю , делайте вместо этого. Дополнительную информацию можно найти здесь.

Буферы

Хотя VIM может выполнять вкладки, многие пользователи предпочитают буферы и разделения. Вы можете думать о буфере как о недавно открытом файле. VIM обеспечивает легкий доступ к последним буферам. Просто введите :b, чтобы переключиться на открытый буфер. (Здесь также работает автозаполнение.) Вы также можете использовать :ls для вывода списка всех буферов.

Свертывание кода

Большинство «современных» IDE позволяют сворачивать (или сворачивать) методы и классы, показывая только строки определения класса/метода, а не весь код.

Вы можете включить это в .vimrc следующими строками:

Это работает нормально, но вы должны ввести za, чтобы свернуть (и развернуть). Клавиша пробела была бы намного лучше. Поэтому добавьте эту строку в свой файл .vimrc:

Теперь вы можете легко скрыть части своего кода, над которыми в данный момент не работаете.

Первоначальная команда set foldmethod=indent создает сгибы на основе отступов строк. Это, однако, часто создает больше складок, чем вы действительно хотите. Но не бойся! Есть несколько расширений, которые пытаются это исправить. Мы рекомендуем СимпилФолд. Установите его с помощью Vundle, добавив следующую строку в .vimrc :

Примечание. Не забудьте установить плагин — :PluginInstall .

Отступ Python

Конечно, чтобы свертывание кода работало на основе отступов, вы хотите, чтобы ваши отступы были правильными. Опять же, VIM немного не соответствует стандарту, потому что он не обрабатывает автоматический отступ после определения функции. Вы можете сделать две вещи с отступом:

  1. Установите отступ в соответствии со стандартами PEP 8.
  2. Улучшенная обработка автоматического отступа.

PEP 8

Чтобы добавить правильный отступ PEP 8, добавьте в свой .vimrc следующее:

Это даст вам стандартные четыре пробела, когда вы нажмете на вкладку, убедитесь, что длина строки не превышает 80 символов, и сохраните файл в формате Unix, чтобы у вас не возникло множество проблем с преобразованием при регистрации в GitHub и/или поделиться с другими пользователями.

Для полной разработки стека вы можете использовать другую команду au для каждого типа файла:

Таким образом, у вас могут быть разные настройки для разных типов файлов. Существует также плагин под названием ftypes, который позволит вам иметь отдельный файл для каждого типа файлов, для которых вы хотите сохранить настройки, так что используйте его, если считаете нужным.

Автоматический отступ

автоматический отступ поможет, но в некоторых случаях (например, когда сигнатура функции занимает несколько строк) он не всегда делает то, что вам нужно, особенно когда речь идет о соответствии стандартам PEP 8. Чтобы исправить это, вы можете использовать расширение indentpython.vim:

Пометка ненужных пробелов

Вы также хотите избежать лишних пробелов. Вы можете установить флаг VIM для себя, чтобы его было легко обнаружить, а затем удалить:

Это пометит дополнительные пробелы как плохие и, возможно, окрасит их в красный цвет.

Поддержка UTF-8

В большинстве случаев при работе с Python следует использовать кодировку UTF-8, особенно если вы работаете с Python 3. Убедитесь, что VIM знает об этом, с помощью следующей строки:

Автозаполнение

Лучший плагин для автозаполнения Python — YouCompleteMe. Опять же, используйте Vundle для установки:

Под капотом YouCompleteMe используется несколько различных автозаполнителей (в том числе Jedi для Python), и для правильной работы требуется установка некоторых библиотек C. В документах есть очень хорошие инструкции по установке, поэтому я не буду повторять их здесь, но обязательно следуйте им.

Он работает из коробки довольно хорошо, но давайте добавим несколько настроек:

Первая строка гарантирует, что окно автозаполнения исчезнет, ​​когда вы закончите с ним работать, а вторая определяет ярлык для определения перехода.

Примечание. Моя управляющая клавиша привязана к пробелу, поэтому пробел-g перейдет к определению того, на чем я сейчас нахожусь. Это полезно, когда я изучаю новый код.

Виртуальная поддержка

Одна из проблем с приведенным выше определением goto заключается в том, что VIM по умолчанию ничего не знает о virtualenv, поэтому вам нужно сообщить VIM и YouCompleteMe о вашем virtualenv, добавив следующие строки кода в .vimrc :

Это определяет, работаете ли вы внутри виртуальной среды, переключаетесь на эту конкретную виртуальную среду, а затем настраиваете системный путь, чтобы YouCompleteMe мог найти соответствующие пакеты сайта.

Проверка/выделение синтаксиса

Вы можете сделать так, чтобы VIM проверял ваш синтаксис при каждом сохранении с синтаксическим расширением:

Также добавьте проверку PEP 8 с помощью этого изящного маленького плагина:

Наконец, сделайте ваш код красивым:

Цветовые схемы

Цветовые схемы работают в сочетании с базовой цветовой схемой, которую вы используете. Попробуйте Solarized для графического интерфейса и Zenburn для терминального режима:

Затем просто добавьте немного логики, чтобы определить, какую схему использовать в зависимости от режима VIM:

Solarized также поставляется с темной и светлой темами. Чтобы сделать переключение между ними очень простым (по нажатию F5 ), добавьте:

Просмотр файлов

Если вам нужно правильное файловое дерево, вам подойдет NERDTree:

Если вы хотите использовать вкладки, используйте vim-nerdtree-tabs:

Хотите скрыть файлы .pyc? Затем добавьте следующую строку:

Суперпоиск

Хотите найти что-нибудь в VIM? Проверьте ctrlP:

Как и следовало ожидать, нажатие Ctrl + P активирует поиск, так что вы можете просто начать печатать. Если ваш поиск соответствует чему-либо близкому к файлу, который вы ищете, он найдет его. О, и это не только файлы: он найдет и теги! Чтобы узнать больше, посмотрите это видео на YouTube.

Нумерация строк

Включите номера строк сбоку экрана с помощью:

Интеграция с Git

Хотите выполнять основные команды git, не выходя из VIM? Тогда вам подойдет vim-fugitive:

Посмотрите его в действии на VIMcasts.

Линия электропередач

Powerline — это строка состояния, в которой отображается текущая виртуальная среда, ветка git, редактируемые файлы и многое другое.

Он написан на Python и поддерживает ряд других сред, таких как zsh, bash, tmux и IPython:

Ознакомьтесь со всеми параметрами конфигурации в официальной документации.

Системный буфер обмена

Vim обычно имеет собственный буфер обмена и игнорирует системные клавиатуры, но иногда вам может понадобиться вырезать, копировать и/или вставлять в/из других приложений за пределами VIM. В OS X вы можете получить доступ к системному буферу обмена с помощью этой строки:

VIM в оболочке

Наконец, когда вы освоите VIM и его сочетания клавиш, вас часто будет раздражать отсутствие тех же сочетаний клавиш в оболочке. Не бойтесь: большинство оболочек имеют режим VI. Чтобы включить его для вашей оболочки, добавьте следующую строку в ~/.inputrc :

Теперь вы сможете использовать комбинации клавиш VIM не только в оболочке, но и в интерпретаторе Python и любом другом инструменте, который использует GNU Readline (большинство оболочек баз данных). Теперь VIM везде!

Заключение

Это более или менее достаточно (по крайней мере, для разработки Python). Существует множество других расширений, которые вы можете использовать, а также альтернативы всему, что описано в этом посте. Какие ваши любимые расширения? Как вы настроили VIM, чтобы он соответствовал вашему характеру?

Вот ссылка на мою текущую конфигурацию VIM. У тебя есть свой? Пожалуйста, поделитесь!

Спасибо за чтение!

Ресурсы

Бесплатный бонус: щелкните здесь, чтобы загрузить копию "Руководства по установке VIM + Python" с советами и настройками для оптимизации настройки разработки Python.

    поставляется с VIM, поэтому после установки VIM просто введите vimtutor из командной строки, и программа научит вас использовать VIM, ну, с помощью VIM. представляют собой расширенные обучающие видеоролики, описывающие, как использовать многие функции VIM. идеально подходит для изучения vimscript.

Раз в несколько дней получайте короткие и интересные трюки с Python. Никакого спама никогда. Отписаться в любое время. Куратор: команда Real Python.

Освойте навыки работы с Python в реальном мире с неограниченным доступом к реальному Python

Присоединяйтесь к нам и получите доступ к сотням руководств, практических видеокурсов и сообществу опытных питонистов:

Освойте навыки работы с Python в реальном мире
с неограниченным доступом к реальному Python

Присоединяйтесь к нам и получите доступ к сотням руководств, практических видеокурсов и сообществу опытных питонистов:

Что вы думаете?

Настоящая политика комментариев Python: самые полезные комментарии — это те, которые написаны с целью обучения или помощи другим читателям — после прочтения всей статьи и всех предыдущих комментариев. Жалобы и оскорбления, как правило, здесь неуместны.

Всем привет!
Я вернулся с еще одним руководством по Linux. Мы собираемся поговорить о том, что мне больше всего нравится, — о VIM.
Мы все сыты по горло iDE и текстовыми редакторами, на открытие которых уходят годы, а настройка этих вещей занимает больше времени, чем написание всего кода. Вот почему я придумал лучшее решение.

Что такое Вим?

Прежде чем двигаться дальше, давайте поговорим о том, что такое vim. Vim — очень легкий текстовый редактор, который можно настроить по своему усмотрению. Обычно он запускается в терминале, и его очень легко освоить.

Почему Vim?

Как я упоминал ранее, Vim очень быстр и легко настраивается. Кроме того, кто не хочет работать с IDE, которая открывается за секунду? Еще одна причина выбрать vim — его сочетания клавиш. При использовании vim вам не нужно прикасаться к мыши. Это сократит время написания кода вдвое. Я уверен, что к концу дня вы станете фанатом. Давайте начнем сейчас.

После этого руководства наш vim будет выглядеть так:

Установка Vim

Установка Vim — очень простой шаг. Сейчас я сосредоточусь на установке Linux, но приведу ссылки для других операционных систем.
Windows — Vim в Windows

Mac. Мы собираемся установить vim с помощью Homebrew. Откройте терминал и введите:

Выйти из полноэкранного режима

Это установит vim на ваш компьютер.

Linux. Установить vim в Linux очень просто. Откройте терминал и введите:

Выйти из полноэкранного режима

Выйти из полноэкранного режима

Выйти из полноэкранного режима

Установка диспетчера подключаемых модулей

Vim поставляется со встроенным менеджером подключаемых модулей, но у нас есть кое-что получше. Мы собираемся установить Vundle. Это упрощает установку и обновление пакетов.
Давайте установим vundle:

Выйти из полноэкранного режима

Это клонирует репозиторий vundle на вашем компьютере.

  • Следующий шаг — файл конфигурации vim (vimrc). Этот файл понадобится вам на протяжении всего урока. Сделайте следующее в своем терминале:

Выйти из полноэкранного режима

  • Добавьте vundle в конфигурацию vim. Перейдите в свой терминал и введите:

Выйти из полноэкранного режима

это откроет файл vimrc. Теперь скопируйте приведенный ниже код и вставьте его туда.

Выйти из полноэкранного режима

Теперь нажмите Ctrl+O, чтобы записать файл, затем нажмите Enter и, наконец, Ctrl+X, чтобы выйти из редактора.

  • Теперь давайте установим плагин vundle внутри vim. запустите свой терминал и введите vim, и теперь vim загрузится. Теперь введите :PluginInstall и нажмите Enter .

Превращение Vim в IDE

Теперь самое интересное — установка всех плагинов для превращения vim в IDE. Этот шаг очень прост, мы добавим строку в наш vimrc, перейдем к vim и установим его. Не волнуйтесь, это может показаться немного запутанным, но это очень просто. Приступим :

  • Откройте свой терминал, введите sudo nano ~/.vimrc и очистите там все, а затем вставьте код:

Выйти из полноэкранного режима

Как и раньше, нажмите ctrl+o, чтобы написать, и Enter, чтобы сохранить. Затем нажмите Ctrl+x, чтобы выйти.

Следующий шаг — установить все с помощью диспетчера подключаемых модулей. Откройте терминал и введите vim. Теперь установите плагин, набрав :PluginInstall. Это займет некоторое время, но все плагины будут установлены.

Ошибка ycmserver. Когда вы открываете vim, вы можете столкнуться с некоторыми ошибками, но не беспокойтесь, это очень легко исправить. откройте терминал и введите:

Выйти из полноэкранного режима

  • Давайте настроим цветовую схему для нашей IDE. Сейчас мы собираемся установить океаническую тему. запустите свой терминал и введите:

Выйти из полноэкранного режима

Теперь откройте свой vimrc и добавьте цветовые схемы. Для этого откройте терминал и введите:

Выйти из полноэкранного режима

Выйти из полноэкранного режима

Теперь Ctrl+o, чтобы написать, и нажмите Enter, чтобы сохранить. Нажмите Ctrl+x, чтобы выйти.

Молодцы ребята. Мы сделали vim мощной, но легкой идеей.

Возможности нашей новой среды разработки Vim

Мы сделали так много вещей, но я не объяснил, что мы делали или какие функции мы добавили в нашу Vim-Ide. Поверьте мне, вы, ребята, будете удивлены, когда услышите особенности вашего нового идеала. Давайте займемся этим сейчас.

  • Разделить макет. Если вы открываете файл с помощью :sp , вы разделяете макет по вертикали (открывая новый файл под текущим файлом). Если вы поменяете ключи на :vs , вы получите горизонтальное разделение (открытие нового файла справа от вашего текущего файла). Комбинации клавиш: Ctrl + j перейти к разделению ниже, Ctrl + k перейти к разделению выше, Ctrl + l перейти к разделению вправо, Ctrl + h перейти к разделению влево.

  • Свертывание кода. Современные IDE могут сворачивать коды функций и операторов импорта, отображая только первую строку. Вы также можете сделать это здесь, нажав клавишу пробела.

  • Автозаполнение. Как и любая другая IDE, vim может предсказать, что вы собираетесь делать дальше.

  • Суперпоиск. Вы можете перейти к любому файлу или любому тегу, просто нажав Ctrl + p . Это одна из моих любимых функций vim.

  • Проверка/выделение синтаксиса — после написания кода в vim. Наш плагин flake-8 и syntastic выделит все ошибки в вашем коде, а также подскажет, как их исправить.

Мы добавили почти все функции ide в наш vim. Теперь вы можете писать код в многофункциональном IDE, не дожидаясь часа, пока он откроется.

Небольшое введение в Vim

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

Режимы — Vim обычно открывается в командном режиме, это означает, что вы можете писать что угодно, но все остальные команды вы выполняете здесь, как мы установили плагины. Команды обычно начинаются с : . Для перехода из командного режима в режим записи нажмите i . Теперь вы находитесь в режиме вставки, вы можете написать здесь все и вернуться в командный режим, нажав Esc .

Запись, сохранение и выход. Когда мы переключаемся на режим вставки из командного режима ( i ), мы можем редактировать код. После того, как мы закончим, нам нужно сохранить это и выйти, но как?
Для этого нужно вернуться в командный режим, нажав Esc и нажать :w, чтобы все написать. вы можете выйти из редактора с помощью команды :q . Если нам нужно выйти без сохранения, используйте команду :q! .

Дополнительный ресурс. Если вам нужно больше узнать о vim и его возможностях, перейдите на vimcasts.

Заключение

Vim — это то, что каждый программист должен попробовать хотя бы раз. Я надеюсь, что этот блог помог кому-то или вдохновил кого-то попробовать его. Существует множество плагинов, найдите свой и попробуйте. Если вы обнаружите какие-либо трудности, пожалуйста, дайте мне знать в комментариях. На сегодня это все, и скоро я вернусь с другим уроком.

«Vim как Python IDE» — горячая тема. Все знают, что Vim — невероятный текстовый редактор для быстрого и эффективного ввода и редактирования текста (если вы опытный пользователь Vim).Кроме того, он легко настраивается, надежен, работает практически в любой среде и высоко ценится опытными разработчиками. Естественно, многие люди выбирают Vim в качестве редактора для написания кода на Python и других языках.


Хотя Vim действительно отличный выбор, как только вы попытаетесь использовать его для чего-то, для чего он не предназначен, вы столкнетесь с проблемами. Например, если вы используете его как IDE. Очевидно, что многие разработчики Python хотят, чтобы это была IDE просто потому, что продуктивная разработка Python требует большего, чем просто отличный редактор. Это может работать для некоторых языков, но не для Python, который очень сложно поддерживать в больших и сложных проектах.

С Python действительно необходимо избавиться от рутинных задач и использовать дополнительные инструменты, такие как проверка кода, выделение ошибок на лету, проверка зависимостей, быстрые исправления, рефакторинг, отладчик, поддержка фреймворков, помощь в тестировании, версия. контроль, поиск и навигация, управление проектами, удаленная помощь в разработке, проверка на соответствие PEP-8. Это довольно большой список. И все эти функции должны работать вместе надежно, эффективно и надежно.

Для этого и созданы IDE. Они обеспечивают необходимый уровень эффективности и удобства для использования многих инструментов и функций в одном месте.

Хорошо это или плохо, но Vim не является IDE. Конечно, он настраиваемый и поддерживает множество вещей, с множеством плагинов, надстроек и других наворотов. Тем не менее, это далеко не настоящая IDE.

Вот яркий пример перегрузки Vim. Результатом множества изощренных модификаций, непонятных даже опытным пользователям Vim, является следующее тесное окно редактора:

Если вам нужна IDE для начала, это определенно трудный способ ее получить.

PyCharm подходит к этой проблеме наоборот. PyCharm — это полноценная IDE с настраиваемым и мощным редактором, унаследованным от платформы IntelliJ. Но вам не нужно выбирать между IDE или Vim: благодаря плагину IdeaVim (доступен для всех продуктов на базе IntelliJ) вы действительно можете получить лучшее из обоих миров. IdeaVim поддерживает многие функции Vim, в том числе сочетания клавиш, клавиши движения, многие типы команд, регистры, макросы, режимы и многое другое.

Но не верьте нам на слово. «Ничто не может заменить Vim, но IdeaVim кажется ближе, чем попытки любого другого редактора», — говорит Эндрю Брукинс, опытный разработчик, испробовавший различные текстовые редакторы и инструменты для Python и веб-разработки, в своем удивительно всеобъемлющем обзоре. Год спустя: грандиозный обзор PyCharm 2.7 с точки зрения пользователя Vim. Мы настоятельно рекомендуем прочитать ее, если вы еще этого не сделали.

Чтобы насладиться эмуляцией VIM внутри PyCharm, загрузите и установите PyCharm, перейдите в раздел Файл | Настройки | Плагины и поиск IdeaVim. Установите его, перезапустите IDE и все!
Попробуйте, и пока вы это делаете, не стесняйтесь голосовать за новые функции и сообщать о любых проблемах в YouTrack.

Читайте также: