Marco Preez: VI Fehlermeldungen unterdrücken

Hallo!

Ich habe mir für die vimrc eine Funktion geschrieben, die mir einige Zeichen (z.B. Umlaute) in eine entsprechende Kodierung umwandelt.
Was mir nicht gefällt ist, dass ich für ein nicht vorkommendes Zeichen eine Fehlermeldung in der VI-Kommandozeile bekomme. Wie kann ich Fehlerausgaben zur Ausführungszeit einer Funktion deaktivieren?

Gruß
Marco

  1. gudn tach!

    Ich habe mir für die vimrc eine Funktion geschrieben, die mir einige Zeichen (z.B. Umlaute) in eine entsprechende Kodierung umwandelt.

    zeig mal.

    Was mir nicht gefällt ist, dass ich für ein nicht vorkommendes Zeichen eine Fehlermeldung in der VI-Kommandozeile bekomme.

    gib mal ein beispiel.

    Wie kann ich Fehlerausgaben zur Ausführungszeit einer Funktion deaktivieren?

    weiss ich nicht. vermutlich ist es besser, das problem auf andere weise zu loesen.

    tsch
    seth

    1. Moin!

      [...]

      zeig mal.

      [...]

      gib mal ein beispiel.

      [...]

      weiss ich nicht. vermutlich ist es besser, das problem auf andere weise zu loesen.

      Denke ich auch, ich habs auf die primitive Art gemacht und für Vorschläge immer offen. =)

      function! ConvertSpecialCharacters(...)
       %s/ö/ö/g
       %s/ä/ä/g
       %s/ü/ü/g
       %s/Ö/Ö/g
       %s/Ä/Ä/g
       %s/Ü/Ü/g
       %s/ß/ß/g
       %s/`/‘/g
       %s/'/’/g
       %s/’/‛/g
       [...]usw.
      endfunction

      So long

      1. gudn tach!

        ich habs auf die primitive Art gemacht und für Vorschläge immer offen. =)

        function! ConvertSpecialCharacters(...)
        %s/ö/ö/g
        %s/ä/ä/g
        [...]usw.
        endfunction

        ah, ok, jetzt versteh ich's. ich dachte erst, du willst schon bei der eingabe ersetzen, z.b. mit

        :ino ä ä

        in vielen faellen ist eine solche konvertierung, wie du sie vorhast gar nicht noetig. hier im forum wurde da auch schon oft drueber diskutiert. stichworte fuer die suche sind vermutlich "umlaute" und "codierung".

        falls du die konvertierung dennoch durchfuehren willst:
        zur fehlermeldungsunterdrueckung kannst du mal

        :h v:errmsg

        eingeben.

        ich dagegen wuerde ein perlscript schreiben und dieses diese aufgabe erledigen lassen. fuer perl gibt's das meiste naemlich schon fertig (siehe HTML::Entities).
        aus vim liesse heraus sich das bequem starten.

        prost
        seth

        1. Moin!

          ah, ok, jetzt versteh ich's. ich dachte erst, du willst schon bei der eingabe ersetzen, z.b. mit

          :ino ä ä

          Das mache ich eh schon:

          inoremap ö ö
          ...
          imap <p> <p></p><left><left><left><left>
          usw. usf.

          Sobald ich allerdings größere Textpassagen via Copy&Paste einfüge ist Key Mapping nicht mehr mein Freund.

          in vielen faellen ist eine solche konvertierung, wie du sie vorhast gar nicht noetig. hier im forum wurde da auch schon oft drueber diskutiert. stichworte fuer die suche sind vermutlich "umlaute" und "codierung".

          Jepp. Irgendwas hat das mit meinen UTF-8 Einstellungen nicht richtig Funktioniert. Die Kodierung in der Datenbank steht auf UTF-8 (und wird dorthin auch als UTF-8 übermittelt) und auf der Ausgabe Website ist als ebenfalls UTF-8 angegeben. Dennoch bekomme ich diese hässlichen: �.

          falls du die konvertierung dennoch durchfuehren willst:
          zur fehlermeldungsunterdrueckung kannst du mal

          :h v:errmsg

          eingeben.

          Danke, dass du noch auf meine ursprüngliche Frage eingegangen bist. Selbst wenn es eine andere Möglichkeit gegeben hätte, man weiß ja nie ob man das noch einmal hätte brauchen können.

          ich dagegen wuerde ein perlscript schreiben und dieses diese aufgabe erledigen lassen. fuer perl gibt's das meiste naemlich schon fertig (siehe HTML::Entities).
          aus vim liesse heraus sich das bequem starten.

          Klingt gut, es hat allerdings den Nachteil, dass ich dieses Script dann nur auf Systemen nutzen kann die einen Perl interpreter haben.

          Gruß
          Marco

          1. Sorry für die teilweise verwirrende Rechtschreibung.

            Gruß

          2. gudn tach!

            in vielen faellen ist eine solche konvertierung, wie du sie vorhast gar nicht noetig. hier im forum wurde da auch schon oft drueber diskutiert. stichworte fuer die suche sind vermutlich "umlaute" und "codierung".
            Jepp. Irgendwas hat das mit meinen UTF-8 Einstellungen nicht richtig Funktioniert. Die Kodierung in der Datenbank steht auf UTF-8 (und wird dorthin auch als UTF-8 übermittelt) und auf der Ausgabe Website ist als ebenfalls UTF-8 angegeben. Dennoch bekomme ich diese hässlichen: �.

            ja, manchmal scheint da einfach der wurm drin zu sein.
            btw.: falls jemand mitliest... gab's eigentlich fuer </archiv/2007/1/t143400/#m931344> irgendne loesung?

            :h v:errmsg
            Danke, dass du noch auf meine ursprüngliche Frage eingegangen bist. Selbst wenn es eine andere Möglichkeit gegeben hätte, man weiß ja nie ob man das noch einmal hätte brauchen können.

            genau.

            [...perl-script...] HTML::Entities
            aus vim liesse heraus sich das bequem starten.

            Klingt gut, es hat allerdings den Nachteil, dass ich dieses Script dann nur auf Systemen nutzen kann die einen Perl interpreter haben.

            etwas als system zu bezeichnen, was weder vim noch perl installiert hat, grenzt an blasphemie! ;-)

            auf linux-kisten ist perl meistens drauf, ansonsten gehoert der admin geschlagen. und fuer windows kann man ja neben dem .pl-file noch ein .exe-file zur verfuegung stellen (mittels PAR-modul).

            das waere afais immer noch schneller bewerkstelligt und sicherer als in vim so ne funktion komplett selbst zu schreiben.

            tsch
            seth