Vim Skript: Puffer / CheatSheet Toggle

8

Ich möchte ein Vim Cheat Sheet Plugin machen. Es ist wirklich einfach:

  • Ich möchte meine Cheatsheets umschalten. Ein Vertsplit-Toggle, wie Taglist oder NERDTree.
  • Ich möchte, dass der Cheatsheet filetypspezifisch ist. Also schalte ich mein C ++ - Cheatsheet um, wenn ich eine .cpp-Datei geöffnet habe.
  • Ich möchte, dass der Cheatsheet horizontal geteilt wird. Also zeigt es zwei Dateien, mein Syntax-Spickzettel und mein Snippet-Spickzettel.

Ich habe bereits eine Sammlung dieser Cheatsheets im vimhelp-Format, aber jetzt muss ich sie manuell öffnen.

Ich habe noch kein Vim-Scripting gemacht, aber ich kann mir vorstellen, dass das wirklich einfach ist. Ich bin es leid, nicht verwandte Codesnippets zu googeln, also frage ich hier:

  1. Könnte mir jemand eine kurze Zusammenfassung dessen geben, was ich in Bezug auf vim scripting lernen muss, um das zusammen zu schreiben? Was ich schwer finden kann, ist, wie man das Pufferfenster umschaltet.

  2. Wenn Sie Intro-Tutorials kennen, die das Material abdecken, das ich brauche, um dies einzurichten, geben Sie bitte einen Link an.

tx,

aktivb

    
aktivb 04.03.2011, 14:26
quelle

3 Antworten

2

Ich hatte das vergessen, bis ich eine Nachricht über Eduans Antwort bekam. Seit ich diese Frage gestellt habe, habe ich einiges an Vim-Scripting gemacht, einschließlich der Umsetzung:

%Vor%     
aktivb 03.01.2013, 11:49
quelle
2

Die unten stehende Funktion kann nicht genau das, was Sie wollen, und ich habe es nicht getestet, aber es sollte Ihnen einige Ideen geben.

Der Grundgedanke ist, dass die Funktion den Dateityp des aktuellen Puffers liest (Sie können dies testen, indem Sie :echo &ft eingeben) und dann den Pfad der entsprechenden Cheatsheat festlegen. Wenn es existiert, wird dieser Pfad in einem geteilten Fenster geöffnet (schreibgeschützt und nicht änderbar). Sie können diese Funktion dann beliebig aufrufen, indem Sie sie beispielsweise wie gezeigt auf die Taste {F5} abbilden.

Ich bin mir nicht sicher über die Umschaltmöglichkeiten (ist das wirklich einfacher als das Schließen des geteilten Fensters?), aber Sie könnten die bufloaded () -Funktion betrachten, die angibt, ob gerade auf eine bestimmte Datei zugegriffen wird.

%Vor%

Hoffe, das hilft. Schreie einfach, wenn etwas unklar ist, oder du willst mehr wissen.

    
Prince Goulash 07.03.2011 14:42
quelle
1

Ich dachte, ich würde Gulaschs Antwort hinzufügen.

Ich denke, um den Umschalter zu implementieren, würden Sie einfach einige if-Anweisungen und eine globale Variable verwenden.

%Vor%

Ich hoffe, dass das diese Logik erkennt. :)

    
greduan 01.01.2013 21:29
quelle

Tags und Links