Результаты поиска
Каковы предпочтительные версии Vim и Emacs на Mac OS X?
Для тех из нас, кто предпочитает использовать графическую версию Vim или Emacs вместо консольной версии, какую версию вы рекомендуете?
Для Vim есть Mac OS X Vim, MacVim, Vim-Cocoa .
Для Emacs, CarbonEmacs , XEmacs , и сайту aquamacs .
А есть ли еще? Кто из них готов к прайм-тайму? Если это трудный вызов, то каковы же компромиссы? Все ли это еще поддерживается?
Никаких обсуждений Vim против Emacs, если вы не возражаете, или сравнений с другими редакторами.
Как привязать регулярное выражение к комбинации клавиш в emacs?
Для контекста я что-то вроде Новичка emacs. Я не использовал его очень долго, но использую его все больше и больше (мне это очень нравится). Также мне комфортно с lisp, но не очень хорошо знаком с elisp.
То, что мне нужно сделать, это привязать регулярное выражение к комбинации клавиш, потому что я использую этот конкретный regex так часто.
То, что я делал:
M-C-s ^.*Table\(\(.*\n\)*?GO\)
Обратите внимание, что я использовал новую строку выше , но я обнаружил, что для isearch-forward-regexp вам действительно нужно заменить \n в регулярном выражении на результат C-q Q-j . Это вставляет литеральную новую строку (без завершения команды), позволяя мне поместить новую строку в выражение и сопоставить строки.
Как я могу привязать это к комбинации клавиш?
Я смутно понимаю, что мне нужно создать функцию elisp, которая выполняет isearch-forward-regexp с выражением, но я нечетко разбираюсь в деталях. Я поискал в гугле и нашел большинство документов, которые должны быть немного запутанным.
Как я могу привязать регулярное выражение к комбинации клавиш в emacs?
У Майка Стоуна был лучший ответ на данный момент-не совсем то, что я искал, но он работал для того, что мне нужно
Edit-этот вид работал, но после сохранения макроса, когда я вернулся, чтобы использовать его позже, я не мог использовать его с C-x e . (т. е., если я перезагружаю emacs, а затем набираю M-x macro-name, а затем C-x e , я получаю сообщение в минибуфере, например "нет последнего макроса kbd" или что-то подобное)
@Mike камень-Спасибо за информацию. Я попытался создать макрос вот так:
C-x( M-C-s ^.*Table\(\(.*C-q C-J\)*?GO\) C-x)
Это создало мой макрос, но когда я выполнил свой макрос, я не получил того же выделения, которое я обычно получаю, когда использую isearch-forward-regexp . Вместо этого он просто перескочил к концу следующего матча выражения. Так что это действительно не работает для того, что мне нужно. Есть идеи?
Edit: похоже, я могу использовать macros, чтобы делать то, что я хочу, мне просто нужно думать вне коробки isearch-forward-regexp . Я попробую то, что вы предложили.
Красивая печать XML файлов на Emacs
Я использую emacs для редактирования моих xml файлов (nxml-mode), и файлы были сгенерированы машиной не имеют никакого красивого форматирования тегов.
Я искал довольно красивую печать всего файла с отступом и сохранением его, но не смог найти автоматический способ.
Есть ли какой-то выход? Или хотя бы какой-нибудь редактор на linux, который может это сделать.
Укажите номер порта в Emacs sql-mysql
Я использовал интерактивный режим Emacs sql для разговора с сервером MySQL db и получил удовольствие от этого. Разработчик установил другую БД на новый номер порта, не являющийся стандартным, но я не знаю, как получить к нему доступ с помощью sql-mysql.
Как указать номер порта при попытке подключения к базе данных?
Было бы еще лучше, если Emacs может запросить у меня номер порта и просто использовать значение по умолчанию, если я не указываю. Есть ли на это шансы?
Написание расширений Emacs на языках, отличных от Lisp
Я хотел бы взять существующее приложение (написанное в OCaml) и создать для него Emacs "interface" (например, режим Emacs GDB). Я бы предпочел сделать это без написания тонны кода Lisp. В терминах MVC я хотел бы, чтобы представление было Emacs, но для модели и контроллера оставалось (в первую очередь) OCaml.
Кто-нибудь знает способ написать расширения Emacs на языке, отличном от Lisp? Это может иметь форму привязки к расширению Emacs API на каком-либо другом языке (например, делая OCaml первоклассным языком расширения Emacs) или режим взаимодействия Emacs, где, например, расширение имеет канал, в который оно может записывать выражения Emacs Lisp и считывать результирующие значения.