2010-03-12 32 views
37

Tôi thường chuyển từ tệp sang tệp, trong khi đang làm việc với một mã lớn. Tôi thường làm điều này bằng cách đặt con trỏ vào tập tin, nói foo.h và gõ "gf". Tôi tự hỏi nếu tôi có thể làm điều tương tự, nhưng mở tập tin trong một cửa sổ phân chia.mở tệp dưới con trỏ trong cửa sổ phân tách

Một giải pháp hiển nhiên là chỉ cần nhập: vsp (sp) filename.

Trả lời

64

<c-w>gf mở trong một tab mới (Ctrl-w gf)

<c-w>f cho chia cửa sổ < - đây là câu trả lời bạn đang tìm kiếm (Ctrl-w f)

nguồn: http://vim.wikia.com/wiki/Open_file_under_cursor

+0

Tuyệt vời - Tôi chưa từng thấy điều đó trước đây. – MikeSep

+0

Vâng, mới với tôi - chỉ được phát hiện trong khi cố gắng trả lời câu hỏi. Để xem các tab, hãy xem: http://vimdoc.sourceforge.net/htmldoc/tabpage.html –

+0

Có cách nào làm việc này với dòng - nếu có '/path/to/file.txt: 22' - tệp: để nhảy vào tập tin? Một cái gì đó như [file_line.vim] (http://www.vim.org/scripts/script.php?script_id=2184). – pevik

4

Khi tôi làm :sp hoặc :vs, cửa sổ mới được tạo, nhưng con trỏ của tôi nằm trên cùng một dòng. Do đó, bạn có thể làm :sp theo sau là gf. Bạn cũng có thể tạo một lệnh tắt hoặc ánh xạ cho chuỗi đó.

0

Tôi sử dụng plugin a.vim cho việc này. http://www.vim.org/scripts/script.php?script_id=31

Ngoài những gì bạn đang tìm kiếm. Tôi cũng có một tính năng trong đó bạn có thể thay thế giữa tập tin header và cpp rất dễ dàng (nếu bạn làm việc trên c/cpp code). Nó rất tiện dụng đôi khi

0

Nếu bạn đặt dòng này vào _vimrc của bạn:

map <F2> <C-w>f:call MoveWindowToRight(1)<CR> 

bạn có thể mở các tên file dưới con trỏ với F2 và nó sẽ xuất hiện ở phía bên phải của cửa sổ hiện tại bạn. Đây là kết quả phù hợp nhất với 'giải pháp rõ ràng' được đề cập của bạn bằng cách sử dụng: vsplit.

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