Vim Zauber Interpunktion für ⸮


Antworten:


5

Eine Möglichkeit, dieses Problem zu lösen, besteht darin, das Zeichen als definiertes Interpunktionszeichen direkt zu vim hinzuzufügen. Sie ändern dazu die vim-Quelldatei mbyte.cund kompilieren vim neu. Diese Datei befindet sich im Haupt- / src-Trunk (siehe https://code.google.com/p/vim/source/browse/src/mbyte.c ). Die Funktion, die Sie ändern möchten, beginnt folgendermaßen:

/*
* 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

Sie fügen Ihren Charakter dieser Liste hinzu und er wird nach dem Neukompilieren als Interpunktion behandelt.


2
In diesem Fall sollten Sie wahrscheinlich eine Funktionsanforderung vimmit der vorgeschlagenen Codeänderung melden , da Ihre Änderung sonst das nächste Upgrade nicht überlebt ...
umläute

Dies lieferte mir die Information, einen Fehler zu öffnen, so dass das Update trivial war. Vielen Dank.
Sardathrion - gegen SE Missbrauch

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.