2010-02-15 6 views
24

Tôi phát triển Ruby on Rails khá độc quyền. Tôi hiện đang phát triển trong OS X bằng cách sử dụng TextMate. Tôi có một máy ảo chạy để mô phỏng chặt chẽ nhất có thể môi trường mà ứng dụng của tôi sẽ được triển khai vào và tôi gắn mã trên một chia sẻ Samba vào OS X từ máy khách VM. Từ đó tôi mở với TextMate và mã đi.Suy nghĩ di chuyển từ TextMate sang vim cho Rails dev. Tôi cân nhưng gi?

Tôi bắt đầu nghĩ rằng với các plugin thích hợp và thời gian học tập, tôi có thể làm việc hiệu quả hơn trong vim trực tiếp trên máy ảo. Ngay bây giờ TextMate của tôi về cơ bản là cổ phiếu, mặc dù tôi thấy plugin ProjectPlus không thể thiếu. Những gì tôi đang tìm kiếm là một số gợi ý về tài nguyên và plugin bổ sung (nếu đó là thuật ngữ đúng) để mô phỏng chặt chẽ các tính năng mà tôi không muốn từ bỏ trong TextMate. Hoặc ít nhất, những lý do thuyết phục tại sao tôi nên sẵn sàng từ bỏ chúng. Dưới đây là danh sách ngắn:

  • Có khả năng có cây dự án có thể gập lại dễ thấy hoặc dễ dàng chuyển đổi.
  • Có thể xem nhanh trạng thái SCM, trong cây dự án này (thích hợp hơn) hoặc ngược lại. (Tôi sử dụng git gần như độc quyền nếu điều này làm cho bất kỳ sự khác biệt.)
    • Có thể xem một side-by-side diff từ bên trong vim sẽ là tuyệt vời quá
  • Khả năng tìm kiếm thông qua toàn bộ dự án tại sẽ (tôi giả sử :stop; grep -nr; fg; sẽ thực hiện điều này, trừ khi có một cách tốt hơn để làm điều đó.)
  • hoàn Code, nếu có thể

Trả lời

27

Plugin NERD Tree mang đến cho bạn một cây dự án đóng mở. Cá nhân, tôi thấy rằng các plugin netrw là quá đủ, và điều này thường được cài đặt với Vim.Trong khi cây NERD cảm thấy như thể nó cố gắng mô phỏng hành vi của các IDE khác (và ngăn kéo dự án của TextMate), tôi cảm thấy rằng plugin netrw thực hiện mọi thứ theo cách Vim. Tôi đề nghị bạn thử cả hai, và xem cái nào bạn thích.

Plugin fugitive cung cấp một giao diện git để Vim (Xem Vimcasts: Phụ 1, 2, 3, 45).

Plugin ack thật tuyệt vời để tìm kiếm toàn bộ dự án. Bạn sẽ muốn đọc trên danh sách quickfix của Vim để tận dụng tối đa điều này.

hoàn thành từ TextMate được kích hoạt với esc, và thay đổi - esc. Trong Vim, bạn sẽ có được tương tự autocomplete chức năng sử dụng ctrl - nctrl - p trong chế độ chèn. Kiểm tra :help ins-completion để biết thêm thông tin.

Tôi đang chạy một loạt các chương trình truyền hình về việc học Vim qua tại vimcasts.org. Nền của tôi là với TextMate, nhưng tôi đã sử dụng Vim fulltime trong một thời gian. Khi tôi viết điều này, tôi chỉ có 6 tập phim, nhưng tôi có kế hoạch bao quát từng điểm bạn đã nêu trong các tập tiếp theo. Tôi sẽ cố gắng và quay lại để chỉnh sửa câu trả lời này với các liên kết đến screencasts khi chúng trở nên có sẵn.

1

thu hình màn ảnh này là rất tốt cũng http://blip.tv/file/1372096

Tôi sử dụng VIM và tôi đặc biệt như làm thế nào để xoay từ mô hình/xem và điều khiển liên quan ..

1

Tìm toàn bộ dự án here.

hoàn Mã : Thông thường được thực hiện với ctrl - X sau đó ctrl - O khi ở trong chế độ ert.

Git tích hợp: git.vim

Tree Project: Nerdtree.vim

Chúc may mắn

2

Bạn có thể muốn bắt đầu với Ruby/Rails liên quan của tôi vimfiles bao gồm hỗ trợ cho rvm và git.

4

Để điều hướng tệp chỉ đơn giản là yêu CommandT
Chức năng này rất giống với hàm commandT yêu thích trong văn bản.

1

Tất cả các câu trả lời khác cộng:

Khả năng có một (tốt nhất) cây dự án đóng mở có thể nhìn thấy hoặc bất cứ lúc nào hoặc dễ dàng chuyển đổi-thể.

  • Plugin project.vim không thực sự hoạt động như ngăn kéo Dự án TextMate nhưng nó gần gũi.
  • Với NERDTree, bạn có thể thiết lập dấu trang và làm cho nó hoạt động giống như ngăn kéo dự án.
  • :help mkview:help mksession cũng có thể trợ giúp.

Có thể xem nhanh trạng thái SCM, trong cây dự án này (ưa thích) hoặc cách khác. (Tôi sử dụng git gần như độc quyền nếu điều này làm cho bất kỳ sự khác biệt.)

  • vcscommand.vim cung cấp cùng một tập các lệnh cho nhiều SCM, nó hoạt động với Git, SVN, Mercurial ...
  • Bạn có thể sử dụng plugin kẻ chạy trốn nói trên để hiển thị trạng thái Git trong dòng trạng thái, :help fugitive-statusline .

Có thể xem một side-by-side diff từ bên trong vim sẽ là tuyệt vời quá

  • kẻ chạy trốn cung cấp lệnh :Gdiff mà không đúng như vậy.
  • Plugin được phát hành gần đây có tên là Gitv cố gắng mô phỏng GitK trong Vim. Tôi thích nó rất nhiều và tác giả rất nhạy cảm. Trong chế độ xem dạng cây, hãy nhấn <CR> để mở cam kết trước đó trong cửa sổ khác và D để xem sự khác biệt kép.

hoàn Code, nếu có thể

  • Có một vài giải pháp, nếu bạn không cần nó để được tự động <C-x><C-o>, <C-n><C-p> sẽ được nhiều hơn đủ, nếu bạn muốn "tự động hoàn thành", bạn có thể thử these few plugins. Yêu thích của tôi là autocomplpop.
0

Tôi đã xuất bản bài đăng mở rộng về chủ đề này hôm nay, trong đó tôi giải thích cách sao chép 100 tính năng từ Textmate trong VIM. Đó là sản phẩm của rất nhiều nghiên cứu giờ.

Ví dụ tôi giải thích:

  • Làm thế nào để tái tạo một Drawer Dự án
  • Làm thế nào để quản lý các tab
  • Làm thế nào để làm Rails lệnh cụ thể (Cho phép đối mặt với nó: Rất nhiều người sử dụng Textmate là Rails lập trình viên)
  • làm thế nào để làm tìm và thay thế
  • làm thế nào để thực hiện tìm kiếm rộng dự án

Đọc Bài viết gốc:Textmate To VIM