Có cách nào để tìm mọi cách sử dụng phương pháp trong vim không? Tôi đang sử dụng vim như một IDE cho Rails với rails.vim. ctags giúp chuyển sang định nghĩa phương thức từ cách sử dụng nhưng không phải là cách khác AFAIK tròn. Tôi muốn để có thể tìm thấy ở khắp mọi nơi (bộ điều khiển, xem vv) mà một phương pháp đã được sử dụng.Tìm mọi cách sử dụng phương pháp trong vim
Trả lời
Không có giải pháp hoàn hảo nào cho điều này trong Vim, nhưng bạn có thể đến gần với cscope
và grep
hoặc ack
.
cscope
sẽ giúp bạn tìm tất cả các tham chiếu đến biểu tượng. Nó được tạo ra cho các ngôn ngữ C và C, nhưng nó cũng phù hợp với các ký hiệu phù hợp trong mã Ruby. Nó sẽ không nhận được bối cảnh đúng lúc.
Dưới đây là vim cscope tutorial và blog post about Ruby/Vim/cscope và another blog post, cả hai đều bao gồm các mẹo bổ sung về điều hướng mã Ruby/Rails trong Vim.
Sử dụng grep
hoặc ack
từ Vim với tích hợp nhanh là một cách tuyệt vời để tìm biểu tượng. Họ không có khái niệm về phạm vi/ngữ cảnh, nhưng thường là một tìm kiếm đơn giản là đủ. Chỉ sử dụng được xây dựng trong :grep
lệnh, bạn có thể làm:
:grep some_method app/controllers
:cwindow
Và có được kết quả của việc tìm kiếm trong cửa sổ QuickFix, mà sẽ cho phép bạn nhanh chóng điều hướng đến các tập tin phù hợp và số dòng.
Một tùy chọn tốt hơn là plugin ack.vim, tích hợp ack với Vim và sử dụng cửa sổ quickfix.
Nếu bạn chưa sử dụng plugin để điều hướng CTAGS, tôi khuyên bạn nên Tagbar.
tôi đã viết một viên ngọc để làm điều đó: https://rubygems.org/gems/starscope
Nó phân tích mã ruby đúng cách và xuất khẩu sang ctags và các định dạng tập tin cscope.
Tôi chắc chắn sẽ kiểm tra xem nó ra! – Adnan
Err .. Bạn có thể thêm một lưu ý về yêu cầu phiên bản Ruby vào trang github của bạn không. Rõ ràng, kính viễn vọng thổi lên trên 1.9.2 (cần 1.9.3): \ – Adnan
Chắc chắn, tôi sẽ làm điều đó ngay. Tôi thậm chí không nhận ra nó sẽ không hoạt động với các phiên bản cũ. – Evan
- 1. Sử dụng phương pháp
- 2. CodeIgniter - Làm thế nào để kiểm tra phiên sẽ được sử dụng ở mọi phương pháp
- 3. Cách sử dụng phương pháp này trong Xcode
- 4. Phương pháp Swizzling trong Android bằng cách sử dụng java
- 5. Sử dụng const trong một phương pháp
- 6. Vim autocomplete Rails mô hình phương pháp
- 7. Cách sử dụng lệnh 'f' của vim (tìm) để tìm tab tiếp theo
- 8. Cách sử dụng mẫu trong vim
- 9. Sử dụng [phương pháp tự] hoặc @selector (phương pháp)?
- 10. Tạo chữ cái in hoa theo phương pháp vim khi sử dụng ctrl-a để tăng
- 11. Sử dụng phương pháp PUT với Express.js
- 12. Sử dụng phương pháp AddOrUpdate trong ConcurrentDictionary trong .NET 4.0
- 13. Tìm phương pháp ghi đè
- 14. Sử dụng phương pháp khác ngoài __unicode__ trong ModelChoiceField Django
- 15. Sử dụng Winkeys trong Vim
- 16. Sử dụng các phương pháp nền/nền trước trong AppDelegate
- 17. Node.js REPL với keybindings vim VÀ phương pháp/hoàn biến
- 18. Sử dụng thẻ trong Vim
- 19. Sử dụng phương pháp tĩnh hoặc không có phương pháp tĩnh nào trong lớp học nghề?
- 20. Sử dụng phương pháp HTML5 FileWriter truncate()?
- 21. Django 1.4 - assertQuerysetEqual - cách sử dụng phương pháp
- 22. Ruby on Rails: cách sử dụng OAuth2 :: AccessToken.post? phương pháp
- 23. Phương pháp nén nào sử dụng trong PHP?
- 24. Phương pháp kiểm tra JUnit sử dụng các phương pháp khác trong cùng một đối tượng
- 25. Cách tìm cách sử dụng phương thức API trong tất cả các thư viện trong classpath?
- 26. Tìm Tham chiếu đến Lớp & Phương pháp
- 27. Phương pháp Current_user sử dụng devise
- 28. Bảo mật Java EE - Phương pháp nào để sử dụng?
- 29. Vim: Đi đến đầu/cuối phương pháp tiếp theo
- 30. vim cách tìm kiếm URL
Tuyệt vời. Tôi chắc chắn sẽ thử những điều này. grep, tất nhiên, là một chế độ chờ cũ nhưng tôi đã từng sử dụng nó độc lập (trên một cửa sổ đầu cuối khác). Tích hợp vào trình soạn thảo chính của tôi ngay cả khi không có nhiều bối cảnh sẽ tốt hơn rất nhiều. – Adnan
Tôi đang làm việc trên cấu hình của riêng mình để xử lý cscope trong các dự án Rails của tôi. Đây là một [gist] (https://gist.github.com/fweep/5182260) với một số của nó. Lưu ý rằng nó chỉ là một số cấu hình của tôi, và được kết hợp chặt chẽ với thiết lập Git của tôi, nhưng tôi nghĩ rằng nó có thể giúp bạn bắt đầu nếu bạn muốn nhảy vào với cscope; có đủ thông tin để tạo cơ sở dữ liệu 'cscope.out' và tải/tìm kiếm nó trong Vim. Có thể bạn sẽ muốn thay đổi một số tên đường dẫn. Nếu tôi làm cho nó thành một plugin và/hoặc viết một bài đăng blog về nó, tôi sẽ bình luận ở đây. –
Cảm ơn các liên kết .. – Adnan