Vim python mac os

Vim как среда разработки Python

Vim это хорошо настраиваемый текстовый редактор, часто использующийся в качестве среды разработки Python. Само название «Vim» расшифровывается как Vi Improved (улучшенный Vi; Vi — текстовый редактор в UNIX). Поклонники этого редактора среди его сильных сторон обычно называют обилие плагинов, Vimscript и логичный язык команд.

Чем хорош Vim в плане разработки на Python?

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

В редакторе Vim очень логичный и структурированный язык команд. Когда новичок приступает к ознакомлению с редактором, названия команд могут показаться ему непонятными и, как следствие, трудными для запоминания. Но все они строятся и комбинируются, подчиняясь определенным правилам. Когда вы усваиваете эти правила, язык команд становится понятным и предсказуемым.

Настройка Vim при помощи файла Vimrc

Для настройки редактора Vim используется файл Vimrc. Он может быть пустым, а может содержать сотни или даже тысячи строк конфигурационных команд.

Вот короткий пример файла .vimrc (с комментариями), который можно использовать для разработки на Python:

Вот как выглядит текст этой статьи в редакторе Vim, настроенном подобным образом:

Взгляните на другой пример использования этой конфигурации, на этот раз со светлым фоном. Так выглядит код на Python:

Файл Vimrc находится в домашней директории пользователя, запускающего Vim. Например, для аккаунта пользователя matt в Mac OS X путь к файлу Vimrc будет следующим: /Users/matt/.vimrc

В Ubuntu (Linux) файл .vimrc будет находиться в директории /home/matt/ .

Если файл Vimrc не существует, просто создайте его в своей домашней директории, и Vim его подхватит при следующем запуске.

Руководства по Vim

Vim имеет репутацию сложного в изучении редактора, но эти руководства облегчат вам старт.

  • Learn Vim Progressively. Отличный туториал, который позволит вам изучить достаточно для «выживания», т. е., простого ежедневного пользования. А уже в ходе работы вы познакомитесь с более продвинутыми функциями.
  • Учебник по Vim. Позволит вам углубиться в изучение редактора.
  • Why Atom Can’t Replace Vim. В этой статье рассматриваются основные принципы Vim, а именно — возможность объединения команд. Язык Vim позволяет комбинировать простые команды для выполнения более сложных операций. Например, если вы в командном режиме наберете символ $, курсор переместится в конец строки. А если перед этим символом поставить d (d$), то будет удалено все, что находится от текущего положения курсора и до конца строки. Со временем простые команды станут для вас интуитивными, и тогда вам будет проще использовать их комбинацию, чем пользоваться мышью или выпадающим меню.
  • Vim as Language. Эта статья объясняет синтаксис Vim.
  • How to install and use Vim on a cloud server и How to use Vim for advanced editing of code on a VPS это два подробных руководства по работе с Vim — как локальной, так и на облачном сервере.
  • PacVim. Игра (в командной строке) для изучения команд Vim. Используется тема PacMan.
  • Ten years of Vim. Статья с воспоминаниями опытного разработчика об использовании Vim в качестве основного текстового редактора и среды разработки. Особенно интересна часть о том, как автор вернулся от использования плагинов к более простой конфигурации редактора.
  • At least one Vim trick you might not know about. Коллекция неочевидных сочетаний клавиш, многие из которых весьма полезны, хотя не очень распространены.
  • Vim Adventures. Крутая браузерная игра, помогающая изучить команды Vim.
  • Things About Vim I Wish I Knew Earlier. Автор этой статьи рассказывает о том, чему он научился, несколько лет пользуясь исключительно Vim. Например, вы узнаете об относительной нумерации строк (вместо абсолютной), использовании различных опций конфигурации, нечетком поиске (для быстрого открытия файлов в другой директории).
  • Seven habits of effective text editing. В статье рассказывается, как быстро перемещаться по тексту, исправлять ошибки и формировать хорошие привычки редактирования.
  • Vimtutor — интерактивный учебник по Vim в UNIX-подобных системах. Изучение команд путем их использования, а не просто заучивания. Учебник можно русифицировать. Запускается командой $ vimtutor .
Читайте также:  0xc000007b dll windows 10

Ресурсы по Vimrc

