Немає способу це зробити, і нормально, що цього немає: команди звичайного режиму, як правило, досить короткі, і їх можна скасувати, Escякщо ви зіпсуєте це.
Можливим рішенням буде використання :normal
команди. Це робить процес довшим, але, наприклад, якщо ви вводите :normal 10j
командний рядок, Vim виконає 10j
так, ніби ви ввели його в звичайному режимі. (Див. :h :normal
)
Ви також можете додати ці рядки до своїх .vimrc
:
nnoremap <F4> :call NormalModeCommand()<CR>
function! NormalModeCommand()
let command = input("Normal command: ")
execute "normal " . command
endfunction
Вони створюють відображення (тут, F4але використовуйте все, що завгодно), яке викликатиме функцію NormalModeCommand()
.
Функція дозволяє набрати рядок у командному рядку, а потім виконати рядок, який ви ввели як команду звичайного режиму. Під час введення рядка в командному рядку ви можете виправити його, як і будь-яку іншу команду. Звичайно, це не ідеально, але знову ж таки Vim не призначений для цього.