2013-11-23 6 views
1

При использовании Emacs (24,3) с сосульками, если я что-то вродеКак символ назад в частичное завершение в Emacs сосулька

M-x find-file <RET> foo <TAB><TAB> 

*Completion* буфера всплывает, и я могу цикл через доработки. В минибуфере «foo» теперь подчеркнуто (я думаю, из-за Icicle Match Highlight Minibuffer лицо). На данный момент существует два поведения, которые PUZZLE меня:

  1. Если я хочу уточнить свой префикс, я могу только ввести один символ, дополнительные символы перезаписывать этот недавно введенный символ, если я не ударил <TAB> после каждого последующего символа. То есть
    M-x find-file foo <TAB><TAB>ba<TAB> «a» перезапишет «b», а последующие <TAB> отобразятся совпадения для fooa* Почему я не могу ввести несколько последующих символов?

  2. Если, скажем, "foo" был неправильным, и я хочу изменить его на "fop", я не могу просто вернуться в префикс (который отображается как подчеркнутый в минибуфере). Кажется, я могу удалить весь префикс и начать все заново. Есть ли способ вернуться в подчеркнутый префикс?

ответ

1

Try, чтобы дать более полный рецепт, чтобы воспроизвести вашу проблему, желательно начиная с emacs -Q (т.е. нет инициализации файла, загрузка только Icicles, и указать любые нестандартные Сосульки значения опции, необходимые для воспроизведения проблемы).

Например, по умолчанию *Completions* не отображается, только набрав текст в минибуфере. Вы нанесли TAB? S-TAB?

И вы не увидите подчеркивания в минибуфере, если вы не едете на велосипеде среди кандидатов. Если вы используете велосипед среди кандидатов, то текущий кандидат вставлен в минибуфер, а соответствующая часть подчеркнута.

Непонятно, что вы говорите: «если я не ударил после каждого последующего символа». Разве вы не попали?

В общем, у меня возникли проблемы после (угадывания) того, что вы делаете. Постарайтесь записать, что вы делаете, шаг за шагом. И укажите имена команд, которые вы видите в *Completions*, когда вы заполните тестовый ввод.

Вы также можете связаться со мной по электронной почте: M-x icicle-send-bug-report.

Если бы я должен был догадаться, я бы предположил, что чтение this section документа может помочь вам. Не знаю.


UPDATE

Я думаю, я знаю, что вы пытаетесь описать, и ответ в конце из this section из Сосульки док.

Этот текст объясняет, что если вы используете delete-selection-mode и если опция icicle-point-position-in-candidate или вариант icicle-mark-position-in-candidate таково, что часть циклического кандидата автоматически выбирается, то любой текст типа заменяет выбор.

Это нормальное поведение delete-selection-mode. Это особенность. Если вы не хотите заменять активную область, то, как обычно, используйте C-g для ее деактивации. Если вы часто это делаете, подумайте, можете ли вы выбрать другое значение для одного из этих двух вариантов.

This небольшая часть документа также может помочь. Речь идет об использовании delete-selection-mode с Icicles. И this короткая секция об этих вариантах и ​​регионе и на велосипеде.

+0

Ух, мое форматирование было сильно испорчено. '' не отображается вообще, если он не помечен как код. Исправлен вопрос уточнения – xubio

+0

См. Мой ответ после ** ОБНОВЛЕНИЯ **. Я думаю, это объясняет вещи. Я предполагаю, что вы включили режим «delete-selection-mode», и поэтому выбрана непревзойденная часть текущего кандидата на велосипеде. Когда вы вводите символ, он заменяет активную область. Используйте 'C-g', если вы этого не хотите. См. Документ, на который я указал вам, и варианты, которые я упомянул, которые затрагивают регион. (Первый «TAB» выполняет завершение, второй цикл.) – Drew

+0

И снова, я думаю, ваше описание неточно. Я думаю, вы поймете, что когда вы узнаете об активной области (определяемой этими двумя пользовательскими параметрами). Это не префикс, который удаляется при нажатии Backspace; это суффикс, то есть активная область, то есть текст между «icicle-point-position-in-candid» и «icicle-mark-position-in-candid». – Drew