Есть несколько ресурсов, которые помогут вам научиться структурировать файл .vimrc. Лучше добавлять опции конфигурации и тестировать их по отдельности, а не всем скопом (особенно если вы еще не знакомы с Vimrc).

  • A Good Vimrc. Фантастически подробный обзор и надежное руководство по настройке Vim. Пригодится как начинающим, так и опытным пользователям этого редактора.
  • Vim and Python. Эта статья познакомит вас с опциями файла .vimrc для работы с Python.
  • Vim as a Python IDE. Из этой статьи вы узнаете о плагинах и настройках редактора Vim, позволяющих использовать его в качестве среды разработки Python.
  • В этом репозитории есть отдельная папка с файлами Vimrc. Примеры конфигурации в этих файлах сопровождаются хорошими комментариями, благодаря чему по ним можно учиться.
  • Если вам тяжело дается начало работы с Vim, обратите внимание на статью Two Simple Steps Helped Me Learn Vim.

Руководства по установке Vim

Эти руководства научат вас, как установить и запустить Vim на машине с Mac OS X, Linux или Windows.

  • Статья Upgrading Vim on OS X поясняет, зачем нужно обновлять Vim 7.2 до 7.3+ и как это сделать при помощи Homebrew.
  • Самый простой способ установить Vim на Windows это скачать и запустить файл vim74.exe.
  • В Linux Vim устанавливается командой sudo apt-get install vim .
  • Если вы в качестве среды разработки используете PyCharm, вам нет нужды устанавливать Vim отдельно. Вместо этого можно использовать плагин IdeaVim.

Использование Vim в качестве Python IDE

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

  • VIM and Python — a Match Made in Heaven. Статья подробно рассказывает о том, как настроить мощную среду VIM, чтобы днями напролет создавать в ней код на Python.
  • Проект python-mode это плагин для Vim, обеспечивающий подсветку синтаксиса, брейкпоинты, PEP8-линтинг (PEP8 — соглашение о стиле написания кода в Python), автодополнение кода и многие другие функции, которые вы ожидаете найти в интегрированной среде разработки.
  • В статье Vim as Your IDE поясняется, как настроить Vim для достижения большей продуктивности. Имеет смысл читать, когда вы уже освоили язык команд и научились пользоваться этим редактором.
  • Setting up Vim for Python. Советы по использованию Vim от пользователей Stack Overflow.
  • Если вы пишете в Vim документацию в разметке Markdown, обязательно почитайте пост о соответствующей настройке редактора.

Плагины Vim

  • 5 Essential VIM Plugins That Greatly Increase my Productivity. Автор статьи описывает свой опыт работы с такими плагинами как Vundle, NERDTree, ctrlp, Syntastic и EasyMotion.
  • Getting more from Vim with plugins. В этой статье вы найдете список плагинов с описаниями и примечаниями относительно их полезности. Также интересны комментарии внизу статьи, поскольку читатели предлагают альтернативные варианты для некоторых плагинов, упомянутых в тексте.
  • Powerline — это популярный плагин Vim для усовершенствования строки состояния. Работает в Python 2 и 3.
  • VimAwesome — это директория с плагинами Vim. Пополняется при помощи Vim.org, GitHub и предложений пользователей.
  • Command-T — плагин Vim для быстрого нечеткого поиска файлов.
  • YouCompleteMe — движок автодополнения кода и плагин, полезный для работы с Python.

Менеджеры плагинов Vim

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

  • Vundle — часто рекомендуется пользователями.
  • Pathogen — тоже очень широко используется.
  • Vim-plug — позиционируется как минималистичный менеджер.

Специфичные руководства

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

  • Vim’s absolute, relative and hybrid line numbers. Из этой статьи вы узнаете, как изменять схему нумерации строк. Польза этой функции сильно зависит от того, с каким языком вы работаете.
  • Статья A simpler Vim statusline поясняет, как можно кастомизировать строку состояния внизу экрана без использования плагинов (таких, как vim-powerline или vim-airline).
  • Есть очень крутой проект vim-clutch. Его суть — в возможности сделать ножную педаль для переключения между командным режимом и режимом вставки (вместо использования клавиши ESC).
  • И вот еще одна любопытная статья о том, как ее автор вел записи на лекциях по математике, используя LaTeX и Vim.
Читайте также:  Realtek wifi ������� ��� linux

Источник

Vim для разработки на Python

