vim change :x function to delete buffer instead of save & quit
remap, vim
Solution
I find the safest alternative is to use an expression abbreviation:
cnoreabbrev <expr> x getcmdtype() == ":" && getcmdline() == 'x' ? 'bd' : 'x'
This will ensure the abbreviation will only be expanded to `bd` when `:x` is used otherwise just expand to `x`.
For more help:
:h map-<expr>
:h getcmdtype()
:h getcmdline()
Upon further inspection there appears to be a plugin that does exactly this by Hari Krishna Dara called cmdalias.vim. It uses a variation of the technique above.
Problem
I want to set `:x` in vim gui-mode to `delete buffer` because I always kill the whole gvim, which is kind of annoying. I know i can specifically set gui problems with `if has("gui running")` but don't know how to remap `:x` thanks in advance ps.: maybe the tag/term `remap` is wrong but I don't know the correct term, that's why google didn't provide any help at all.