Есть ли какой-нибудь расширяемый редактор с режимами, подобными vi?
Вопрос
Ищу идеальный текстовый редактор :)
Список «обязательно иметь»:
- модальное редактирование в стиле vim, сочетания клавиш аналогичны vim
- emacs вроде расширяемости — один и тот же «настоящий» язык для плагинов и самого редактора, так что расширение может влиять практически на все, что в редакторе и за его пределами…скрипта vim недостаточно, плагина python тоже недостаточно
- плагины не ограничены в отношении внешних процессов, могут асинхронно изменять текст и т. д.
- поддерживает termcap/curses, так что внутри него можно запускать настоящий терминал
- использует реальный анализ синтаксиса, так что плагины могут получать информацию о «типе» слова, не проходя путь «какого это цвета» (synIDattr(synID(line("."), col("."), 1), "имя") - нет-нет)
- возможно удаленное редактирование (но это, вероятно, уже гарантировано плагинами + точками расширения)
Я знаю о viper emacs, но не уверен, нравится ли мне эта идея...Кто-нибудь знает что-нибудь получше?
Уточнения:
Я не штатный программист.Я администратор/программист/опытный пользователь, который уже все время проводит в консоли на многих хостах одновременно и 95% этого времени работает vim.Я люблю vim, но ищу vim-im;) Eclipse мне не подходит, так как большую часть времени я редактирую конфиги/dsls с помощью своих собственных синтаксических файлов.
Иногда мне нужен своего рода плагин рефакторинга для вещей, которые я часто делаю.У меня есть доказательство того, что это можно сделать в vim, но это настоящая боль...Например, вы не можете запросить «предыдущий токен в дереве разбора».Лучшее, что вы можете сделать, это вернуться посимвольно и проверить, имеет ли слово тот же стиль окраски, что и переменная/функция/что угодно (что требует синтаксического анализа фрагмента файла при каждой проверке).Если я не смогу расширить редактор с помощью простого языка сценариев, он у меня тоже не будет работать.
Кроме того, мне часто нужен второй терминал, чтобы просто запустить что-то и скопировать вывод в vim.Я не могу бежать :!р...потому что он зависает на каждой вкладке в vim, пока команда не будет завершена.
Ах, и только Linux + консоль — мир Windows меня не интересует :)
Решение 3
Все-таки нашел :)
http://haskell.org/haskellwiki/Yi
Yi поддерживает как vim (с режимами и :commands), так и раскладку клавиатуры emacs.Он использует правильный инкрементный парсер и полностью расширяется с помощью Haskell (он взаимодействует с ghc и компилирует вашу конфигурацию/плагин + связывается с результатом).Поддерживаются вкладки, минибуферы и все остальные интересные вещи.
Пользуюсь им последние пару дней и очень доволен.
Другие советы
От одного виммера к другому - ваши поиски тщетны, прерывайте, прерывайте и т.д.
Если вас не устраивает какой-либо редактор, который использует ваша IDE (на ум приходит eclipse), то либо используйте vi в качестве внешнего редактора, либо привыкните к текстовому редактору, который использует IDE.Причина в том, что никто, за исключением пользователей vi, считает vi естественным, и поэтому спрос на привязки клавиш vi в любом «современном» редакторе будет радикально иным.
Если вам действительно нравится vi, режим терминала и все такое, используйте vi.Если вам нужно что-то более умное, используйте vim.
СликПравить: http://www.slickedit.com/content/view/73/60
Кейт/Крайт в KDE4.2 бетатеперь имеет режим, похожий на vim,
Вся работа с [Esc] --> Командный режим, :помощь и с/ Функции друзей включены.
На самом деле это не полная реализация, но в ней описаны некоторые основы.
Существует также Изис редактор это выглядит интересно, и я не могу дождаться, когда он станет достаточно стабильным, чтобы его можно было использовать, что позволит вам редактировать vim повсюду.
Мне не терпится редактировать свои сообщения stackoverflow в редакторе подсветки синтаксиса с полнофункциональными инструментами. :D
Для Eclipse есть плагин, который по сути заменяет редактор на редактор vim.