Home Php C# Sql C C++ Javascript Python Java Go Android Git Linux Asp.net Django .net Node.js Ios Xcode Cocoa Iphone Mysql Tomcat Mongodb Bash Objective-c Scala Visual-studio Apache Elasticsearch Jar Eclipse Jquery Ruby-on-rails Ruby Rubygems Android-studio Spring Lua Sqlite Emacs Ubuntu Perl Docker Swift Amazon-web-services Svn Html Ajax Xml Java-ee Maven Intellij-idea Rvm Macos Unix Css Ipad Postgresql Css3 Json Windows-server Vue.js Typescript Oracle Hibernate Internet-explorer Github Tensorflow Laravel Symfony Redis Html5 Google-app-engine Nginx Firefox Sqlalchemy Lucene Erlang Flask Vim Solr Webview Facebook Zend-framework Virtualenv Nosql Ide Twitter Safari Flutter Bundle Phonegap Centos Sphinx Actionscript Tornado Register | Login | Edit Tags | New Questions | 繁体 | 简体


10 questions online user: 50

0
votes
answers
62 views
+10

Spacemacs:在調出文檔後將光標移回代碼

1

在具有Clojure層的Spacemacs中,如果我做了SPC m h h,它會用文檔信息分割窗口,並將光標移動到包含文檔的新分割區。Spacemacs:在調出文檔後將光標移回代碼

是否有一個鍵盤快捷鍵可以將光標移回到包含代碼的頂部分割點?當光標位於文檔分割中時,我使用的典型vim快捷方式C-w k不起作用。

沙发
0
1

大多數情況下,我只是閱讀文檔並按q關閉文檔窗口。

如果您使用的是evil模式,使用SPC <window_number>也很容易;對我來說最經常的是SPC 1。 在emacs模式下,C-x o也可以工作,但這取決於您擁有多少個窗口。

19
votes
answers
43 views
+10

emacs, etags and using emacs as an IDE

My usual tools are Emacs with g++ on a Linux system to implement my research algorithms. For the last some years, I have used emacs in a fairly basic way. I open C or C++ files, edit them with a syntax highlighting scheme of my choice and compile and do other stuff from within emacs (or maybe from a terminal), including using gdb within emacs for debugging. I know about etags and ctags and have played a bit with etags and emacs but don't seem to find that "sweet spot" with the tools.

I was wondering, what do others do to configure emacs just so that it meshes nicely with etags and other tools? What tweaks does one need to do to emacs to make it a better IDE?

up vote 16 down vote accepted favorite
沙发
+160
+50

對於僅標記信息,我還建議 GNU Global CScope也可以做很多事情。在這兩種情況下,它們都提供了一種按名稱查找標籤位置的方法,以及特定標籤的使用方法。

對於“IDE Stuff”,它不僅僅是一個標記系統。為此,我推薦用於Emacs的 CEDET 工具集。這提供了一個項目管理系統(EDE),可以創建Makefile來為您編譯代碼。還有一個解析和代碼分析部分(語義),提供智能完成。有一個模板/代碼生成系統(SRecode)可以將標籤從語義轉換回代碼。

2samix:可能你會發現有用的關於CEDET的文章 - xtalk.msk.su/~ott/en/writings/emacs-devenv/EmacsCedet.html - Alex Ott 09年10月21日在6:42

+30

我們最近開始使用 GNU Global 作為etags的替代品,而我給人留下了深刻的印象。我們還使用 idutils ,它提供了一種快速搜索源代碼中任何字符串的方法。

你能否詳細說明為什麼你似乎更喜歡Gnu Global而不是etags?事實上,這是我第一次聽到Gnu Global並且對此一無所知。我想知道它與Etags的比較。從Gnu Global的網站上我知道它支持更少的語言,但我最感興趣的是C和C ++,所以這不是一個問題。謝謝。 - user193272 09年10月21日3:46

更快的搜索,gtags也用於CEDET,並允許查找特定功能等的調用.. - Alex Ott 09年10月21日在6:41

我同意Alex,gtags比etags快得多,而且通常更準確。我確實發現了一些錯誤解析代碼的問題,但在大多數情況下它運行良好。 - 邁克09年10月21日23:02

謝謝大家,剛剛在我的Debian機器上安裝了“全局”軟件包開始玩它:) - user193272 09年10月23日在16:03

