Подтвердить что ты не робот

Настройка Vim для Python

Мне действительно нравится редактор Emacs для Python из-за его умного табуляции, например, если у меня есть что-то вроде этого

def foo():
    if bar:
         blah
         [b]eep

и я нажимаю вкладку на курсоре (который находится на b звукового сигнала), он не будет вставлять новую вкладку, вызывая синтаксическую ошибку, но она будет переключаться через возможные уровни, на которые может звучать сигнал. Есть ли способ получить этот эффект на Vim?

4b9b3361

Ответ 1

В общем, vim является очень мощным редактором обычного языка (макросы расширяют его, но на этот раз мы будем игнорировать). Это потому, что vim - тонкий слой поверх ed, а ed - не намного больше, чем редактор строк, который говорит о регулярном выражении. Преимущество Emacs заключается в том, что он построен поверх ELisp; предоставляя ему возможность легко анализировать сложные грамматики и выполнять трюки с отступом, подобные тому, который вы использовали выше.

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

Начало работы

Янус

Для новичков я настоятельно рекомендую установить готовый плагин Janus (fwiw, название родом из эпизода Star Trek с участием Януса Вима). Если вам нужен быстрый ярлык для IDE vim, это ваш лучший удар для вашего доллара.

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

Vim Pathogen

В противном случае, сделайте некоторые исследования самостоятельно! Я настоятельно рекомендую установить vim патоген, если вы хотите увидеть вселенную плагинов vim.

Это менеджер пакетов. После его установки вы можете git clone пакеты в каталог ~/.vim/bundle, и они будут автоматически установлены. Больше нет установки, обслуживания или удаления головных болей!

Вы можете запустить следующий script со страницы GitHub для установки патогена:

mkdir -p ~/.vim/autoload ~/.vim/bundle; \
curl -so ~/.vim/autoload/pathogen.vim \
    https://raw.github.com/tpope/vim-pathogen/HEAD/autoload/pathogen.vim

Полезные ссылки

Вот некоторые ссылки на расширение vim, которое я нашел и наслаждался:

Ответ 2

Для тех, кто прибывает около лета 2013 года, я считаю, что часть этой темы устарела.

Я следил за этим путем, который рекомендует Vundle над Pathogen. После одного дня использования я обнаружил, что установка плагинов тривиальна.

Плагин klen/python-mode заслуживает особого упоминания. Он обеспечивает пиклеты и пилинги среди других функций.

Я только начал использовать Valloric/YouCompleteMe, и мне это нравится. Он имеет C-lang auto-complete и python также отлично работает благодаря интеграции jedi. Это может заменить jedi-vim в соответствии с этим обсуждением /davidhalter/jedi -vim/issues/119

Наконец, просмотр подключенных плагинов /carlhuda/janus является хорошим руководством к полезным скриптам, которые вы, возможно, не знаете, которые вы ищете, например, NerdTree, vim-fugitive, syntastic, powerline, ack.vim, snipmate...

Все вышеперечисленные "{}/{}" находятся в github, вы можете легко найти их с помощью Google.

Ответ 3

Поместите следующее в .vimrc

autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class
autocmd BufRead *.py set nocindent
autocmd BufWritePre *.py normal m`:%s/\s\+$//e ``
filetype plugin indent on

См. также подробные инструкции

Я лично использую JetBrain PyCharm с плагином IdeaVIM при выполнении чего-либо сложного, для простого редактирования добавление к .vimrc кажется достаточным.

Ответ 5

В Linux, для меня работало руководство John Anderson (sontek), которое вы можете найти по этой ссылке. Тем не менее, я обманул и просто использовал свою легкую конфигурацию из своего Git repostory:

git clone -b vim https://github.com/sontek/dotfiles.git

cd dotfiles

./install.sh vim

Его конфигурация довольно актуальна на сегодняшний день.

Ответ 6

Некоторое время назад я установил Valloric/YouCompleteMe, и я считаю, что это действительно потрясающе. Он предоставляет вам завершение для путей к файлам, имен функций, методов, имен переменных... Вместе с davidhalter/jedi-vim он делает vim отличным для программирования на питоне (единственное, чего сейчас нет, это linter).

Ответ 8

Очень хорошая система управления плагинами. Вложенный файл vimrc достаточно хорош для программирования на питоне и может быть легко настроен для ваших нужд. См. http://spf13.com/project/spf13-vim/