Как я могу получить emacs под окнами для автозаполнения путей в буферах оболочки с помощью «\» вместо «/»?

Я использую emacs для работы с linux, windows, osx, и все в порядке, кроме одной раздражающей проблемы с буферами оболочки под окнами.

Автозаполнение имен файлов будет работать отлично (лучше, чем стандартные окна), но совершенно бесполезно, поскольку он создает пути с разделителем прямой косой черты для каталогов. Это с окнами не работает, поэтому я должен заставить себя избегать табуляции и набирать все в командной строке, или я должен отказаться от emacs и использовать сломанное окно команд Windows (где, например, трудно даже скопировать) N из-за проблем с расщеплением).

Есть ли способ сказать emacs использовать «\» вместо «/» для завершения имени пути для окон?

  • Какой браузер наиболее безопасен? (Исследование и практически основано)
  • Как испортить компьютер под управлением Windows 7?
  • Синхронизация папок на разных компьютерах без облака и без сети
  • Значение по умолчанию не разрешено больше, чем «2» (ы)
  • Где находятся ярлыки для панели задач Windows 7, хранящейся на диске?
  • Поиск в файлах txt, pdf и doc
  • 2 Solutions collect form web for “Как я могу получить emacs под окнами для автозаполнения путей в буферах оболочки с помощью «\» вместо «/»?”

    Краткий ответ: используйте переменную comint-completion-addsuffix .

    Более длинный ответ: Googling для «окон завершения оболочки emacs» предоставил мне http://www.gnu.org/software/emacs/windows/Sub_002dprocesses.html , в котором говорится, что переменная comint-completion-addsuffix управляет символами завершения. Устанавливая его в cons of \ и SPACE , вы делаете то, что хотите. Вы можете сделать это с помощью

    1. Mx customize-variable RET comint-completion-addeduffix RET
    2. Выберите меню значений
    3. Выберите Суффикс
    4. Введите \ после суффикса каталога:
    5. Введите символ пробела после суффикса файла:
    6. Выберите «Сохранить для будущих сеансов» (или «Сохранить для текущего сеанса»)

    Это добавляет строку

     '(comint-completion-addsuffix (quote ("\\" . " "))) 

    В правильное место в файле ~ / .emacs.

    (Протестировано с помощью Emacs 22.3.)

    Обновить:

    Я вижу, что вы имеете в виду в своем комментарии, что с Emacs 23.3 ведущая обратная косая черта изменяется на косую черту. comint-dynamic-complete-filename было нарушено, поэтому часть описания, except that it won't change parts of the filename already entered in the buffer , больше не верна.

    Кажется, что замена Lisp / comint.el 23.3 на 23.3. Так же заменяет три строки этого файла, начиная с строки 3062:

      (delete-region filename-beg filename-end) (if filedir (insert (comint-quote-filename filedir))) (insert (comint-quote-filename (directory-file-name completion))) 

    С этими строками (от 22.3):

      (insert (comint-quote-filename (substring (directory-file-name completion) (length filenondir)))) 

    И делает Mx byte-recompile-directory .

    (setq comint-completion-addsuffix (quote ("\\" . " "))) В моем ~\.emacs сделал трюк для меня.

    Давайте будем гением компьютера.