Coloque o cursor do modo normal VIM entre os caracteres em vez de neles

2

Eu realmente gostaria que o cursor VIM no modo normal pudesse agir como no modo de inserção: uma linha entre dois caracteres. Por exemplo, por exemplo:
 - Digitando vd não teria efeito porque nada foi selecionado.  - pe P seria o mesmo  - Eu e um seria o mesmo

Alguma coisa assim foi feita? Eu não consegui encontrá-lo.

    
por Owen 06.02.2011 / 00:16

3 respostas

2

apenas por diversão, veja como você pode alcançar o comportamento desejado para os exemplos que forneceu:

set selection=exclusive
set virtualedit+=onemore
" this is just a crude proof of concept with theoretically addressable weak points
nnoremap vd <Nop>
noremap p P
noremap a i
" make i<Esc> not move the cursor
inoremap <Esc> <Right><Esc>

Mas eu quase não vejo o ponto. Cuidado para explicar por que você quer isso? Por exemplo. como é vd relevante e porque não basta usar i e nunca a ?

    
por 18.06.2011 / 02:30
4
:set guicursor+=n:ver1

tornará o cursor um pixel mais fino, de modo que você ainda possa distinguir visualmente o modo Normal do modo Inserir por ele. Se você quer que ele seja exatamente como o modo de inserção:

:se gcr+=n:ver25


:help guicursor ( link ) oferece a você:

This option tells Vim what the cursor should look like in different
modes.
O

link tem um ótimo tutorial sobre o assunto.

sidenote: o cursor no vim é sempre em um caractere, não 'entre'. ele apenas parece "intermediário", já que é uma pequena barra vertical, vinculada ao lado esquerdo do caractere.

    
por 06.02.2011 / 09:12
0

Para a versão gnome > 3,15
Adicione isto ao seu ~ / .vimrc.

if has("autocmd")
  au VimEnter,InsertLeave * silent execute '!echo -ne "\e[2 q"' | redraw!
  au InsertEnter,InsertChange *
\ if v:insertmode == 'i' | 
\   silent execute '!echo -ne "\e[6 q"' | redraw! |
\ elseif v:insertmode == 'r' |
\   silent execute '!echo -ne "\e[4 q"' | redraw! |
\ endif
au VimLeave * silent execute '!echo -ne "\e[ q"' | redraw!
endif

Você obterá um cursor de bloco no modo normal e um fino no modo de inserção.

    
por 27.05.2017 / 16:31