Punteggiatura incantesimo di Vim per ⸮


Risposte:


5

Un modo per risolvere questo problema è aggiungere il carattere direttamente a VIM come segno di punteggiatura definito. Il modo in cui lo fai è modificare il file sorgente vim mbyte.ce quindi ricompilare vim. Questo file si trova nel trunk principale / src (consultare https://code.google.com/p/vim/source/browse/src/mbyte.c ). La funzione che si desidera modificare inizia in questo modo:

/*
* Get class of a Unicode character.
* 0: white space
* 1: punctuation
* 2 or bigger: some class of word character.
*/
int
utf_class(c)
int c;
{
   /* sorted list of non-overlapping intervals */
   static struct clinterval
   {
      unsigned int first;
      unsigned int last;
      unsigned int class;
   } classes[] =
      {
         {0x037e, 0x037e, 1}, /* Greek question mark */
         {0x0387, 0x0387, 1}, /* Greek ano teleia */
         {0x055a, 0x055f, 1}, /* Armenian punctuation */
         {0x0589, 0x0589, 1}, /* Armenian full stop */
         ... etc and so on

Aggiungi il tuo personaggio a questo elenco e verrà trattato come punteggiatura dopo la ricompilazione.


2
nel qual caso probabilmente dovresti segnalare una richiesta di funzionalità vimcon la modifica del codice proposta, altrimenti la tua modifica non sopravviverà al prossimo aggiornamento ...
umläute,

Questo mi ha fornito le informazioni per aprire un bug in modo che la correzione fosse banale. Grazie.
Sardathrion - contro gli abusi di SE il

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.