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.