Автор: Frank Hofmann
Дата записи

Что такое Vim?

Vim-это мощный текстовый редактор, который принадлежит к одному из компонентов по умолчанию в каждом дистрибутиве Linux, а также Mac OS X. Фильм следует своей собственной концепции использования, заставляя сообщество разделиться на сильных сторонников и яростных противников, которые выступают за другие редакторы, такие как Emacs. (Кстати, это очень приятно зимой, когда две восторженные команды вместе играют в снежки).

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

Автозавершение

Vim уже оснащен функцией автоматического завершения. Это хорошо работает, но ограничивается словами, которые уже существуют в текущем текстовом буфере. В режиме вставки с помощью комбинации клавиш CTRL+N вы получаете следующее слово в текущем буфере и CTRL+P последнее. В любом случае появляется меню со словами, из которого вы выбираете слово, которое будет вставлено в текст в текущей позиции курсора документа.

Это уже довольно круто. К счастью, такая же функция существует для целых строк текста. В режиме вставки сначала нажмите CTRL+X , а затем CTRL+L . Появится меню с аналогичными строками, из которого вы выберете строку, которую хотите вставить в текст в текущем положении курсора документа.

Для эффективной разработки в Python Vim содержит стандартный модуль с именем python complete (Python Omni Completion). Чтобы активировать этот плагин, добавьте следующие две строки в конфигурационный файл Vim .vimrc :

Затем в окне редактора Vim завершение работы выполняется в режиме вставки на основе комбинации клавиш CTRL+X с последующим CTRL+O . Появится подменю, предлагающее вам функции Python и ключевые слова для использования. Пункты меню основаны на описаниях модулей Python (“docstrings”). В приведенном ниже примере показана функция abs() с дополнительной справкой в верхней части экрана редактора vim.

Следующий плагин, который я хотел бы обсудить, называется Jedi-Vim . Он соединяет Vim с библиотекой Jedi autocompletion.

Установив соответствующий пакет в вашу систему Debian GNU/Linux, он нуждается в дополнительном шаге, чтобы заставить Jedi-Vim работать. Плагин должен быть активирован с помощью менеджера плагинов Vim следующим образом:

Далее проверьте состояние плагина:

Теперь плагин активирован, и вы можете использовать его в Vim во время программирования. Как только вы наберете точку или нажмете CTRL+Пробел , меню откроется и покажет вам имена методов и операторов, которые могут подойти. На рисунке ниже показаны соответствующие записи из модуля csv . Как только вы выберете пункт из меню, он будет вставлен в ваш исходный код.

Интерактивный плагин-это youcompleteme . Он описывает себя как “быстрый, как вы печатаете, механизм завершения кода нечеткого поиска для Vim”. Для Python 2 и 3 автоматическое завершение также основано на Jedi. Среди других языков программирования он также поддерживает C#, Go, Rust и Java.

Предоставленная в репозитории Git, установка требует дополнительных шагов для ее использования. Пакет на Debian GNU/Linux поставляется с скомпилированной версией, и после установки пакета через apt-get следующие шаги заставят его работать . Сначала включите пакет с помощью Vim Addon Manager ( vam ) или команды vim-addons :

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

В-третьих, скопируйте значение по умолчанию ycm_extra_conf.py файл из каталога примеров в папку

/.vim/ следующим образом:

Последний шаг-добавить следующие две строки в файл .vimrc :

Первая строка-это комментарий, который можно опустить, а вторая строка определяет конфигурационный файл для плагина youcompleteme. Et voila – теперь Vim принимает автоматическое завершение кода. Когда вы увидите предлагаемую полезную строку завершения, нажмите клавишу TAB , чтобы принять ее. Это вставляет строку завершения в текущую позицию. Повторные нажатия клавиши TAB циклически повторяют предлагаемые доработки.

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

Vim уже поставляется с подсветкой синтаксиса для огромного количества языков программирования, включая Python. Есть три плагина , которые помогают улучшить его – один называется python-syntax , другой- python-mode , а третий – python.vim .

Среди прочего на сайте проекта python-syntax перечислено большое количество улучшений, таких как выделение исключений, доктестов, ошибок и констант. Приятной особенностью является переключение между подсветкой синтаксиса для Python 2 и 3 на основе дополнительной команды Vim – :Python2Syntax и :Python3Syntax . Это помогает определить возможные изменения, необходимые для запуска скрипта с обеими версиями.

Читайте также:  Microsoft reader windows update

Объединение Vim с системой контроля версий Git

Контроль версий очень важен для разработчиков, и Git, вероятно, лучшая система для этого. Компилируя код Python, интерпретатор создает ряд временных файлов, таких как __pikachu__ и *.pyc . Изменения этих файлов не нужно отслеживать в Git. Чтобы игнорировать их, Git предлагает функцию так называемого файла .gitignore . Создайте этот файл в своей ветке разработки, управляемой Git, со следующим содержимым:

Кроме того, добавьте файл README для вашего проекта, чтобы задокументировать, о чем он идет. Независимо от того, насколько мал ваш проект, файл README помогает вам (и другим) запомнить, для чего предназначен код. Запись этого файла в формате Markdown особенно полезна, если вы синхронизируете свой код Python с репозиторием на GitHub. Файл README автоматически преобразуется в HTML-код, который можно легко просмотреть в вашем веб-браузере.

Vim может сотрудничать с Git напрямую, используя специальные плагины. Среди прочих есть вим-беглец , гв.вим и уксус . Все они доступны на Github, и в основном в виде пакета для Debian GNU/Linux.

Скачав vim-fugitive через apt-get , он должен быть активирован аналогично тому, как это было сделано ранее с другими плагинами:

Этот плагин работает только с файлами, которые отслеживаются с помощью Git. Становится доступным большое количество дополнительных команд Vim, таких как :Gedit , : Gdiff , : G status , : G grep и :Glog . Как указано на сайте проекта эти команды Vim соответствуют следующим командам и действиям Git:

  • :Gedit : Отредактируйте файл в индексе и запишите в него все изменения
  • ::Great ( git checkout — filename ): Загрузить содержимое файла в текущий буфер
  • ::Write ( git add ): Добавьте файл в список отслеживаемых в данный момент файлов
  • ::Diff ( git diff ): Вызовите поэтапную версию файла бок о бок с рабочей версией дерева и используйте возможности обработки Vim diff для поэтапной обработки подмножества изменений файла.
  • ::Move ( git mv ): Переместить файл в новое место
  • ::Status ( git status ): Показать текущее состояние вашего каталога Git
  • ::Commit ( git commit ): Зафиксируйте ваши изменения
  • ::Grep ( git grep ): Поиск заданного шаблона в репозитории Git
  • :Glog ( git log ): Загружает все предыдущие версии файла в список quickfix, чтобы вы могли перебирать их и наблюдать за развитием файла!
  • ::Blame ( git blame ): Показывает, кто внес последние изменения в файл

Работа Со Скелетами

Скелетные файлы (или шаблоны) – это хорошая функция Vim, которая помогает повысить вашу производительность, добавляя текст по умолчанию в файл при создании нового. Например, во многих файлах Python вы будете иметь a shebang , license, docstring и author info в начале файла. Было бы хлопотно вводить или даже копировать эту информацию в каждый файл. Вместо этого вы можете использовать скелетные файлы для добавления этого текста по умолчанию.

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

Вы бы создали файл с этим содержимым и назвали его чем-то вроде “skeleton.py”, а затем переместите его в каталог

/.vim/skeleton.py . Чтобы указать Vim, какой файл следует использовать в качестве скелетного файла для Python, добавьте в свой файл .vimrc следующее:

Это говорит Vim использовать указанный файл скелета для всех новых файлов, соответствующих имени файла “*.py”.

Примечания по использованию плагинов

Обычно Vim работает довольно быстро. Чем больше плагинов вы активируете, тем больше времени это занимает. Запуск Vim задерживается и занимает заметно больше времени, чем раньше. Кроме того, обычно пакеты Debian/Ubuntu работают из коробки, и сценарии установки включают в себя все шаги для правильной настройки плагина. Я заметил, что это не так, и иногда требуются дополнительные шаги.

Больше Ресурсов

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

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

Остальные-это некоторые замечательные ресурсы со всего Интернета, которые мы также нашли очень полезными:

Эти статьи помогут расширить ваши знания. Наслаждаться:)

Признание

Автор хотел бы поблагодарить Золеку Хатитонгве за ее помощь и критические замечания при подготовке статьи.

Источник

Оцените статью