2013-12-18 16 views
7

Hãy nói rằng chúng tôi hiện đang ở trong dòng mã này:Làm thế nào để di chuyển con trỏ đến từ cụ thể trong dòng hiện tại trong Vim

readonly L|a|zy<ICountryRepository> countryRepo; 

và con trỏ ở vị trí của chữ "a", như thể hiện trong mã giữa hai "|" biểu tượng.

Bây giờ tôi muốn di chuyển con trỏ đến chữ y của từ countryRepo, làm cách nào tôi có thể thực hiện điều đó bằng cách sử dụng các nét chính tối thiểu?

(Hiện nay tôi đang sử dụng dãy phím của fyfyfyfy trong chế độ bình thường ... Loại ngu ngốc)

+2

bạn đã thử '$ Fy' chưa? www.vim.org/script.php?script_id=152 là một plugin tuyệt vời cho thấy bạn đánh dấu trong mã vim của bạn. – Alex

+1

Lệnh ';' là lệnh chuyển động lặp lại mặc định trong Vim, giả sử bạn không có sơ đồ ';' thành ':' (thông lệ chung). –

+3

Có thể có 10 cách để làm điều đó và mỗi tình huống là duy nhất. Đôi khi cố gắng nghĩ cách nhanh nhất để làm điều gì đó (hoặc ít nhất là tổ hợp phím) mất nhiều thời gian hơn là chỉ làm theo cách 'ngu ngốc'. Nó đi xuống để thực hành các cách khác nhau để làm điều đó và sở thích cá nhân của riêng bạn. –

Trả lời

11

Nếu bạn biết rằng đó là lần thứ 4 y, bạn có thể làm

4fy 

Nếu bạn biết đó là người cuối cùng y trong dòng, bạn có thể làm

$Fy 

Nếu bạn không biết lúc đó vị trí của nó là, bạn vẫn có thể làm

fy;;; 
+0

bạn cũng có thể làm 'fy4; ' –

+0

Tức là, trong khi câu trả lời đúng, một vấn đề cần giải pháp tốt hơn. Chỉ đơn giản là có cách tốt hơn để làm điều này trong Vim, vì nó không thực tế để đếm chữ trong dòng hiện tại, bởi vì người ta có thể đếm sai và người đọc được đào tạo không đọc * chữ * nhưng toàn bộ * từ *. – gustafbstrom

4

Trong trường hợp này, tôi sẽ sử dụng

W 

chuyển sang countryRepo, tiếp theo là

fy 
4

tôi có thể nghĩ:

4fy 

Nhưng bạn nên chỉ làm điều này nếu bạn là một số robo lạ t.

/co<cr>fy 

Đó là một ký tự ngắn hơn so với giải pháp của bạn, nhưng dễ dàng hơn ..

Wfy 

Go một WORD về phía trước và sau đó tìm y.

f>fy 

Một cái gì đó như thế này tôi sẽ làm. Phụ thuộc vào những gì quảng cáo trong tâm trí của tôi.

Bạn nên xem xét plugin easymotion, giúp theo dõi tùy ý.

CHỈNH SỬA:

easymotion khá đáng giá ở đây, sẽ hữu ích hơn khi nhảy tới các mục tiêu xa hơn.

3

Nếu bạn có vim-easymotion, https://github.com/Lokaltog/vim-easymotion

Bạn có thể làm <leader><leader>t và sau đó tìm kiếm thư y. Nó không phải là nhanh cho các chữ cái trên cùng một dòng mặc dù. Ưu điểm thực sự là khi bạn nhảy vào toàn bộ tập tin.

2

tôi sẽ làm

tR; 

hoặc

WtR 

hoặc có thể

Wfy 
1

Sử dụng EasyMotion.

Trong trường hợp của bạn, <Leader><Leader>e thì nhấn phím tương ứng (trong trường hợp này là b) sẽ đưa con trỏ của bạn lên y thứ hai. Cá nhân tôi sử dụng <Leader> làm trình kích hoạt easymotion vì vậy nó chỉ có 3 lần nhấn phím cho tôi. Ưu điểm chính là bạn không cần đoán hoặc tính toán.

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