Como alterar o cursor do modo de comando sublimtext2 para que seja uma barra em vez de sublinhado

2

Eu apenas mudei para um Mac e comecei a usar o sublimetext 2 para codificação porque ele tem o modo de comando e o conforto do textmate.

Quando eu estava no Windows o e-texteditor tem essas duas características também, mas o modo de comando nele, uma vez ativado, seria o tipo onde o cursor está sempre entre os caracteres, a barra piscando | kind, não o tipo que é sempre um sublinhado de uma carta.

Estou ficando bastante irritado com o tipo de sublinhado, por exemplo, quando no modo de comando e pressiono $, que deveria ter ido direto para o final da linha para eu adicionar mais a essa linha, mas em vez disso chega o último caractere da linha e se eu atingir i para entrar no modo de inserção, agora o cursor da barra está à esquerda do último caractere e eu tenho que pressionar a seta para a direita para chegar à última posição da linha.

Tenho certeza que gurus do vim vão me dizer tudo sobre isso é o design ou algo assim, obrigado, mas eu só quero uma solução, eu só quero usar o tipo de barra de cursor em tudo que eu faço no modo de comando ou modo visual . Agora eu não consigo nem encontrar um cenário para mudar isso em qualquer lugar. Então alguém já sofreu o mesmo problema e encontrou uma maneira de alterá-lo?

    
por Nik So 03.11.2011 / 21:05

2 respostas

1

O cursor do Vim está sempre em uma célula de caractere. Como você imaginou, isso é intencional. Não pode ser realmente mudado, mesmo como opção, porque muito do comportamento do Vim depende dessa característica. A melhor abordagem é aceitá-lo e adaptar seus hábitos de edição de acordo.

Por exemplo, para adicionar um caractere após o final de uma linha, digite A .

Dito isso, há uma configuração que pode ajudar você. Uma nova configuração da opção 'virtualedit' foi adicionada no Vim 7: onemore . Isso permite que o cursor se mova para uma posição após o final da linha, para que você possa passar do final da linha e digitar i para inserir um caractere no final da linha. Veja

:help new-onemore
:help 'virtualedit'

O comando $ ainda se move para o final real da linha, portanto, você pode querer usar esse mapeamento também:

:nnoremap $ $l

Esse último caractere é um L minúsculo.

    
por 03.11.2011 / 22:07
1

Não é preciso ser um "guru do vim" para lhe dizer que você simplesmente precisa aprender o caminho do Vim. Isso é o que você precisa fazer sempre que você pegar uma nova ferramenta. Você não?

Se você não gosta do comportamento padrão do Vim, por que você passou pela dificuldade (relativa) de ativar o "modo vintage" do Sublime Text 2? Esse recurso é um pote de mel para os usuários do Vim para atraí-los a experimentar o ST2, e não apenas outra forma exótica de usá-lo.

O poder do Vim é parcialmente derivado de seus comandos e movimentos bem desenhados e objetos de texto. Se você não quer aprender como usar essas coisas, qual é o objetivo de emulá-lo?

Para resolver seu problema imediato com o uso de $i<right> para entrar no modo de inserção após o final de uma linha: o jeito certo de fazer isso é digitar A .

O caminho certo para entrar no modo de inserção após um caractere é digitar a .

Com base nisso e em seu conhecimento anterior de i e $ , suponho que você possa encontrar o caminho certo para entrar no modo de inserção antes do primeiro caractere de uma linha.

É assim que funciona o modo vintage do Vim e do Sublime Text 2. Os cursores de sublinhado (em vintage) e de retângulo (em vim) são em um caractere e tudo é em cascata a partir dessa regra básica. Se você decidir substituir este cursor por uma barra vertical piscante, o cursor ainda será considerado por ST2 / vintage / vim como sendo em um caractere, mas seu estado visual será diferente. Eu não acho que tal situação seja viável.

Então, sim, aprenda o Vim se você quiser usá-lo (ou um substituto).

A melhor maneira de aprender o básico (e o básico do modo vintage da ST2 com alguns limites) é abrir o Terminal.app e lançar vimtutor . Experimente, faça isso algumas vezes e você deixará de ficar incomodado com as excentricidades de Vim.

E talvez descarte o ST2 no processo.

    
por 03.11.2011 / 23:46