2009-08-31 39 views
5

Tôi chỉ muốn chuyển từ một hàm sang hàm kế tiếp trong tệp .c/.cpp. Làm thế nào để làm điều đó?Cách di chuyển từ một hàm C/C++ sang hàm kế tiếp (cả hai hướng)

+0

phương thức java/C++ http://stackoverflow.com/questions/12128678/vim-go-to-beginning-end-of-next-method (phải được đặt trong một lớp 'đầu {}') , bắt đầu chức năng: http://stackoverflow.com/questions/2109503/how-to-jump-to-the-beginning-of-a-function-body-in-vim –

Trả lời

9

Tôi tin rằng bạn đang tìm kiếm ]] mà nhảy đến { char tiếp theo trên cột đầu tiên.

Có các tùy chọn tương tự, chỉ cần thử :help ]] để biết thêm thông tin.

1

Hãy xem hồ hởi-ctags nó hoạt động với Emacs, và "vim" bạn điều ;-)

7

Về việc sử dụng [[và]], lưu ý những điều sau đây từ motion.txt trong tài liệu vim:

 

If your '{' or '}' are not in the first column, and you would like to use "[[" 
and "]]" anyway, try these mappings: 
    :map [[ ?{w99[{ 
    :map ][ /}b99]} 
    :map ]] j0[[%/{ 
    :map [] k$][%?} 
+2

Vấn đề với những điều này là nếu bạn có tìm kiếm hoạt động và bạn sử dụng các bản đồ này, tìm kiếm của bạn sẽ bị ghi đè. – Jake

2

tôi sử dụng các ánh xạ mà sẽ làm cho [[và]] làm việc với chức năng mà don 't đặt bắt đầu {ở đầu dòng.

map ]] :call search("^\\(\\w.*\\)\\?{")<CR> 
map [[ :call search("^\\(\\w.*\\)\\?{", "b")<CR> 
map ][ :call search("^}")<CR> 
map [] :call search("^}", "b")<CR> 
+0

Huh, đặt con trỏ ở cuối kết quả phù hợp là '{' hoặc '}' như 'bản đồ]]: tìm kiếm cuộc gọi ("^\\ (\\ w. * \\) \\? {"," e ") ' có thể tốt hơn. – zhenguoli

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