2013-12-18 36 views
7

比方說,我們目前正處在這行代碼:如何將光標移動到特定的單詞在當前行Vim中

readonly L|a|zy<ICountryRepository> countryRepo; 

和光標在信中的「A」的位置,如圖兩個「|」之間的代碼符號。

現在我想將光標移動到單詞countryRepo的字母y,我該如何使用最小鍵盤筆畫來做到這一點?

(目前我使用的fyfyfyfy密鑰序列在正常模式下...愚蠢的那種)

+2

你試過'$ Fy'嗎? www.vim.org/script.php?script_id=152是一個不錯的插件,可以在vim代碼中顯示標記。 – Alex

+1

';'是Vim中的默認重複移動命令,假設你沒有noremap';'到':'(通常做法)。 –

+3

有可能有10多種方式來做到這一點,每種情況都是獨一無二的。有時候試圖想出最快捷的方式來做某些事情(或者最少的擊鍵次數)需要花費的時間比做「愚蠢」的方式要花費的時間更長。這歸結爲練習各種方式來做到這一點,並根據自己的個人喜好。 –

回答

11

如果你知道它的第四y,你可以做

4fy 

如果您知道這是在該行的最後y,你可以做

$Fy 

如果你不知道在哪個位置是,你仍然可以做

fy;;; 
+0

你也可以做'fy4;' –

+0

也就是說,雖然答案正確,但需要一個更好的解決方案。在Vim中必須有一個更好的方法來做到這一點,因爲在當前行中計算字母是不現實的,這是因爲人們可能會錯誤地計數,而受過訓練的讀者不會讀取*字母*,而是讀取*整個字詞。 – gustafbstrom

4

在這種情況下,我會用

W 

移動到countryRepo,由

fy 
4

跟着我能想到的:

4fy 

但你應該只有當你是一些奇怪的機器人時才這樣做噸。

/co<cr>fy 

這是一個性格比解決方案更短,更容易..

Wfy 

轉到一個WORD,然後向前找年。

f>fy 

這樣的事情我會做的。取決於我心中的彈出窗口。

你應該看看easymotion插件,它有助於任意移動。

編輯:

的EasyMotion是相當不值錢這裏,它是跳躍到的目標漸行漸遠更有用。

2

我會做

tR; 

WtR 

也許

Wfy 
1

使用EasyMotion

在你的情況下,<Leader><Leader>e然後相應的按鍵(在這種情況下,b)將把你的光標到第二個y。我個人使用<Leader>作爲easymotion觸發器,所以對我來說只有3個擊鍵。主要優點是你不需要猜測或計算。

相關問題