2011-11-05 29 views
14

Theo mặc định khi bạn cuộn xuống cuối bộ đệm được hiển thị trong cửa sổ vim, bạn có thể cuộn cho đến khi dòng tập tin cuối cùng nằm trên dòng đầu tiên của vùng hiển thị vim. Tất cả các dòng khác của khu vực hiển thị được đánh dấu bằng ký tự "~". Có cấu hình nào để dừng di chuyển khi dòng tệp cuối cùng ở cuối cửa sổ vim không?vim - Dừng di chuyển sau khi tập tin đầu tiên kết thúc

Chỉnh sửa: Để chính xác hơn, hành vi này chỉ áp dụng cho cuộn bánh xe chuột hoặc điều hướng phím PgDown lấp đầy màn hình bằng các vạch kẻ không tồn tại này. Tôi con trỏ được di chuyển từng dòng bằng cách sử dụng phím mũi tên xuống, con trỏ dừng lại chính xác ở dòng tệp cuối cùng.

+0

Tôi tự hỏi nếu bạn có thể quản lý để có được VIM làm việc như bạn muốn? – JohnTortugo

Trả lời

10

Chỉ cần zb để căn chỉnh dòng hiện tại xuống cuối cửa sổ.

Ví dụ:Gzb

Không surpisingly có một gia đình chuyển động panning liên quan:

  • zj xuống
  • zk lên
  • zt đầu
  • zb đáy
  • zz trung tâm (giữa)
  • zz trung tâm (giữa)

Đối với compl eteness:

  • zl/zL dọc chảo sang phải
  • zh/zH pan dọc bên trái

Ngoài ra, có một cái nhìn tại scrolloff

tôi sử dụng

:set scrolloff=2 

để luôn luôn giữ một bộ đệm tối thiểu là 2 dòng trước hoặc sau dòng con trỏ hiện hành. Điều này làm cho các chuyển động panning gần như huyền diệu. Tôi dành tất cả cơ sở mã duyệt ngày sử dụng không có gì nhưng

  • phân trang Cd/Củ, hjkl, và sự định vị thường xuyên panning với (chủ yếu) zz
  • hướng }/{
  • ký tự cho tất cả các nhu cầu điều hướng khác
+0

Có Tôi đã có cài đặt cuộn. Nhưng nó không có ảnh hưởng với PgDown hoặc cuộn bánh xe chuột. – greydet

+0

Có cách nào để remap PgDown hoặc cuộn bánh xe chuột xuống để sử dụng tổ hợp dựa trên lệnh 'z' để tự động dừng chúng ở dòng tệp cuối cùng không? – greydet

+0

Trong thực tế, một giải pháp có thể là để chuyển đổi cuộn bánh xe chuột và phím trang xuống lệnh '}'. Cảm ơn bạn đã cho tôi biết lệnh điều hướng này – greydet

1

Tôi không nghĩ vậy. Nhưng ngay cả khi có, làm thế nào bạn sẽ muốn nó hoạt động nếu có ít dòng trong tập tin của bạn hơn trên màn hình của bạn? Bạn sẽ phải hiển thị những dòng không tồn tại bằng cách nào đó.

Bạn phải có cách nào đó để báo vim hiển thị các dòng đó nếu đầu tệp đang ở chế độ xem, nhưng không cho phép chúng hiển thị nếu đầu không nằm trong chế độ xem.

+3

Tất nhiên nếu tập tin không có đủ dòng để lấp đầy màn hình, không có vấn đề gì với những dấu hiệu không tồn tại. Tôi chỉ không muốn PgDown hoặc di chuyển con lăn chuột đi dưới phần cuối của tập tin – greydet

1

Không, mô tả của bạn không chính xác.

Khi bạn cuộn dòng theo dòng xuống bằng mũi tên hoặc bằng phím j/k, Vim sẽ dừng ở cuối màn hình. Tức là, nó sẽ không lấp đầy màn hình với các dòng không tồn tại.

Tuy nhiên, một trang đi xuống từng trang bằng PgDown/PgUp, sau đó nó có thể nhận các dòng không tồn tại trên màn hình. Nó không thể tránh được, vì các khóa PgDown/PgUp không nhảy xuống từng dòng một.

+1

Có đó là những gì tôi muốn tránh: có các dòng không tồn tại trên màn hình bằng cách sử dụng hoặc cuộn bánh xe chuột! – greydet

+0

@greydet - Vâng, bạn muốn Vim cư xử như thế nào khi bạn PgDown trong khi ở trang cuối cùng? – Rook

0

tôi chỉ thấy điều này (http://vimrc-dissection.blogspot.se/2009/02/fixing-pageup-and-pagedown.html):

map <silent> <PageUp> 1000<C-U> 
map <silent> <PageDown> 1000<C-D> 
imap <silent> <PageUp> <C-O>1000<C-U> 
imap <silent> <PageDown> <C-O>1000<C-D> 

Mà dường như làm việc cho các phím trang.Và sau khi một số tìm kiếm không thành công liên quan đến cuộn, tôi đã đưa ra điều này:

map <ScrollWheelUp> H5k 
map <ScrollWheelDown> L5j 

Bạn mất dòng, nhưng nó không hữu ích khi cuộn? Ngoài ra, bạn cũng có thể làm:

map <ScrollWheelUp> <C-U> 
map <ScrollWheelDown> <C-D> 

Nếu bạn không nhớ di chuyển rất nhanh ...

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