Ответ 1
Нет, хотя Vim - хорошая среда для редактирования и может быть настроена по-разному (сворачивание кода, раскраска синтаксиса, расширение макросов и т.д.), большинство из которых выполняется на уровне синтаксиса, а не на семантическом уровне, Даже сворачивание кода просто соответствует противоположным скобкам.
Чтобы сделать правильный рефакторинг, у вас должно быть много семантических знаний об АСТ, какие переменные объявлены в какой области и т.д. IDE, такие как Eclipse, создают кеш переменных, определенных в каждой лексической области, поэтому они могут быстро вернуться к тому, где они используются с точки зрения определения того, что нужно переименовать и где.
Это не означает, что вы не можете синтаксически делать что-то; в конце концов, можно просто вынуть блок кода и легко ввести его в отдельную функцию. Возможно, вы даже сможете угадать некоторые параметры (например, найти список переменных, выяснить, какие из них имеют локальные объявления, удалить их и какие левые являются вашими параметрами. Но Eclipse также выполняет другие действия: например, выяснить, являются ли какие-либо переменные измененные в функции и гарантирующие, что они будут возвращены возвращаемым значением. Он также проверяет любые заброшенные исключения и добавляет их в список.
Чистый эффект заключается в том, что, хотя вы, возможно, сможете аппроксимировать некоторые из них в Vim, вы действительно не сможете заставить это работать в среде Vim-only. Вы можете либо использовать Vim-подобный keybinding в Eclipse, либо посмотреть eclim. На главной странице:
Основная цель eclim - принести Функциональность Eclipse для Vim редактор. Первоначальная цель состояла в том, чтобы обеспечить функциональность Java Eclipses в vim, но поддержка различных языки (c/С++, php, python, ruby, css, html, xml и т.д.). и еще несколько запланировано.
Eclim - это не приложение, а больше интеграции двух больших проекты. Первый, Vim, возможно один из лучших текстовых редакторов в существование. Второй, Eclipse, предоставляет множество отличных инструментов для развития на разных языках. каждый предоставляет множество функций, которые могут повысить производительность разработчиков, но оба оставляют что-то желательно. В Vim отсутствует поддержка Java и многие из дополнительных функций доступный в Eclipse. Затмение, на другой стороны, по-прежнему требует использования мышь для многих вещей, и когда по сравнению с Vim, обеспечивает меньше, чем идеальный интерфейс для редактирования текста.
Именно здесь вступает игра eclim. Вместо того, чтобы пытаться написать IDE в Vim или редактор Vim в Eclipse, eclim обеспечивает плагин Eclipse, который предоставляет функции Eclipse через серверный интерфейс и набор Vim плагины, которые взаимодействуют с Eclipse над этим интерфейсом.
Это не только среда Eclipse, но и Eclipse. Но вы все равно получаете возможности навигации и редактирования текста vim. Похоже, что это может удовлетворить ваши потребности, хотя документация по