2010-04-08 24 views
50

I LOVE sử dụng TextMate trên MacBook của tôi. Thật tuyệt vời.Chỉnh sửa các tệp từ xa qua SSH, sử dụng TextMate?

Thật không may, tôi muốn chỉnh sửa một số tệp trực tiếp trên máy chủ dev của mình, vì rất khó để tạo lại môi trường cục bộ. Tôi đang sử dụng Git, do đó, một thay thế là chỉnh sửa cục bộ, git commit, git push và sau đó git merge, nhưng điều đó phức tạp mỗi lần tôi muốn thực hiện một thay đổi đơn giản.

Tôi chỉ muốn ... sử dụng giải pháp khác. Một điều tôi đã thử là gắn một ổ đĩa cứng thông qua MacFusion, và sau đó tải nó trong một trình soạn thảo. Nhưng đó là vì vậy freaking laggy/chậm!

Có ai đã nấu một giải pháp tốt hơn không?

+0

Bạn có cấu hình máy chủ nào? Số thứ bạn có thể làm với Mac OS X và bit (đôi khi lớn) của dòng lệnh-fu là phi thường: Scala, Python, Redis, Couch, Ruby… – romainl

Trả lời

36

OK - đây là công cụ hoạt động trên Mountain Lion.

  1. Đến http://osxfuse.github.com/
  2. Install FUSE cho OS X
  3. Install SSHFS cho OS X
  4. Sau đó, các lệnh sau trên thiết bị đầu cuối của bạn:

mkdir /Volumes/SSHFS

/usr/local/bin/sshfs [email protected]:/path/to/dir /Volumes/SSHFS 

Xong.

Tôi cũng khuyên bạn nên sử dụng plugin ReMate như được chỉ ra bởi một người dùng khác để ngăn TextMate khỏi bóng bãi biển mỗi lần bạn lấy nét lại. Link:

ReMate http://ciaranwal.sh/remate

+0

Nhưng sự phiền toái là rằng mỗi khi bạn đóng máy tính xách tay của bạn và wifi của bạn ngắt kết nối, bạn phải chạy lại lệnh sshfs. –

1

Bạn không cần phải push mỗi khi bạn thực hiện thay đổi đơn giản; git là hệ thống kiểm soát phiên bản được phân phối, bạn commit vào kho lưu trữ cục bộ của mình để có những thay đổi nhỏ. Bạn chỉ nên push vào kho lưu trữ từ xa khi bạn đã hoàn thành công việc trên một tính năng/lỗi (hoặc đối với tính năng thực sự rất lớn, một tính năng phụ hoàn chỉnh). Vâng, đó là giả sử bạn có thể tái tạo môi trường; mà dường như bạn không thể.

Trình chỉnh sửa văn bản thuần túy có thể tích hợp với hệ thống phiên bản điều khiển yêu thích của bạn; nếu bạn không thể cấu hình trình soạn thảo của bạn để cam kết và đẩy từ bên trong trình soạn thảo của bạn, hãy có một trình soạn thảo phong nha.

Trình chỉnh sửa thậm chí tốt hơn có thể được đặt để lưu, cam kết, đẩy, biên dịch và chạy chương trình của bạn tất cả trong một cú nhấp chuột hoặc nhấn phím.

+1

Tôi đồng ý với mọi thứ, nhưng OP viết rằng anh ấy không thể để nhân rộng là môi trường cục bộ. Điều đó có nghĩa là anh ta không thể kiểm tra được mã và buộc phải thực hiện điệu nhảy cam kết/đẩy mỗi khi anh ấy lưu các tệp của mình. – romainl

+0

@romainl: Vấn đề là, bất kỳ trình soạn thảo văn bản tốt nào đều có thể được thiết lập để lưu, cam kết và đẩy, bằng một lần nhấp/nhấn phím. Nếu TextMate không thể làm điều đó, thì bạn nên chọn một trình soạn thảo văn bản tốt hơn. –

+0

Tôi hoàn toàn nhận được và đồng ý với quan điểm của bạn. Trên thực tế tôi đã đạt đến một loại "cao nguyên" với TextMate và cuối cùng đã bỏ rơi cho Vim một vài tháng trước đây. Tôi thực sự không muốn trông giống như một nhà thuyết giảng hay gì đó nhưng câu trả lời đầu tiên của tôi cho hầu hết các câu hỏi liên quan đến TM sẽ là "chuyển sang Vim hoặc Emacs" nếu tôi không kiểm soát bản thân mình. – romainl

11

Tôi sử dụng Tìm nạp và TextMate cho các tác vụ như vậy. Tìm nạp có thể được thiết lập để sử dụng TextMate như một trình soạn thảo bên ngoài và thậm chí có thể tự động mở các tệp trong TextMate bằng cách nhấp đúp.

Lưu cửa sổ trong TextMate sẽ tự động đẩy tệp trở lại máy chủ. Tất nhiên bạn sẽ phải cam kết những thay đổi trên máy chủ sau này.

Tôi chắc chắn rằng hầu hết các máy khách Mac FTP đều có thể thực hiện tương tự.

+4

Tôi cũng làm như vậy với Cyberduck. –

+4

Có. Truyền và (yêu thích của tôi) Yummy FTP làm điều đó là tốt. – romainl

+0

Bạn không thể kết nối FTP từ xa bằng lệnh K-Finder và kết nối tới một URL như ftp (s): // server/folder /? – Capsule

0

MacFusion là khá ngọt ngào miễn phí - về cơ bản ssh-gắn các thư mục. http://macfusionapp.org/

Truyền 4 có tính năng tương tự, chi phí là $$.

Hãy thử http://ciaranwal.sh/remate/ nếu có vẻ chậm, vì điều đó sẽ vô hiệu hóa người bạn văn bản khỏi làm mới danh sách tệp thường xuyên.

1

Nếu bạn không thể - vì bất kỳ lý do gì - để sao chép môi trường của bạn cục bộ và vẫn muốn sử dụng TextMate, trình kết hợp máy khách FTP + TextMate là giải pháp tốt nhất tôi có thể nghĩ đến. MacFusion và tất cả các giải pháp tương tự khác đều gọn gàng trên giấy nhưng rất chậm.

Nếu bạn cảm thấy thích mạo hiểm và đủ tự tin để giảm yêu cầu TextMate, SSH + Vim trong thiết bị đầu cuối hoạt động rất tốt.

Bạn có tích cực không thể sao chép ở tất cả môi trường từ xa của bạn?

1

Tôi biết câu hỏi này đã có một số câu trả lời, và đã lâu rồi, nhưng tôi cũng muốn chỉ ra DokanSSHFS - Điều này sẽ sử dụng SSH để tạo ổ đĩa cục bộ của vị trí thư mục trên máy chủ mà bạn chọn. Sau đó, bạn có thể sử dụng trình soạn thảo của bạn lựa chọn để chỉnh sửa các tập tin như thể chúng được trên một đĩa địa phương.

5

Tôi sử dụng phiên bản miễn phí của TextWrangler chỉ cho điều này và nó hoạt động tuyệt vời. Tôi có thể tải và lưu các tập tin trên sftp.

+1

Có! Điều này làm việc tuyệt vời. –

3

Câu trả lời đúng là sử dụng sshfs và đảm bảo "Thực hiện lưu nguyên tử" được chọn trong cửa sổ tùy chọn Textmate. Cách dễ nhất để thiết lập sshfs là sử dụng Macfusion. http://macfusionapp.org/.

+0

tôi đã sử dụng macfusion trong một thời gian cho đến khi tôi nhận ra nó đã gây ra một số hành động liên kết tệp lạ ẩn trong thư mục ssh'd ... nó dừng lại xảy ra khi tôi sử dụng tùy chọn "kết nối mạng" của mac trong công cụ tìm – Kristian

0

Sử dụng cầu chì cho OS X http://osxfuse.github.com và gói đồng hành, SSHFS (cùng một URL) và cài đặt chúng. Tôi đã cài đặt các thư viện tương thích MacFUSE từ đó, chỉ để đo lường tốt.

Sau đó, hãy cài đặt http://macfusionapp.org và làm theo hướng dẫn tại đây (https://github.com/osxfuse/osxfuse/wiki/SSHFS) để định cấu hình macro để sử dụng các thư viện mới hơn.

Tôi gặp sự cố khi được xác thực bằng mật khẩu, vì vậy tôi đã thiết lập xác thực khóa ssh và sử dụng tính năng nhập macro mà không cần mật khẩu. Làm việc như một say mê.

8

Điều tốt nhất sẽ được sử dụng kịch bản TextMate của, hãy làm theo các liên kết và bạn sẽ tìm thấy các hướng dẫn bên dưới, tôi khuyên bạn nên nó vì nó sẽ làm cho cuộc sống của bạn dễ dàng hơn và xử lý tất cả các Nitty- Gritty.

0

Nếu bạn sử dụng IDE, bạn chỉ có thể thiết lập đường hầm SSH cho máy chủ dev của bạn và chỉnh sửa tệp của bạn từ sự thoải mái của IDE yêu thích của bạn. Lưu các tập tin địa phương sẽ tự động sau đó đẩy các tập tin trên máy chủ dev cũng

PS: Tôi không ủng hộ việc sử dụng các IDE

0

Bạn cần rmate nó hoạt động tốt để chỉnh sửa các tập tin trên máy chủ của bạn thông qua ssh sử dụng TextMate trên máy địa phương của bạn. Github link here

1

Hầu hết các giải pháp được đề xuất tập trung xung quanh sshfs ở dạng này hay dạng khác. Tôi đã thử các giải pháp này, nhưng tôi thấy rằng độ tin cậy của hệ thống tập tin không phải lúc nào cũng tốt như mong muốn.

Có công cụ gọi là rmate, cho phép chỉnh sửa các tệp từ xa trong giao phối văn bản.

Sử dụng lệnh từ phiên ssh để chỉnh sửa tập tin trên máy chủ:

rmate file_name 

Các readme trên github cung cấp dễ dàng để làm theo hướng dẫn về cách thiết lập nó.

Các vấn đề liên quan