2009-03-05 32 views
5

Tôi hiện đang sử dụng vim trong cửa sổ telnet để chỉnh sửa mã (trường cũ!). Có rất nhiều mã nguồn (chủ yếu là C), vì vậy tôi sử dụng thẻ, cscope, vv để có được xung quanh. Điều này là ok như xa như nó đi, nhưng độ trễ mạng có thể làm cho tất cả các phím tắt "laggy", mà không phải là quá tốt!Sử dụng gvim hiệu quả qua mạng

Tôi muốn sử dụng gvim trên Windows PC của tôi (hoặc bất kỳ trình soạn có thể được thiết lập để làm điều này) tới:

  1. Chỉnh sửa tập tin từ xa thông qua FTP (gvim đã có thể làm được điều này)
  2. Sử dụng một tệp TAGS được lưu trữ cục bộ hoặc trên máy chủ (có thể hiệu quả hơn khi sử dụng một trên máy chủ, sau đó tôi không phải FTP mỗi tệp xuống). Tôi cho rằng tạo ra các tập tin sau đó FTPing đến vị trí thích hợp trên máy địa phương của tôi sẽ là ok.
  3. Chạy lệnh shell như thể tôi đang ở trong thư mục của tệp trên máy chủ (thực hiện, các tập lệnh khác nhau, v.v.). Tôi có quyền truy cập ssh vào máy vì vậy tôi không thể nghĩ rằng đây sẽ là một vấn đề.

Tôi hơi quen thuộc với vimscript, vì vậy tôi không ngại làm một chút keo. Tôi nghĩ rằng tôi không thể là người duy nhất đã từng muốn làm điều này - do đó yêu cầu ở đây.

Giống như tôi đã nói - nếu có bất kỳ trình soạn thảo phong nha nào có "tích hợp" này, thì tôi không ngại chuyển đổi!

Trả lời

6

Bạn cũng có thể sử dụng SSH để chỉnh sửa tệp của mình từ xa với vim.

:e scp://remote.host.com/project/file 

Và sau đó sử dụng SSH để gọi thực hiện từ xa:

:!ssh remote.host.com '(cd project; make)' 

ctags

Để sử dụng ctags từ xa, tôi sẽ tạo ra thẻ tập tin từ xa và sao chép nó vào máy cục bộ và thêm scp: //remote.host.com/project/ vào mỗi tên tệp trong t anh ấy gắn thẻ các tệp. Bạn có thể làm điều này với một cái gì đó như

:%s#^\(\w\+\)\t#\1\tscp://remote.host.com/project/# 

trên tệp thẻ. Sau đó, khi làm việc trên tệp từ xa bạn sử dụng ': set tags = local_ctags/tags' để tham chiếu phiên bản cục bộ (đã sửa đổi) của tệp thẻ.

2

tùy chọn 'thẻ' cho Vim biết nơi tìm tệp TAGS, mặc dù tôi không chắc liệu Vim có cho phép đường dẫn ftp: // hoặc scp: // trong tùy chọn này hay không.

Bạn có thể chạy lệnh trên máy chủ sử dụng :!ssh ...

Nhưng bạn không nghĩ rằng nó sẽ được tốt hơn để sử dụng một trong các hệ thống kiểm soát nguồn, làm việc với các tập tin cục bộ và sau đó đưa các tập tin cập nhật trên máy chủ?

2

Làm thế nào để gắn localy thư mục từ xa? Bạn có thể xuất nó như là một chia sẻ SMB, NFS mount, hoặc có một số tương đương của hệ thống tập tin SSH (sshfs) có sẵn cho Windows.

+0

Đó là một ý tưởng khá hay - nhược điểm duy nhất là tôi muốn chạy các chương trình trên máy chủ chứ không phải máy cục bộ của tôi, vì vậy một số loại ssh hack có lẽ sẽ là cần thiết. –

+0

Ehmm .. Các giải pháp khác được đề xuất ở đây cũng có vấn đề này. – kyku

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