Tôi biết 0 đi đến đầu dòng và $ đi đến cuối, nhưng có gì ở giữa không?
Tôi biết 0 đi đến đầu dòng và $ đi đến cuối, nhưng có gì ở giữa không?
Câu trả lời:
:call cursor(0, len(getline('.'))/2)
Gõ gm
sẽ làm điều đó, nhưng nó di chuyển bằng các dòng màn hình (xem :help gm
). Để làm cho nó hoạt động với các dòng văn bản, người ta có thể ánh xạ lại lệnh này:
map gm :call cursor(0, virtcol('$')/2)<CR>
Đây là một giải pháp sẽ tôn trọng hardtabs và các ký tự nhiều byte.
:exe 'normal '.(virtcol('$')/2).'|'
Đây là giải pháp tốt nhất mà tôi đã tìm thấy. Nhảy chính xác đến giữa dòng là không thực tế. Rất có thể bạn vẫn sẽ cần di chuyển con trỏ một vài vị trí sau khi di chuyển đến giữa. Điều gì nếu bạn có thể nhảy đến một nhân vật cụ thể? Nhiều người chỉ cần tìm kiếm nhân vật, sau đó nhấn "tiếp theo" cho đến khi họ đạt được nó. Điều này là chậm. Plugin Easy-motion cung cấp một giải pháp tốt hơn.
Yêu thích của tôi là <leader><leader>s
nhân vật bạn muốn nhảy đến. Easy Motion thay thế tất cả các trận đấu bằng các chữ cái khác nhau để bạn lựa chọn. Xem hướng dẫn. Đây là một plugin thay đổi cuộc sống ...