0
votes
answers
53 views
+10

Emacs中按鍵的重放「腳本」

2

我想在終端中使用asciinema來錄製一些Emacs功能的中等截屏。我可以開始asciinema,然後emacs -nw,做記錄,然後停止。但我發現我總是犯很多錯誤。Emacs中按鍵的重放「腳本」

所以我認爲,如果我能夠以某種格式編寫按鍵的「腳本」,這將是非常好的,這將被饋送給Emacs。就像重放一個鍵盤宏,但時間相當長,並且按鍵之間有延遲(否則錄製速度太快)。

這是可能以某種方式?我願意做一些elisp編程,但不知道從哪裏開始。例如,我可以記錄我的腳本列表,

(list (kbd "C-x C-f") "filename.el" (kbd "C-e") (kbd "C-x C-e") ...) 

,並通過它迭代,轉換按鍵和字符逐字發送字符串,但我怎麼「送」的結果Emacs的?

這將是很好,如果緩衝區切換等工作。

沙发
0
1

您可以記錄一系列用戶操作(鍵盤,菜單等),創建一個鍵盤宏

簡而言之,您使用<f3>開始錄製,<f4>停止錄製。然後您可以使用<f4>(相同的鍵)播放錄音。另外,你可以做各種奇特的事情,但這些都是基礎知識。

有關詳細信息,請參閱Emacs手冊節點Keyboard Macros


您可以顯示其在提示你的截屏中正在使用的按鍵,使用模式showkey-tooltip-mode從庫showkey.el - 見ShowKey

要顯示宏記錄的密鑰,您需要將選項showkey-tooltip-sleep-time設置或綁定到大於零的秒數。 (默認情況下爲零,因此可以通過快速鍵入來防止某些鍵顯示。)

選項showkey-tooltip-key-only-flag控制是否在工具提示中僅顯示鍵或其鍵和命令。

或者,您可以使用模式showkey-log-mode顯示按鍵的增量日誌。

+0

謝謝。我知道鍵盤宏(我在問題中提到它們),但AFAIK格式是不透明的。理想情況下,我寧願記錄小序列,將它們粘貼到一個大的文件中,然後根據需要進行編輯。 –

0
votes
answers
69 views
+10

從組織模式生成info.gz文件

2

我有最新的組織模式(9.1.3),我通過它的git存儲庫(特別是使用)straight-use-package安裝到emacs。信息文件,但是,沒有安裝。我如何手動創建並安裝它?從組織模式生成info.gz文件

我已經看過了git回購和它docorg.texi是文檔的來源。但它不是info.gz文件。我試過命令make doc,我得到的錯誤是no names found, cannot describe anything

沙发
0
0

您應該從主org目錄(doc目錄的父目錄)嘗試make info。但是由於你是在Windows上(我認爲),在生成信息文件的工具鏈中可能缺少一些東西。

但是,您可以在emacs中生成一個info文件:訪問org.texi文件並說??M-x makeinfo-buffer。這假定您已安裝makeinfo(又名texi2any)。請注意,生成的信息文件是未壓縮的:如果要壓縮它們,則需要使用gzip之後手工完成。

的信息文件../../info相對doc目錄中產生,因爲在org.texi下面一行,:

@setfilename ../../info/org.info 

你可以改變,如果你希望他們在其他地方(或移動他們事後)。

+0

我在Debian Linux上。我也嘗試使用主要org目錄中的'make info',並導致錯誤提示'fatal:找不到名稱,無法描述任何內容。我用'apt search'查找了包裝盒texiany,但無法找到它。 – Piglet

+0

'make -n info'說什麼?此外,該程序稱爲makeinfo或texi2any,但*包*稱爲「texinfo」。嘗試安裝和/或查看是否安裝了「makeinfo」。如果是這樣,那麼只需在doc目錄中說'makeinfo org.texi',看看會發生什麼。 – Nick

+0

我安裝了'texinfo',並用'M-x makeinfo-buffer'成功創建了信息文件。 – Piglet

14
votes
answers
36 views
+10

Restore Emacs Session/Desktop

I've been searching for how to restore an emacs session, with no luck. I'm looking to restore all previously open buffers, some of which might contain erc, shells, directory listings, files, etc.

Every time I open emacs, I spend a considerable amount of time arranging my buffers; splitting them into rows and columns, opening a shell, arranging irc channels. It takes a while to get onto work.

I've tried adding the following to my init.el

(desktop-save-mode 1)

And then using M-x desktop-save. This only seems to restore files that are open, not shells or anything else running within buffers.

I've also checked the following questions:

And read through:

Here's a screenshot example of my emacs session.

A simple answer would be to just focus on real work :P

沙发
+80
+50

我建議一個簡單的解決方案 - 創建一個設置首選佈局的函數。例如,我喜歡在屏幕的後半部分在單獨的窗口中放置一些IRC頻道,以便我可以不時地查看它們,同時在另一個窗口中進行編碼。所以我寫了一些簡單的代碼來處理窗口拆分並按我的意願安排我的緩衝區:

  ;; 顯示一些緩衝區(defun show-some-buffers(緩衝區列表)(水平分割窗口)(其他窗口1)(dolist(緩衝區緩衝區列表)(垂直分割窗口)(切換到緩衝區)( get-buffer buffer))(other-window 1));;最後我們需要刪除一個額外的窗口(delete-window)(balance-windows));;
     
			
        

非常感謝您的詳細回复。通過一些工作,我相信我將能夠通過這種方法獲得一個很好的解決方案。乾杯。 - Patrick McLaren於2010年4月26日凌晨2點56分

非常好的模塊化解決方案。 - 藝術家17年12月27日17:59

+40

正如您所發現的,desktop.el和session.el是一個良好的開端,但它們不會恢復窗口佈局。

但是,使用 revive.el 您可以保存/恢復任意窗口配置,這些配置會在重新啟動之間記住。

還可以查看與窗口相關的這些提示佈局,包括贏家模式和將窗口配置保存到寄存器中的技巧。

+20

除了@ Bozhidar關於自動化窗口佈局的優秀答案(我自己做),您可能還想研究使用 GNU Screen ,可用於跨登錄保留任意一組進程。有一個很好的教程這裡,由於您將使用emacs,您還需要閱讀

唯一可行的鏈接是GNU Screen。 - 曼努埃爾18年10月10日9:21

0
votes
answers
54 views
+10

emacs elisp切換到緩衝區,並按照

2

我想寫一個命令,會導致Emacs切換到一個新的緩衝區,並執行一些操作(在這種情況下,執行一個shell命令)寫輸出到緩衝區。emacs elisp切換到緩衝區,並按照

(defun test-func() 
    (interactive) 
    (let ((bname "*temp*") 
     (default-directory "/home/me")) 
    (with-output-to-temp-buffer bname 
     (switch-to-buffer bname) 
     (shell-command "ls -l" bname)))) 

在這種情況下,它「工作」,除非在命令完成執行之前它不切換緩衝區。我想立即切換,然後在運行時跟隨輸出。有沒有辦法做到這一點?

沙发
0
1

您需要在switch-to-buffer之後明確呼叫redisplay以使其可見。

請注意,ls是一個相當「快」的命令,它不可能顯示零碎。你可能想嘗試像

while true; do 
    date 
    sleep 10 
done 

一個shell腳本並運行是異步的(或者使用async-shell-command或添加&到命令行的末尾)。

還要注意對shell-command幫助說:

在elisp的,你經常會得到更好的通過調用call-processstart-process直接,因爲它提供了更多的控制權,也不強制使用一個外殼的服務(需要引用參數)。

+0

是的,它切換到緩衝區,但緩衝區不會更新,直到shell命令完成...也許有一種不同的方式叫出來。 – MichaelB

+0

@MichaelB:使用'&',看編輯。 – sds

+0

看起來像重新顯示,然後啓動過程可以做到這一點。 – MichaelB

2
votes
answers
59 views
+10

Error on websocket when try to use Ipython notebook in emacs

Got some error message in buffer Warning when try to evaluate my code

