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.
For example :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>. @:
(Using <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. <C-F>, <PageUp>, <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 :help normal:
An alternative is to use :execute, which uses an expression as argument. This allows the use of printable characters to represent special characters.
Example:
: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".