Suporte Bidi no Vim, devo reverter para o Notepad ++?

5

Bom dia a todos,

Há sete semanas, comecei a aprender o Vim. Eu tentei no passado muito , mas desta vez não era como todas as instâncias no passado. Eu consegui, e o Vim se tornou um hábito que eu não posso desistir. Eu até escrevi meu vimrc e não posso acreditar que vivi em uma época em que eu costumava usar notepad (s) glorificado (s). Eu não sou de modo algum um perito ou um nível intermediário Vimmer. Eu sou apenas um noob que quer continuar usando o Vim em sua vida de programação diária. Isso soa mais romântico do que pragmático, mas é a verdade.

Esta semana, precisei editar arquivos que contenham outros idiomas além do inglês. É árabe, mas o problema também se aplica ao hebraico e farsi (persa). Foi um choque para mim, que o Vim não suporta texto bidirecional. A solução (não tão boa) é ter duas abas, uma da esquerda para a direita e outra da esquerda para a direita, mas isso é feio na minha opinião. O único editor na minha máquina que não suporta texto bidirecional é edit (o editor de linha de comando no Windows!).

Existe uma solução ou devo reverter para o Notepad ++ e esquecer o Vim?

Acho difícil continuar alternando entre o Notepad ++ e o Vim porque eu edito vários arquivos que contêm texto bidirecional.

Obrigado a todos,

    
por AraK 30.07.2012 / 02:11

4 respostas

6

O Vim não suporta texto bidirecional. IIRC este assunto tem sido muito discutido nas listas de discussão do vim sem nenhum avanço.

Veja :help hebrew e :help rileft , no qual você pode encontrar este parágrafo:

Bidirectionality (or bidi for short) is what Unicode offers as a full solution to these languages. Bidi offers the user the ability to view both right-to-left as well as left-to-right text properly at the same time within the same window. Vim currently, due to simplicity, does not offer bidi and is merely opting to present a functional means to display/enter/use right-to-left languages.

Então, vejo três opções para você:

  • volte ao Notepad ++
  • use as soluções alternativas encontradas em :help hebrew , incluindo :set rl e :set revins
  • continue fazendo malabarismos entre os dois editores
por 30.07.2012 / 08:12
1

Eu também tenho o mesmo problema. Em última análise, a solução é usar outro editor. Assim, você pode manter ambos os editores abertos e ambos devem ser capazes de atualização automática quando o arquivo for alterado. O Gvim é assim se set autoread estiver no seu arquivo .vimrc .

    
por 13.10.2012 / 23:49
0

Como os outros responderam antes, o Vim não tem suporte BiDi.
Você pode, no entanto, obter a maior parte dessa funcionalidade do emacs com o modo mal instalado. O Emacs suporta BiDi fora da caixa, e o modo mal contém todos os atalhos de teclado vim comuns (ou pelo menos todos os que eu me encontrei usando. Sua milhagem pode variar). Apenas certifique-se de não digitar hebraico diretamente do seu sistema operacional, mas ao invés disso, configure seu sistema para inglês e mude os métodos de entrada dentro do emacs para hebraico. Isso é realizado com o

M-x set-input-method

comando e resposta hebrew quando solicitado, ou adicionando a linha

'(default-input-method "hebrew")

em custom-set-variables no seu arquivo ~ / .emacs.
Após a adição, você pode usar C-\ para alternar entre inglês e hebraico sem perder sua funcionalidade de vim ao digitar em hebraico.

Eu respondi pelo hebraico, já que essa era a correção que eu precisava. Obviamente, isso também funciona para o árabe.

    
por 20.11.2013 / 07:40
0

Você não precisa reverter para o Notepad ++ Veja aqui:

No debian, faça como root ou sudo: (sudo) apt install mlterm

man mlterm consulte a página de manual do mlterm mlterm -b grey -w 18 inicia o mlterm com fundo cinza e tamanho da fonte 18

Abra o vim (não o gvim) em mlterm para ver o hebraico escrito corretamente - da direita para a esquerda. No emacs, é uma configuração automática - você pode testá-lo copiando qualquer vocabulário do site da Bíblia da Etapa em um arquivo e abrir é assim em mlterm: vim file.md

Como escrever hebraico e árabe no vim? No vim, use estes comandos: :set rl :set revins : set norl :set norevins :set spelllang=en,he - infelizmente esses comandos escrevem tudo da direita para a esquerda, incluindo idiomas europeus. Então, a solução é abrir o vim (não o gvim) no mlterm e todas as coisas serão boas para ir:)

No emacs - usando o modo mal (esse é o modo que eu mais uso), os idiomas RL bidi (hebraico e árabe et.al.) são configurados da maneira correta quando misturados com idiomas LR - europeus:)

Não se esqueça de adicionar um teclado hebraico / árabe em sua configuração Debian (ou outra distribuição) e um atalho para alterá-los de acordo.

    
por 07.02.2018 / 22:59