Существует тонна способов интегрировать Cygwin с Emacs в Windows. EmacsWiki показывает несколько идей. Вот опции, которые я нашел:
Дать некоторую ясность относительно "почему". Вот несколько примеров, где мне жаль, что у меня не было Cygwin с Emacs:
Таким образом, какая опция Emacs/Cygwin работает хорошо на других? Кроме того, кто-либо попробовал интеграцию MSYS успешно?
Это точно известная ошибка - см. здесь , здесь и здесь . Просто чтобы бросить несколько ссылок:
И тогда это решение, вероятно, другой ошибки в раннем выпуске IE8. Он решил это, увеличив изображение - может, стоит попробовать, если вы работаете с изображением 1x1.
Может быть, вы можете обойти это, используя различные png с различной непрозрачностью, и отсутствие непрозрачности CSS?
-121--4746613- Если у вас есть NSString
, вы можете сделать
NSString *myString; //Assuume the string you want to write is this
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"myfile.txt"];
[myString writeToFile:path atomically:YES];
-121--2392160- Мне нравится версия xemacs
, которую вы получаете из программы установки Cygwin. Работает в нестандартном режиме, клавиша Alt соответствует Meta , и буфер оболочки bash находится там, где вам это нужно.
Я установил Cygwin в корне. Это явно предупреждает вас против этого, но я не видел больных последствий. (Я нашел этот совет от Стива Егге).
Я также установил Cygwin-Mount , что помогает кучу. Кроме того, мне пришлось переключиться с Ispell в Assell. Наконец, немного настраивает, и мне было хорошо пойти:
;;;;;;;;;;;;;;;;;;;;;;
;;CygForTheWin
;;*cygwin
(when (equal system-type 'windows-nt)
(message "Setting up Cygwin...")
(let* ((cygwin-root "c:")
(cygwin-bin (concat cygwin-root "/bin"))
(gambit-bin "/usr/local/Gambit-C/4.0b22/bin/")
(snow-bin "/usr/local/snow/current/bin")
(mysql-bin "/wamp/bin/mysql/mysql5.0.51a/bin/"))
(setenv "PATH" (concat cygwin-bin ";" ;
snow-bin ";"
gambit-bin ";"
mysql-bin ";"
"c:/usr/local/jdk1.60_03/bin/"
".;")
(getenv "PATH"))
(setq exec-path (cons cygwin-bin exec-path)))
(require 'cygwin-mount)
(cygwin-mount-activate)
(setq shell-file-name "bash")
(setq explicit-shell-file-name "bash")
(defun jonnay-cygwin-shell ()
"Wrapper around cygwin-shell so that it doesn't throw an error"
(interactive)
(condition-case e
(cygwin-shell)
(message "There was an error trying to launch the shell: %s" e)))
(message "Setting up Cygwin...Done")
;; found from the manual, check, use and make go?
(defun my-shell-setup ()
"For Cygwin bash under Emacs 20"
(setq comint-scroll-show-maximum-output 'this)
(setq comint-completion-addsuffix t)
(setq comint-eol-on-send t)
(setq w32-quote-process-args ?\")
(make-variable-buffer-local 'comint-completion-addsuffix))
(setq shell-mode-hook 'my-shell-setup)
(add-hook 'emacs-startup-hook 'jonnay-cygwin-shell)
)
Я склонен использовать нативную версию emacs на windows в сочетании с (также нативными) портами gnu utils, которые намного быстрее, хотя и менее полны, чем Cygwin.
Тогда я просто использую окно cygwin для оболочки bash и тех вещей, которых не хватает.
Третий вариант. Я использую NTemacs + Emacsw32 + Cygwin. Таким образом, у меня есть нативное приложение Windows с Unix Утилиты и Bash Shell. Работа Makefiles, я никогда не использовал M-X WHOIS
, хотя. Я не могу думать о каких-либо непосредственных недостатках этой настройки.
Вот интересные биты моей установки, в основном очень похоже на http://www.emacswiki.org/emacs/ntemacswithcygwin :
(setq cygwin-root "c:/cygwin/")
(setq private-bin (concat home-dir "/usr/bin"))
(setq exec-path (cons private-bin exec-path))
(setenv "PATH" (concat private-bin ";" (getenv "PATH")))
; Add Cygwin Emacs stuff
(add-to-load-path "/usr/share/emacs/site-lisp")
; Add Cygwin Info pages
(add-to-list 'Info-default-directory-list
(concat cygwin-root "usr/share/info/"))
(setq shell-file-name "bash")
(setenv "SHELL" shell-file-name)
(setq explicit-shell-file-name shell-file-name)
(setq w32shell-cygwin-bin "c:\\cygwin\\bin")
(require 'w32shell)
(w32shell-add-emacs)
(w32shell-set-shell "cygwin")
Четвертый вариант - запустить эмаки в одном из альтернативных терминалов Cygwin: (u)rxvt, mintty, xterm. Все они предлагают намного лучшую эмуляцию терминала, чем консоль, что означает значительно улучшенный опыт работы с эмаками.
Как и @justinhj, я использую собственную версию emacs в Windows вместе с (также родными) портами gnu utils (например, binutils для «строк» и т. Д.) .
И я всегда использую cygwin в качестве оболочки внутри Emacs или независимо от Emacs. Таким образом, я сохраняю внешний вид моей рабочей среды, когда я переключаюсь с Windows на Linux / AIX / Solaris и обратно.
К сожалению, когда я обновил свой Emacs с 21.2 до 23.2, Emacs потерял способность распознавать '/ cygwin / c' по умолчанию. Я должен исследовать это сейчас, чтобы понять, почему это больше не работает, и что я могу сделать, чтобы это исправить. Я только что нашел следующую информацию и проверю, насколько она полезна. Кажется странным, что теперь мне нужен внешний пакет для чего-то, что раньше всегда было там по умолчанию:
Я предпочитаю, однако, чтобы свести к минимуму использование дополнительных пакетов. Итак, я только что проверил, как ведет себя мой «новый» Emacs + Cygwin, и мне кажется, что я могу получить доступ к диску C:, просто набрав '/'.
Это круто - только один символ (косая черта) вместо / cygdrive / c. Однако оболочка в Emacs предлагает ввести '/ cygdrive / c', что несколько сбивает с толку.