Если вы пишете код только на Python, задайте настройки по умолчанию для отступов и переноса строк, чтобы значения были совместимы с PEP 8 ( https://www.python.org/dev/peps/pep-0008). Для этого создайте в домашнем каталоге [26] Для того чтобы найти домашний каталог в Windows, откройте Vim и введите команду: echo $HOME.
файл с именем. vimrc и введите в него следующий код:
set textwidth=79··" строки длиннее 79 символов будут разбиваться
set shiftwidth=4··" операция >> сдвигает на 4 позиции вправо;
··················" << сдвигает на 4 позиции влево
set tabstop=4·····" табуляция имеет длину 4 позиции
set expandtab·····" использовать пробелы при табуляции
set softtabstop=4·" добавление/удаление четырех пробелов при нажатии
··················" клавиш TAB/BACKSPACE
set shiftround····" округлять длину отступа до значения,
··················" кратного значению параметра 'shiftwidth'
set autoindent····" задавать для новой строки такой же отступ,
··················" что и для предыдущей
С помощью этих настроек символ перехода на новую строку будет добавляться после каждых 79 символов в строке. Отступы настроены таким образом, что при каждом нажатии табуляции будет добавлено четыре пробела. Если вы находитесь внутри выражения, имеющего отступ, следующая строка будет иметь отступ такого же уровня.
Существует также надстройка для синтаксиса (называется python.vim, http://bit.ly/python-vim), которая улучшает файл синтаксиса, включенный в Vim 6.1, а также небольшая надстройка SuperTab ( http://bit.ly/supertab-vim), позволяющая использовать более удобное автозаполнение кода путем нажатия Tab (или любой другой клавиши, указанной в настройках).
Если вы используете Vim для других языков, обратите внимание на удобную надстройку indent ( http://bit.ly/indent-vim), которая работает с настройками отступов в файлах исходного кода Python.
Эти надстройки предоставляют основную среду для разработки на Python. Если ваша копия Vim скомпилирована с параметром +python (вариант по умолчанию для версии Vim 7 и выше), вы также можете использовать надстройку vim-flake8 ( https://github.com/nvie/vim-flake8) для выполнения статических проверок кода внутри редактора. Эта надстройка предоставляет функцию Flake8, которая запускает pep8 ( http://pypi.python.org/pypi/pep8/) и Pyflakes ( http://pypi.python.org/pypi/pyflakes/). Надстройка отобразит ошибки в нижней части экрана и предложит простой способ переключиться на соответствующую строку.
Если вам удобно, можете заставить Vim вызывать Flake8 каждый раз, когда вы сохраняете файл с кодом Python, добавив следующую строку в файл. vimrc:
autocmd BufWritePost *.py call Flake8()
Или, если вы уже пользуетесь плагином syntastic ( https://github.com/scrooloose/syntastic), то можете настроить его так, чтобы он запускал Pyflakes при записи и показывал ошибки и предупреждения в окне quickfix. Рассмотрим пример конфигурации, которая позволяет этого достичь, а также выдавать сообщения о состоянии и предупреждения в строке состояния:
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g: syntastic_auto_loc_list=1
let g: syntastic_loc_list_height=5
Python-mode.Python-mode ( https://github.com/klen/python-mode) — сложное решение для работы с кодом Python в Vim. Если вам понравятся представленные здесь функции, стоит им воспользоваться (но имейте в виду, что это немного замедлит запуск Vim):
• асинхронные проверки кода Python (команды pylint, pyflakes, pep8, mccabe) в любой комбинации;
• рефакторинг кода и автозаполнение с помощью библиотеки rope;
• быстрое свертывание кода Python;
• поддержка инструмента virtualenv;
• возможность выполнять поиск в документации Python и запускать код Python;
• автоматическое исправление ошибок pep8.
Emacs — еще один мощный текстовый редактор. Теперь он имеет графический интерфейс, но его все еще можно запустить в консоли. Его можно настраивать с помощью Lisp. Затратив немного усилий, вы можете превратить этот редактор в IDE для Python. Им пользуются мазохисты и Реймонд Хеттингер (Raymond Hettinger) [27] Нам нравится Реймонд Хеттингер. Если бы все писали код так, как он рекомендует, мир был бы гораздо лучше.
( http://pyvideo.org/speaker/138/raymond-hettinger).
Emacs написан на Lisp, выпущен в 1976 году Ричардом Столлманом (Richard Stallman) и Гаем Ли Стилом (Guy L. Steele). Встроенная функциональность включает в себя удаленное редактирование (с помощью FTP), календарь, возможность отправлять/читать почту и даже сжатие (нажмите клавишу Esc, затем введите x и doctor). Среди популярных надстроек упомянем плагин YASnippet, необходимый для соотнесения пользовательских сниппетов кода и горячих клавиш, и Tramp, предназначенный для отладки. Его можно расширять с помощью собственного диалекта языка Lisp, elisp plus.
Читать дальше