Emacs 23 на OS X - использует несколько экземпляров или emacsclient?

Используйте .c_str() метод для const char *.

можно использовать &mystring[0] для получения char * указатель, но существует несколько глюков: Вы не обязательно доберетесь, нуль завершил строку, и Вы не будете в состоянии изменить размер строки. Особенно необходимо бояться добавлять символы мимо конца строки, или Вы получите переполнение буфера (и вероятный катастрофический отказ).

не было никакой гарантии, что все символы будут частью того же непрерывного буфера до C++ 11, но на практике все известные реализации std::string проложили себе путь так или иначе; см. , Делает “& s [0] ” указывают на непрерывные символы в станд.:: строка? .

Примечание, что многие string функции членства будут перераспределять внутренний буфер и делать недействительным любые указатели, которые Вы, возможно, сохранили. Лучше всего использовать их сразу и затем отбрасывать.

5
задан hatmatrix 30 March 2018 в 12:56
поделиться

1 ответ

Позвольте мне ответить на ваши вопросы косвенно.

Как вы знаете, emacsclient предоставляет службу, позволяющую пользователям открывать документы извне Emacs в существующем Emacs. Это «путь» экспертов? Зависит от специалиста. Я интенсивно использую Emacs, но никогда не использую emacsclient . Почему? Потому что я никогда никогда не покидаю Emacs. Все оболочки, которые я запускаю, находятся внутри Emacs (с использованием собственного пакета screen ), я читаю почту в Emacs и т. Д. У меня никогда не было причин набирать emacsclient в команде line.

Похоже, ваша модель использования заключается в том, что вы предпочитаете запускать несколько Emacsen, что упрощает отслеживание того, какие процессы и файлы используются вместе. И в этом есть смысл. Вы можете сделать все это в одном Emacs, если хотите, но это может потребовать некоторых изменений в вашей модели использования или некоторых настроек, чтобы помочь управлять несколькими интерпретаторами / оболочками / чем угодно по своему вкусу.

Итак, если вам нравится работать с несколькими экземплярами Emacs, то непременно продолжайте это делать.

Что касается второго вопроса, похоже, что наличие (server-start) в вашем .emacs вызывает проблемы - вероятно, из-за конфликта двух Emacsen, пытающихся использовать один и тот же порт. Ознакомьтесь с документацией для запуска сервера и, возможно, удалите эту строку из вашего .emacs, а вместо этого запустите сервер один раз с помощью параметра командной строки - daemon .

Затем в командной строке

6
ответ дан 18 December 2019 в 08:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: