簡體   English   中英

使用 TextMate 通過 SSH 編輯遠程文件?

[英]Editing remote files over SSH, using TextMate?

我喜歡在我的 MacBook 上使用 TextMate。 這很棒。

不幸的是,我想直接在我的開發服務器上編輯一些文件,因為很難在本地重新創建環境。 我正在使用 Git,因此一種替代方法是在本地進行編輯、git commit、git push,然后 git merge,但是每次我想做一個簡單的更改時,這都會有點復雜。

我寧願......使用另一種解決方案。 我嘗試過的一件事是通過 MacFusion 安裝硬盤驅動器,然后將其加載到編輯器中。 但這實在是太遲鈍了/太慢了!

有沒有人想出更好的解決方案?

好的 - 這是適用於 Mountain Lion 的那個。

  1. 轉到http://osxfuse.github.com/
  2. 為 OS X 安裝 FUSE
  3. 為 OS X 安裝 SSHFS
  4. 然后在終端上執行以下命令:

mkdir /Volumes/SSHFS

 /usr/local/bin/sshfs username@host:/path/to/dir /Volumes/SSHFS

完成

我還建議使用另一位用戶指出的 ReMate 插件,以防止 TextMate 在每次重新聚焦時進行沙灘球。 關聯:

ReMate http://ciaranwal.sh/remate

我將 Fetch 和 TextMate 用於此類任務。 Fetch 可以設置為使用 TextMate 作為外部編輯器,甚至可以通過雙擊自動打開 TextMate 中的文件。

在 TextMate 中保存窗口會自動將文件推送回服務器。 當然,您必須稍后在服務器上提交更改。

我相信大多數 Mac FTP 客戶端都可以這樣做。

最好的辦法是使用 TextMate 的rmate腳本,點擊鏈接,你會找到下面的說明,我推薦它,因為它會讓你的生活更輕松並處理所有的細節。

我為此使用了 TextWrangler 的免費版本,而且效果很好。 我可以通過 sftp 加載和保存文件。

正確答案是使用 sshfs 並確保在 Textmate 首選項窗口中選中“執行原子保存”。 設置 sshfs 的最簡單方法是使用 Macfusion。 http://macfusionapp.org/

大多數提議的解決方案都以一種或另一種形式圍繞 sshfs。 我已經嘗試過這些解決方案,但我發現文件系統的可靠性並不總是如預期的那樣好。

有一個名為rmate 的工具,它允許在 text mate 中編輯遠程文件。

使用來自 ssh 會話的命令來編輯服務器上的文件:

rmate file_name

github 上的自述文件提供了關於如何設置它的易於遵循的說明。

嘗試其中一種方法。

見: http : //wiki.macromates.com/Main/FAQ#projects

也看看:

http://www.gnu.org/software/tramp/

你不需要每次做簡單的改變都push git 是一個分布式版本控制系統,您可以將小的更改commit到本地存儲庫。 一旦你完成了一個功能/錯誤(或者對於非常大的功能,一個完整的子功能),你應該只push送到遠程存儲庫。 好吧,假設您可以重新創建環境; 顯然你不能。

一個體面的文本編輯器可以與您最喜歡的控制版本系統集成; 如果您無法將編輯器配置為從編輯器內部提交和推送,請使用合適的編輯器。

一個更好的編輯器可以設置為通過單擊或按鍵來保存、提交、推送、編譯和運行您的程序。

如果您無法(無論出於何種原因)在本地復制您的環境,但仍想使用 TextMate,那么 FTP 客戶端 + TextMate 組合是我能想到的最佳解決方案。 MacFusion 和所有其他類似的解決方案在紙面上都很整潔,但速度非常慢。

如果您有足夠的冒險精神和信心放棄 TextMate 要求,那么終端中的 SSH+Vim 效果非常好。

您確定無法在遠程環境中進行復制嗎?

我知道這個問題已經有幾個答案,而且已經有一段時間了,但我還想指出 DokanSSHFS - 這將使用 SSH 在您選擇的服務器上創建目錄位置的本地驅動器。 然后您可以使用您選擇的編輯器來編輯文件,就像它們在本地磁盤上一樣。

使用 Fuse for OS X http://osxfuse.github.com和配套包 SSHFS(相同的 URL)並安裝它們。 我也從那里安裝了 MacFUSE 兼容庫,只是為了更好的衡量。

然后,安裝http://macfusionapp.org並按照此處的說明 ( https://github.com/osxfuse/osxfuse/wiki/SSHFS ) 配置 macfusion 以使用較新的庫。

我無法使用密碼進行身份驗證,因此我設置了 ssh 密鑰身份驗證並使用了沒有密碼的 macfusion。 奇跡般有效。

如果您確實使用 IDE,則只需設置一個連接到開發服務器的 SSH 隧道,然后在您最喜歡的 IDE 中輕松編輯文件。 將文件保存在本地會自動然后將文件推送到開發服務器上

PS:我不贊成使用 IDE

您需要 rmate,它可以在本地機器上使用 TextMate 通過 ssh 編輯服務器上的文件。 Github 鏈接在這里

MacFusion 非常免費——基本上是目錄的 ssh 掛載。 http://macfusionapp.org/

Transmit 4 具有類似的功能,但它的成本為 $$。

如果它看起來很慢,請嘗試http://ciaranwal.sh/remate/ ,因為這將禁止 textmate 經常刷新文件列表。

rmate可能是另一種選擇。 在服務器端,您鍵入rmate /path/to/file 該文件將被傳輸到本地機器,您可以在其中使用一些編輯器,如 Sublime Text 或 VS Code(TexMate 也可以工作)。 要使用它,需要安裝服務器和客戶端。

對於服務器端,有幾種不同語言的。 選擇一個你喜歡的。 是 Github 存儲庫。

在本地機器上,據我所知,VS Code 和 Sublime Text 有它們的擴展來接收文件。 對於 VS Code,請參閱此處 對於 Sublime Text,請參閱此處

另一方面,微軟剛剛宣布了 VS Code 的官方遠程編輯擴展(尚未發布)。

對於那些沒有 ruby​​ 的遠程機器,或者如果 bash 沒有用 /dev/tcp 編譯,但有 python,這有效: https : //github.com/scriptmaster/rmate-python

如果你有 pip: pip install rmate

或者干脆:

wget https://raw.githubusercontent.com/scriptmaster/rmate-python/master/bin/rmate
chmod +x ./rmate
mv ./rmate /usr/local/bin/rmate

然后rmate /path/to/file

特別是如果你在一個有限制的容器操作系統中(只有 python 和 docker),比如 kubernetes-vm 或 gce-vm

你不需要 vs-code-server, atom-editor,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM