2
我將列號設置爲相對模式,因爲我不想計數。 我也有nnoremap
ped j
到gj
,以便更容易使用線條包裝。問題是,當我在包裝線上做一個動作(比如2j
)時,它不會將我移動兩行,而是兩個「行」。Vim - 根據上下文映射替代關鍵行爲
爲了解決這個問題,我想有j
映射到gj
定期運動,但鑑於count
時像普通j
。我在vimrc
嘗試下面的命令:
" Up and down now don't skip line-wraps unless given count
fun! MoveLines(lines, type)
if (a:lines == 1)
let a:str = 'g' . a:type
else
let a:str = a:lines . a:type
endif
call feedkeys(a:str)
endfun
nnoremap <silent> j :<C-U>call MoveLines(v:count1, 'j')<CR>
,當我只按j
這工作得很好。問題是,當我試圖給它一個計數:它會自動遞歸調用(如預期的那樣)。我可以嘗試使用cursor
,但是有沒有可能這樣做?
如何在沒有計數的情況下有條件地將j
映射爲gj
,但在給定計數時表現正常?
我知道有一個更簡單的方法!好多了;謝謝 – DavisDude