2

Какой самый быстрый и надежный способ работы с файлами на компьютере с Linux и Emacs на компьютере с Windows? Мне нужно иметь возможность легко копировать и вставлять текст между фреймами Emacs и использовать все сочетания клавиш. Итак, Putty и Cygwin исключены. Я пробовал режим TRAMP, но он просто зависает, когда я пытаюсь подключиться.

3 ответа3

3

Бродяга, безусловно, правильный ответ. Если у вас есть проблема с Tramp, исправьте ее. Простейший способ запустить Tramp под Windows - это plink, компонент туннелирования и сценариев PuTTY для ssh. Cygwin's ssh - это еще одна возможность.

Одна проблема, с которой я столкнулся, заключается в том, что plink заставляет переменную окружения TERM к xterm . Это может привести к тому, что ваш .profile или другой сценарий входа в систему будет отправлять данные, думая, что он общается с терминалом, но эти данные будут путать ваши сценарии. Обычно вы вызываете plink с опцией -T , чтобы запретить эмуляцию терминала. В Emacs использовать метод plinkx Tramp, что заставляет TERM dumb на удаленной стороне:

(if (eq system-type 'windows-nt)
    (setq tramp-default-method "plinkx"))

На удаленной стороне, убедитесь , что ваши логины файлы не испускают никакого вывода , такие как подсказка , когда $TERM dumb

0

Вместо того, чтобы запускать Emacs локально, почему бы не запустить его удаленно на компьютере с Linux и не показывать его в локальном окне X.

Что тебе понадобится:

  • X Server для Windows: некоторые возможные бесплатные решения включают Xming, Cygwin/X (я знаю, вы сказали, что нет Cygwin.)
  • Emacs на хосте Linux
  • Способ запуска удаленной команды (что-то вроде ssh)

Основные шаги:

  1. Запустите свой X-сервер в Windows
  2. Запустите Emacs удаленно, и он будет отображаться на вашем локальном X-сервере. Я обычно делаю это с помощью ssh, выполняя команду "ssh -X @ emacs". Кроме того, вы можете войти в систему Linux, установить переменную DISPLAY («export DISPLAY =:0») и запустить emacs.
0

Я думаю, когда вы сказали, что "замазка и cygwin исключены", вы имели в виду не использовать emacs напрямую из консоли Cygwin или оболочки PuTTY, а использовать ntemacs (Emacs для Windows) с tramp-доступом к вашим Linux-блокам.

Хорошие новости - это возможно! :) Я использую комбинацию ntemacs и Cygwin (для доступа по ssh) с хорошими результатами.

Вот что вам нужно сделать.

  • Установите Cygwin с установленным openssh (если вы не уверены, то просто установите все) и настройте свой ssh, чтобы вы могли беспрепятственно обращаться к своим Linux-блокам, для чего обратитесь к этой короткой и приятной статье.

  • Скопируйте cygwin-mount Майкла Кука и Клауса Берндла из emacswiki и поместите его в скажем ~/.emacs.d/plugins/cygwin-mount (или в любое место, где живут сторонние пакеты emacs).

  • В вашем .emacs есть что-то вроде следующего для активации cygwin-mount.

(add-to-list 'load-path "~/.emacs.d/plugins/cygwin-mount")

(defvar cygwin-bin-dir
  "c:/cygwin/bin/"
  "*Directory of Cygwin bin.")

(when (eq (window-system) 'w32)
  (progn
    (setenv "PATH" (concat cygwin-bin-dir ";" (getenv "PATH")))
    (setq exec-path (cons cygwin-bin-dir exec-path))
    (require 'cygwin-mount)
    (cygwin-mount-activate)))

  • Теперь перезапустите emacs и Cx Cf и введите "/sshx:your_host:" в минибуфере (обратите внимание на конечный двоеточие). Если все идет хорошо, должен появиться tramp/ssh, и вы сможете увидеть удаленные каталоги.

Надеюсь это поможет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .