Vim Surround, Zeilennummern, Coffeescript und Probleme mit dem Mausmodus

Teil 3 meiner Erfahrungen vom Umstieg von Sublime zu Vim. vim.surround cd ~/.vim/bundle git clone git://github.com/tpope/vim-surround.git Dieses Plugin erlaubt es (unter anderem), bestimmte umschließende Zeichen der aktuellen Position zu ersetzen. So lassen sich die umschließenden doppelten Anführungszeichen mittels cs“‚ („change surrounding double quotes to single quotes“) ersetzen. Surround unterstützt Anführungszeichen, Klammern und auch HTML.

Rspec: Arrayvergleich ohne Reihenfolge

Um zwei Arrays auf Gleichheit der Elemente zu testen, ohne dabei die Reihenfolge zu beachten, kann der Rspec-Matcher match_array verwendet werden: expect([1, 2, 3]).to match_array([1, 2, 3]) ✔ expect([1, 2, 3]).to match_array([3, 2, 1]) ✔ expect([1, 2, 3]).to match_array([1, 2, 4]) ✘

Von Sublime zu Vim? Ein Um- und Einstiegsversuch

Vim ist so einiges, aber sicher nicht einsteigerfreundlich. Dennoch bin ich immer wieder fasziniert, wie sich erfahrene Anwender durch ihren Code navigieren und in der kleinen Kommandozeile Aktionen auslösen, für die die meisten erstmal ein anderes Programm starten müssen. Zudem ist alles frei konfigurierbar und vor allem freie Software. Mal sehen, wie ich meinen auf… Von Sublime zu Vim? Ein Um- und Einstiegsversuch weiterlesen

PHP: Output-Buffer ist schachtelbar

Bei der Entwicklung des WordPress-Caching-Plugins Staticly kam die Frage auf, wie man die Output-Buffer ob_start und Co. nutzen könne, während Plugins und andere Code-Teile selbst davon Gebrauch machen. Und tatsächlich macht es PHP dem Nutzer recht einfach, wie das Manual bestätigt: Output buffers are stackable, that is, you may call ob_start() while another ob_start() is… PHP: Output-Buffer ist schachtelbar weiterlesen

Javascript: Klick außerhalb eines Bereiches

Folgendes Beispiel überwacht ein Dokument auf einen beliebigen Klick, außer wenn dieser in einem bestimmten Element (.container) liegt: $(document).on ‚click‘, (ev) -> if $(‚.container‘).has(ev.target).length == 0 # … Dies ist beispielsweise hilfreich um ein Popup oder Dropdown-Menü schließen möchte, wenn der Nutzer „irgendwo“ außer auf das Widget selbst klickt.

RSpec und PostgreSQL: Insufficient Privilege

Bei einem rake spec erhielt ich den folgenden Fehler: PG::InsufficientPrivilege: ERROR: permission denied to create database […] Es mag eine falsche Einstellung sein (ein einfaches rspec verursacht das Problem nicht), aber offensichtlich benötigt der Datenbanknutzer in meiner Konfiguration das Recht, neue Datenbanken zu erstellen. Auf meiner lokalen Maschine, wo die Tests laufen, kann ich das… RSpec und PostgreSQL: Insufficient Privilege weiterlesen

SublimeSpecCreator: Command-Palette nutzen

Gerade bei unregelmäßig genutzten Funktionen vergisst man gern das zugewiesene Tastenkürzel. Hier hilft Sublimes sogenannte Command Palette. Eine Spezifikation für eine Methode kann man nun auch auf folgende Weise generieren: Zu testende Methode markieren Strg+Shift+P createspec (oder Teile davon) tippen, bis Befehl erscheint Enter

WordPress cachen – einfach und effizient

Immer wieder habe ich mich über Caching-Lösungen für WordPress geärgert. Das ging soweit, dass der Platzhirsch W3 Total Cache meine Seiten deutlich langsamer machte. Unzählige Strategien und Einstellungsmöglichkeiten machen dieses Plugin-Ungetüm unnütz kompliziert. Dabei sind die Anforderungen an kleinere Blogs mit wenigen Artikel und Kommentaren recht übersichtlich: Seite nach der Generierung als fertiges HTML in… WordPress cachen – einfach und effizient weiterlesen