Я использую emacs для работы над Linux, окнами, osx, и все прекрасно кроме одной раздражающей проблемы с буферами оболочки под окнами.
Автоматическое заполнение имен файлов работало бы отлично (лучше, чем стандартные окна), но абсолютно бесполезно, потому что оно генерирует пути с разделителем наклонной черты вправо для каталогов. Это с окнами не работает так, я должен вынудить меня постараться не снабдить вкладками и вводить все в командной строке, или я должен сдаться с emacs и использовать поврежденное командное окно окон (где, например, трудно даже copy'n вставка обоснованно из-за проблем строки разделения).
Существует ли способ сказать emacs использовать "\" вместо "/" для завершения пути для окон?
Короткий ответ: Используйте переменную comint-completion-addsuffix
.
Более длинный ответ: поиск с помощью Google для "emacs окна завершения оболочки" получил меня на http://www.gnu.org/software/emacs/windows/Sub_002dprocesses.html, в котором говорится переменная comint-completion-addsuffix
управляет символами завершения. Установка его к недостатки \
и SPACE
делает то, что Вы хотите. Можно сделать это с
\
после суффикса Каталога:Выполнение, которое добавляет строку
'(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
больше не верно.
Замена 23.3's lisp/comint.el с 22.3's, кажется, работает. Делает замену трех строк того файла, запускающегося в строке 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))))
и выполнение M-x byte-recompile-directory
.