Error (websocket): in callback `on-open': Cannot send message to a closed websocket: cl-struct-websocket-frame, text, "{"header":{"msg_id":"14735853-0ed2-4ef4-8f5a-312a198dd251", "username":"username", "session":"ab484abf-d4e6-4f83-2c2-de1b65264780", "msg_type":"execute_request"}, "metadata":{}, "content":{"code":"__import__('sys').stdout.write(__import__('os').getcwd())", "silent":true, \"user_variables":[], "user_expressions":{}, "allow_stdin":false}, "parent_header":{}}", nil, t
Error (websocket): in callback `on-open': Wrong type argument: arrayp, nil
Error (websocket): in callback `on-close': Wrong type argument: arrayp, nil

And on the ipython server side I saw this message

2014-03-05 23:24:40.760 [NotebookApp] WARNING | Cross Origin WebSocket Attempt.
2014-03-05 23:24:40.761 [tornado.application] ERROR | Uncaught exception in /kernels/2691bbe3-ce95-439b-a9ce-97ec52c80988/shell
Traceback (most recent call last):
  File "/home/haroldwu/Python-test/lib/python3.3/site-packages/tornado/websocket.py", line 322, in wrapper
    return callback(*args, **kwargs)
  File "/home/haroldwu/Python-test/lib/python3.3/site-packages/IPython/html/base/zmqhandlers.py", line 114, in open
    raise web.HTTPError(404)
tornado.web.HTTPError: HTTP 404: Not Found

What I have done:

  1. Upgrade all package of my python virtualenv and global environment
  2. Upgrade all system package (Archlinux latest 64-bit)
  3. Upgrade all emacs package
  4. Search the web (but found no useful result)

Ipython notebook worked on my emacs weeks ago, but somehow it dosen't work now... I have no experience on tornado.

Thanks for your help!!! :)

沙发
+20

I'd guess that emacs is not sending the Origin header which is checked by the Notebook WS code. See my comment https://github.com/ipython/ipython/issues/5525 .

Quick workaround is to comment out the same origin check in your /home/haroldwu/Python-test/lib/python3.3/site-packages/IPython/html/base/zmqhandlers.py:114 .

You can always add logging of parsed_origin, origin and origin_header in same_origin() function in zmqhandlers.py and fix the emacs package accordingly.

我在ein上遇到了另一個錯誤:ein:[error]在服務器8888打開筆記本列表時出錯(解析錯誤)。我現在正在嘗試解決問題。(這應該是自己的問題,可能是因為將ipython從3.3升級到3.4而引起的)無論如何,感謝您的建議!一旦ein“再次工作”,我會嘗試你的方法。 - yfwu 2014年4月7日8:19

0
votes
answers
58 views
+10

在emacs中使用不同的包存儲庫

1

我有一個.emacs文件,其中我使用package-install在初始化時自動從存儲庫安裝所需的包。到目前爲止,我正在使用http://melpa.milkbox.net/packages/存儲庫,我通過在線教程獲取了這個存儲庫。在某些時候,我試圖安裝auctex軟件包,並收到一條錯誤消息,告訴我該軟件包在該存儲庫下不可用。我檢查,這是真的。我發現了在GNU存儲庫下的auctexis availablehttp://elpa.gnu.org/packages/在emacs中使用不同的包存儲庫

我試圖做的是:添加第二個包庫(GNU ELPA在這種情況下)我.emacs從該文件是否需要安裝第一個庫(MELPA)下沒有可用的軟件包package-install可以養活。

我不是專家(事實上,我是一個純粹的初學者)在Elisp,我瀏覽了各種線索以找到解決方案。這裏是我的實際代碼:

(package-initialize) 

(require 'package) 

(add-to-list 'package-archives 
      '(("melpa" . "http://melpa.milkbox.net/packages/") 
       ("gnu" . "http://elpa.gnu.org/packages/")) t) 

(package-refresh-contents) 

(dolist (package '(use-package)) 
    (unless (package-installed-p package) 
      (package-install package))) 

(use-package paredit :ensure t) 

(dolist (package '(auctex   ; <-- Not available under MELPA! 
        auto-complete 
        auto-complete-c-headers 
        magit 
        sr-speedbar 
        yasnippet 
        )) 

    (unless (package-installed-p package) 
    (package-install package)) 
    (require package)) 

有了這個代碼在我.emacs文件,當我啓動emacs的時候,我的配置被忽略。我收到此錯誤消息:error: Required feature 'auctex' was not provided

如何修改我的代碼以查看來自GNU ELPA的auctex軟件包?

爲了您的信息,我使用Ubuntu 16.04與GNU Emacs 24.5.1。


編輯:我想補充幾句什麼斯特凡提出:有幾個問題,我的代碼,並分裂我的兩個add-to-list 'package-archives ...)電話似乎沒有,上下班(雖然它是正確的事當然是)。這是由於我的(require package)線路試圖做到:(require auctex)在某些時候。看到this post,看看爲什麼這是一個問題。

我讀到(require 'package-name)安裝後不需要的事實。 This post解釋了原因。刪除此行確保auctex正確加載,因爲它是自動加載的。

從此,一切正常,沒有更多的錯誤或警告。我然後試圖刪除我的線:

(add-to-list 'package-archives 
      '("gnu" . "http://elpa.gnu.org/packages/")) 

auctex包仍然正確加載。

+0

你想用這個做什麼:'(dolist(package'(use-package))...)'?它遍歷列表的唯一元素是符號'use-package' - 僅一次迭代,綁定變量'package'爲符號'use-package'。 – Drew

沙发
0
2

(add-to-list 'package-archives 
      '(("melpa" . "http://melpa.milkbox.net/packages/") 
       ("gnu" . "http://elpa.gnu.org/packages/")) t) 

不加2項列表:add-to-list只增加單個元素到列表中。在這種情況下,它將添加不是有效元素的元素(("melpa" . "http://melpa.milkbox.net/packages/") ("gnu" . "http://elpa.gnu.org/packages/"))

你想要

(add-to-list 'package-archives 
      '("melpa" . "http://melpa.milkbox.net/packages/")) 
(add-to-list 'package-archives 
      '("gnu" . "http://elpa.gnu.org/packages/")) 

但需要注意的是,第二add-to-list應該是多餘的,因爲package-archives默認包含("gnu" . "http://elpa.gnu.org/packages/")了。

一兩件事:你不應該需要require這些軟件包安裝它們(像你做你的代碼的最後一行)之後,由於包應該有足夠的自動加載做出這樣require不必要的(以及有害感覺它會放慢你的啓動)。

0
votes
answers
59 views
+10

emacs ocaml REPL:「搜索程序:沒有這樣的文件或目錄,ocaml」

0

我試圖在Ubuntu 16.04.3在VirtualBox上設置OCaml。我對他們都是新手;請原諒我的無知。我使用emacs ocaml REPL:「搜索程序:沒有這樣的文件或目錄,ocaml」

wget https://raw.github.com/ocaml/opam/master/shell/opam_installer.sh -O - | sh -s /usr/local/bin 

安裝opam,並根據以下的opam安裝說明添加

. /home/<username>/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true 

~/.profile文件。我使用opam install tuaregGNU emacs 24.5.1使用sudo apt-get install emacs來安裝tuareg

當我試圖在Emacs中鍵入M-x run-ocamlreturn使用ocaml REPL,我OCaml REPL to run: ocaml;當我再次打enter,我

Searching for program: no such file or directory, ocaml 

然後我試圖M-x shell,看看我是否可以運行外殼ocaml,我發現我需要使用opam switch我想從終端/ shell中運行ocaml每次;如果我直接鍵入ocaml,我會得到

The program 'ocaml' is currently not installed. You can install it by typing: sudo apt-get install ocaml-interp 

我不知道這是否有什麼關係,我發現了問題。

作爲第二次嘗試,我又回到了Emacs和類型M-x run-ocaml,打return,並在OCaml REPL to run:再次命中return(這次沒有ocaml)。這開闢了一個新的緩衝區:

output file descriptor closed

但是,當我試圖在新的緩衝區類的東西,說1+1;;,並創下shift-return,我得到Output file descriptor of OCaml is closed,如上圖所示。

我一直在閱讀不同的文檔和線索的指示,但他們都沒有描述我的情況。任何幫助將非常感激!

沙发
0
1

也許你應該嘗試像M-x run-ocamlreturn,然後鍵入類似/usr/bin/opam config exec -- ocaml(或任何路徑到您的OPAM安裝),而不是ocaml

板凳
0
0

所以我按照realworldocaml解決了這個問題。我意識到我的帖子中有幾個問題,所以我使用這個答案 分享鏈接中建議的每個解決方案。

@ ghilesZ的回答完美地解決了我的問題標題(謝謝!)中的問題。我應該在M-x命令(正如上面的答案所示)或~/.emacs配置文件中(如鏈接所暗示的)添加ocaml的路徑。完成以下步驟後,可以通過在終端中輸入which ocaml來獲取路徑。

需鍵入

eval `opam config env` 

運行從終端ocaml可以通過將行到~/.bashrc文件來解決。這是因爲在當前shell中輸入命令只會爲當前shell設置一些東西。爲了讓將來的shell自動設置,它需要被添加到登錄腳本中。

0
votes
answers
57 views
+10

如何在每次啓動時在emacs中顯示菜單欄?

1

我把這個在我的.emacs文件:如何在每次啓動時在emacs中顯示菜單欄?

(custom-set-variables                   
'(gud-gdb-command-name "gdb --annotate=1") 
'(large-file-warning-threshold nil) 
'(menu-bar-mode t) 
'(shell-dirtrack-verbose nil)) 
(custom-set-faces                   
) 
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on) 

注意(menu-bar-mode t)。當我啓動emacs時,我必須M-x menu-bar-mode才能獲得菜單欄。我正在GNU Emacs的22.1.1(MAC-蘋果達爾文,低碳版1.6.0)

+2

你應該考慮升級到最新的GNU Emacs的:HTTP: //emacsformacosx.com/ – phils 2010-09-25 12:38:17

+0

我確實在Linux上得到了一個Emacs 22.2.1的菜單欄,正是你在'.emacs'中發佈的內容。因此,無論是在你的'.emacs'中還是有其他的東西來關閉菜單欄,或者它是Mac/Carbon特有的問題。 – Gilles 2010-09-25 13:58:13

+0

我嘗試了下面的人的建議;他們沒有工作,但是當我故意在.emacs文件中加入一個錯誤,以至於它不會一直加載(我沒有關閉一個文件),那麼菜單欄就出現了。奇怪的。什麼是emacs的加載順序?是否有其他默認位置在加載系統範圍的.emacs文件? – Avery 2010-09-26 00:37:52

沙发
0
1

你應該考慮升級到最新的GNU Emacs的:

emacsformacosx.com

板凳
0
3

的相關函數的文檔說:

With a numeric argument, if the argument is positive, 
turn on menu bars; otherwise, turn off menu bars. 

所以,你可以嘗試,而不是(menu-bar-mode t)

(menu-bar-mode 1)

這就是說,對我來說(Emacs 23.2.1),通過設置這個Mxcustomize-variablemenu-bar-mode結果在我的自定義設置變量中出現在您的顯示位置,並且在重新啓動時它具有所需的效果。

雖然Emacs的版本可能有所不同。你手動輸入了嗎?建議僅使用customize界面進行更改,因爲犯錯可能會破壞事情。或者可能您的其他設置是無效的? (例如,在Emacs 23.2.1中我不能自定義一個gud-gdb-command-nameshell-dirtrack-verbose變量)OTOH我認爲它仍然可以自定義只能按需加載的庫中的變量,所以這可能並不意味着這可能並不意味着任何東西。)

你可以註釋掉一切在你的自定義變量,如果你想檢查這一點(但要注意的是最後的右括號:)

+0

已確認:'C-u 1 M-x菜單欄模式 - >菜單欄模式已啓用 – leoger 2010-09-25 12:46:16

+0

我嘗試了一切建議(修改調用,註釋掉其他自定義等)。我正在使用「自定義」界面來編輯這些內容,但這些建議都沒有奏效。這可能是一個特定實現/平臺的錯誤。 – Avery 2010-09-26 00:34:18

地板
0
0

我不認爲(menu-bar-mode 1)custom-set-variables內所屬。相反,把它外面,就像您的來電add-hook

(custom-set-variables 
'(gud-gdb-command-name "gdb --annotate=1") 
'(large-file-warning-threshold nil) 
'(shell-dirtrack-verbose nil)) 
(custom-set-faces 
) 
(menu-bar-mode 1) 
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on) 
+0

我試過這個:不起作用。 – Avery 2010-09-26 00:34:36

+0

您是否嘗試過使用「-Q」調用emacs(假設這甚至可能在OS X上)?這將阻止加載所有啓動文件;如果它使得emacs出現一個菜單欄,那麼你知道一些啓動文件是 - 防止 - 出現菜單欄。我會自己嘗試,但無法訪問Mac。 – offby1 2010-09-27 00:11:51