2010-10-08 4 views
6

khi tôi di chuyển giữa các tệp bằng cách sử dụng phím tắt trên đường dẫn, sau đó có vẻ như tôi không chỉ di chuyển giữa các tệp.vim du lịch đến pathfile thông qua phím tắt, trực tiếp, luôn luôn

tôi chuyển đến tệp bằng cách sử dụng >, trong tệp đó tôi thay đổi vị trí của con trỏ và làm điều gì đó, sau đó tôi nhấn <. nhưng thay vì đi đến tập tin trước, nó đầu tiên đi đến vị trí ban đầu tôi đã ở khi tôi vào tập tin, sau đó tôi cần phải bấm < một lần nữa để thực sự có được các tập tin trước đó.

đó là một mối phiền toái vì nó không cho phép tôi thay đổi vị trí được lưu trữ trong tệp đích. nó luôn luôn giống nhau vì vậy tôi luôn luôn nhập vào cùng một vị trí, cộng với điều này đòi hỏi hai lần nhấp chuột để đi du lịch khi chỉ có một là cần thiết. và điều này làm cho hành vi của hệ thống trở nên khó hiểu hơn.

vấn đề này dường như chỉ xuất hiện khi tôi nhập các tệp rất lớn. với những cái nhỏ, vị trí hoạt động tốt.

làm cách nào để tôi thực hiện nút < di chuyển tôi đến tệp trước tôi đã ở, trực tiếp, luôn?

p.s.
là sử dụng các bản đồ sau đây trong vimrc của tôi:
noremap > gf
noremap < <Co>

tôi đã cố gắng thay <Co> với < C-6 >, nhưng điều đó không làm việc, đối với một số lý do.

Trả lời

3

Bạn có thể sử dụng :bp trong bản đồ của bạn (đệm trước):

:noremap < :bp<CR> 
+0

Nếu tôi đi vào một tập tin, sau đó quay lại, sau đó đi vào tập tin khác, sau đó khi tôi cố gắng quay trở lại, tôi đi vào tập tin tôi đã đi vào lần đầu tiên. Vì vậy, một cái gì đó là sai. –

3

Mapping để <C-6> không làm việc cho tôi, hoặc, nhưng <C-^> làm.

+0

nhưng nếu tôi đi đến một pathfile bằng cách sử dụng: e ~/somepathfile và sau đó đi lại cho một số khác, sau đó khi tôi cố gắng đi theo cách của tôi trở lại tôi không thể vượt qua nơi tôi đã nhập một tập tin mới bằng phương pháp: e. –

0

Bạn có thể thử các bufmru plugin, nó hoạt động như Ctrl-^, sử dụng phím space, nhưng cho phép bạn cũng phải đi qua hai gần đây nhất là bộ đệm sử dụng các phím fb. Đây là những ánh xạ mặc định của khóa học.

3

Dường như với tôi rằng bạn đang tìm cách di chuyển trực tiếp đến một bộ đệm nhất định thay vì bộ đệm trước đó. Sử dụng <C-o> sẽ đưa bạn lùi lại thông qua jumplist, đó là lý do bạn mất vị trí trong tệp đã chỉnh sửa.

Đường dẫn của bạn thường có phần mở rộng nhất định không? Nếu không, bạn có thể cung cấp cho họ tiện ích mở rộng độc đáo và thử ánh xạ thứ gì đó như sau:

noremap < :b *.pf 

.pf là bất kỳ tiện ích mở rộng nào bạn chọn. Điều này chuyển sang bộ đệm với tên đó.

Thật không may nếu bạn có nhiều hơn một bộ đệm với phần mở rộng đó, nó sẽ thất bại, trong trường hợp đó có thể là tốt nhất để thực hiện nhanh chóng :b theo sau là tên.

tôi sử dụng bản đồ này để khi tôi đang làm việc với một số ít các bộ đệm:

nnoremap <Leader>ls :ls<CR>:b 

Sử dụng này, tôi chỉ có thể nhấn ,ls, nhìn vào danh sách, gõ đệm Tôi muốn và nhấn Enter để di chuyển vào bộ đệm đó.