@lawlist запросил более подробную информацию, поэтому я переписываю вопрос:
Моя цель состоит в том, чтобы рассматривать ^X и ^K как два разных способа вырезать текст в ЕДИНСТВЕННЫЙ логический буфер обмена, который можно вставить с помощью ^V в emacs или в любом другом приложении.
Предположим, что в буфере emacs есть две строки: я первая строка я вторая строка
и я нажимаю ^K в первой строке, затем кольцо уничтожения И буфер обмена на уровне ОС теперь имеют «Я первая строка», нажав ^K еще два раза, затем буфер обмена на уровне ОС будет снова обновлен, чтобы иметь " Я на первой линии\nЯ на второй линии"
Нажатие ^V в emacs или других приложениях приведет к тому, что этот текст будет вставлен в них. (^Y может продолжать вести себя как обычно или нет, мне все равно)
Прямо сейчас ^K привязан к org-kill-line или просто kill-line, в зависимости от того, в каком режиме редактирования я нахожусь.
Я не думаю, что для этого существует команда emacs, но если бы я только знал, какие функции вызывать, держу пари, просто обновлять буфер обмена ОС после каждого ^K было бы тривиально.
Любая помощь будет здорово.
спасибо, Дэн
Control-K
в Aquamacs, и чем это отличается от того, чего вы хотите достичь? Также будет полезно включить имя конкретной вызываемой функции, например,kill-line
. В Emacs имя функции можно получить, набравControl-h k
, а затем нажав любое последующее сочетание клавиш. Большинство участников форума будут иметь легкий доступ к универсальному Emacs, но не к Aquamacs. Если эта функция является общей для стандартного Emacs, ваши шансы получить ответ существенно возрастают. - person lawlist   schedule 07.06.2015kill-line
частично гласит: Если вы хотите добавить удаленную строку к последнему удаленному тексту, используйтеappend-next-kill
передkill-line
. Приблизит ли это вас к желаемому результату? Поведение по умолчанию состоит в том, чтобы добавить убитые данные как в список уничтожений Emacs, так и в список уничтожений OSX. Вот ссылка на руководство поappend-next-kill
: gnu. org/software/emacs/manual/html_node/emacs/ Строку документа можно просмотреть в Emacs, вызвавC-h f
илиM-x describe-function
. - person lawlist   schedule 08.06.2015kill-line
вызываетkill-region
, который вызываетkill-new
если(eq last-command 'kill-region)
--kill-new
содержит материалinterprogram-...
, отвечающий за отправку в буфер обмена OSX. Возможно, автор Aquamacs изменилkill-line
и/или его базовые функции, чтобы изолировать буфер обмена OSX — вы можете использоватьM-x find-function
, чтобы найтиkill-line
и другие функции.M-x find-variable
используется для переменных. Я стараюсь не устанавливать Aquamacs, потому что он добавляет папки и файлы в места, которые мне не нравятся. - person lawlist   schedule 08.06.2015