1. fix a typo in gJ mapping when setting the mark, the correct syntax is
`mz` (set mark `z`), not `zm`
2. fix bug with `iB` text object: previously `viB` does not work as
expected, because it does not select the entire buffer as expected.
After much investigation, I found it is because the `<cmd>` mapping
argument. If we use `<cmd>` argument for mapping, the mode does not
change. So if we use `viB`, inititally we are still in visual mode.
Later in the implementation, when we use `` normal! `<V`> `` to
select the entire buffer, it interferes with original visual mode. As
a result, the entire buffer is not selected. In the text obj
implementation, we can use `exe "normal! \<Esc>"` to clear the visual
mode and make `viB`, but this is not ideal. I think it is eaiser to
just not use the `<cmd>` argument and use `:<C-U>` instead.