Я считаю, что самая безопасная альтернатива - использовать сокращение выражения:
cnoreabbrev <expr> x getcmdtype() == ":" && getcmdline() == 'x' ? 'bd' : 'x'
Это обеспечит расширение аббревиатуры до bd
, если используется :x
, в противном случае просто расширьте до x
.
Для получения дополнительной помощи:
:h map-<expr>
:h getcmdtype()
:h getcmdline()
При дальнейшем осмотре появляется плагин, который делает именно это Хари Кришна Дара, который называется cmdalias.vim . Используется вариант техники выше.