When motion ge is used with an operator, such as d, the operator acts not only on the current character (which is just inconvenient -- i would prefer that the current character be excluded), but also on the last character of the previous word, which in most cases makes the operation useless. Is this behavior a bug? There is no explanation in Vim's help.As a workaround, i plan to setnoremap ge ?\><CR>noremap gE ?\>\s<CR>
Is the current behavior of `ge` in Operator-pending mode a bug?
cursor movement
I wouldn't call it a bug. Looking at :h ge this is said:ge                      Backward to the end of word [count] inclusive.Now let's see what inclusive means :h inclusiveA character motion is either inclusive or exclusive.  When inclusive, thestart and end position of the motion are included in the operation.  Whenexclusive, the last character towards the end of the buffer is notincluded. Linewise motions always include the start and end position.This means, that ge will always include the character further to the beginning of the document, e.g. where the cursor jumps to. You can force it to be exclusive using the v modifier (:h o_v). But that means in this case only that the starting point will be excluded from the operation.I gues what what you want, is something more like this map::onoremap <silent> <leader>ge  :norm! ge <cr>This will make it exclusive to the char where the cursor jumps to (e.g. the beginning of the visual selection). If you want both ends to be exclusive, you can use this mapping::onoremap <silent> <leader>ge  :norm! vge oh<cr>Note, that both mappings depend on your 'selection' option to be at the default of inclusive. For a truly robust mapping, you would have to save and restore that option and use a mapping that works under a defined option value.If you want the mapping make use of a count, something like this should do it. (For better understandability let's make use of a function):fu! MyCustomGE()    return \<c-u>:norm! .v:count1.ge endfuonoremap <leader>ge :<c-u><c-r>=MyCustomGE()<cr><cr>This way you can use ge for the standard Vim behaviour and <Leader>ge for your special case. See :h <Leader> for the Leader key (default backslash)