As the comments to your post indicate, the best solution to this question is usually to find a different approach, like vim-easymotion*.
However, on the general topic of repeating a normal mode command:
You can execute the command with
:norm[al] and then use
@: to repeat the last command line.
:norm 4b and then
@: to keep jumping backwards. If
@: is hard to type on your keyboard, you can remap it to make it more practical:
nnoremap <leader>. @:
<leader>. may not be a good idea, I haven't tried that particular combination myself.)
Note that for "special" characters (Ctrl+F, PageUp, Enter, etc.)
:normal does not accept keycodes (e.g.
<Return>) so the actual key presses must be inserted which is done by preceding them with Ctrl-V. But there is a way to use keycodes as described by
An alternative is to use :execute, which uses an expression as argument. This allows the use of printable characters to represent special characters.
:exe "normal \<c-w>\<c-w>"
* Why vim-easymotion is called that and not vim-kriskross will forever remain a mystery to me. After all, it lets you "jump-jump".