IT History - Yank & Blank

Wieso heißt copy bei VIM und EMACS yank? yank Erklärung 1 von Gilles ‘SO – stop being evil’ `15. Juni 2015 Der Text wird (yanked) in das Register gezogen, um später verwendet zu werden. Die Emacs-Version 1, die etwa zur gleichen Zeit wie vi entstand, verwendete bereits kill/yank, was sie von TECO übernommen hatte. Was ist TECO? TECO (ausgesprochen tee-koh) war ein äußerst einflussreicher Texteditor, der in den frühen 1960er Jahren am Massachusetts Institute of Technology (MIT) entwickelt wurde. Sein Name stand ursprünglich für “Tape Editor and COrrector” (Band-Editor und -Korrektor), was sich auf die Verwendung mit Lochstreifen bezog, und später für “Text Editor and COrrector”. Mehr dazu weiter unten ...

07.08.2026 · 6 min · 1136 words · hoergen

Bash mit vi (vim) Befehlen - vi Mode

Konfiguration Bash kann mit vi Befehlen gesteuert werden. dazu muss lediglich entweder im Benutzerverzeichnis in die Datei .bashrc oder systemweit in die /etc/bash.basrc eine Zeile eingetragen werden # Aktivieren des VI Modus -> Energie ! set -o vi Konfiguration akvtieren In der nächsten Session (z.B. neuer Login) oder durch das Ausführen des Befehls source ~/.bashrc oder source /etc/bash.basrc wird diese neue Einstellung aktiv. Alternativ kann statt dem Befehl source auch der Befehl exec benutzt werden. Dieser ersetzt die aktuelle Shell mit einer komplett neuen Shell. Die “alte” Shell bleibt dann solange im Hintergrund, bis die neue Shell beendet wurde. Wie so eine Matrjoschka Puppe. ...

08.09.2024 · hoergen

Vim - Bereiche mit Klammern umschließen

Manchmal ist die Denke einfach zu kompliziert. Da wollte ich in vim einen Bereich möglichst effizient mit runden Klammern versehen und habe eine Weile rum gemurgst, bis ich dann die einfache Lösung gefunden habe: Bereich auswählen mit v und z.B. $ bis zum Zeilenende dann c drücken () schreiben ESC drücken und ein großes (shift) P drücken also v$c()<ESC>P Und alles ist schön umklammert. Wenn es egal ist den Bereich visuell zu markieren, dann geht es auch ohne das v und das $ (bis Zeilenende) muss nach dem c eingegeben werden. (Danke Rebeka!) ...

05.03.2024 · hoergen

Vim Zeitgeschichte - Time Table

Ich bin letztens über einen Artikel auf pikuma.com über die Vor- und Geschichte von Vim gestolpert, den ich auch weiter unten in den Quellen verlinkt habe. Ich fand die Geschichte über die Entstehung des Editors Vim und seiner Vorgänger so beeindruckend, dass ich für mich eine Zeittafel zusammengestellt habe, wann wer was gemacht hat. Das ist schon sehr krass, dass Vim 1988 auf dem Amiga begonnen und am 02.11.1991 in der Version 1.14 über die Disketten Distribution Fred Fish Disk #591 verteilt wurde. Und dass der Ursprung dieses Editors jetzt über 55 Jahre zurück liegt. ...

26.01.2024 · hoergen

Vim - mit Tabs fensterln

Ein Buffer (Puffer) ist der im Arbeitsspeicher befindliche Text einer Datei. └- Ein Fenster (Window) ist ein Ausschnitt (Viewport) aus einem Buffer. └— Eine Tab-Seite (Tab) ist eine Sammlung von Fenstern. Hilfe :help tab-page Kommando: <none> Öffnen tabnew <NAME> Neues Tab (Buffer) tabf <NAME> Find - sucht im aktuellen Verzeichnis nach einer Datei. Tabulator Completion funktioniert tab <VIM BEFEHL> öffnet ein neues Tab und führt einen Vim Befehl aus z.B. :tab help tab-pages Mit einem neuen Tab kann auch gleich eine bestehende Datei geladen werden, indem mit dem Befehl der Dateiname mitgegeben wird. ...

07.01.2024 · hoergen

Vim - Windows

Ein Buffer (Puffer) ist der im Arbeitsspeicher befindliche Text einer Datei. └- Ein Fenster (Window) ist ein Ausschnitt (Viewport) aus einem Buffer. └— Eine Tab-Seite (Tab) ist eine Sammlung von Fenstern. Hilfe :help windows Kommando :wincmd Strg+w Die aktuelle Ansicht in mehrere Fenster aufteilen. Detailliertere Informationen und weitere alternative Befehle sind in der Hilfe zu finden Teilen & Neu Strg+w s / :sp / :split Fenster horizontal teilen (gleicher Inhalt/Buffer) Strg+w v / :vs / :vsplit Fenster vertikal teilen (gleicher Inhalt/Buffer) Strg+w n / :new Fenster horizontal teilen und neues Dokument (leerer Buffer) erstellen :vne / :vnew Fenster vertikal teilen und neues Dokument (leerer Buffer) erstellen Schliessen Strg+w q / :q Fenster schließen. Strg+w o / :on / :only schließt alle anderen Fenster, ausser das aktuelle Fenster Es gibt noch viele weitere Parameter zum Fenster schließen Navigation Strg+w Pfeiltasten Zwischen den Fenstern wechseln. Es gehen auch die Vim Cursor Strg+w p Zum letzten Fenster zurück wechseln Strg+w r / Strg+w R Fenster durchrotieren runter/rechts und hoch/links Größe Strg+w = Alle Fenster gleich groß machen Strg+w - Das aktuelle Fenster um 1 vertikal kleiner machen. Strg+w 5 - um 5 kleiner machen Strg+w + Das aktuelle Fenster um 1 vertikal größer machen Strg+w _ Das aktuelle Fenster vertikal maximieren. Alle anderen Fenster so klein wie möglich machen Strg+w | Das aktuelle Fenster horizontal maximieren Eine Vollbildanzeige kann mit der Kombination von Strg+w _ und/oder Strg+w | erreicht werden Strg+w < Das aktuelle Fenster um 1 horizontal kleiner machen. Strg+w 7 < um 7 kleiner machen Strg+w > Das aktuelle Fenster um 1 horizontal größer machen In einer grafischen Oberfläche lassen sich die Fenster am Rahmen mit der Maus kleiner und größer machen Weitere hyperblog Artikel zum Thema ...

05.01.2024 · hoergen

Vim-Zeilenspielereien - Join

Zeilen zusammenfügen oder teilen in allen Variationen. Der Befehl dafür heißt JOIN Anmerkung: Groß-/Kleinschreibung ist wichtig. Großbuchstaben werden nicht extra mit einem SHIFT hervorgehoben Join zwei Zeilen zusammenführen J mit Leerzeichen J - Sollen zwei Zeilen, die durch einen Zeilenumbruch getrennt wurden zusammengeführt werden, so kann in der oberen Zeile einfach ein großes J gedrückt werden. Das führt dazu, dass die untere Zeile nach oben geholt UND mit einem Leerzeichen Abstand an die aktuellen Zeile angehängt wird. ...

02.11.2023 · hoergen

Vim Cheat Sheet

Weitere Vim Artikel hier im Blog. - [Vim Modi](#VimModi) - [Erklärung](#moduserkl) - [Normalmodus](#normalmodus) - [Einfügemodus](#Einfügemodus) - [Kommandomodus](#Kommandomodus) - [FAQ](#FAQ) - [Normalmodus](#Normalmodus) - [Beenden](#vimend) - [Multiplikator](#Multiplikator) - [Navigieren](#Navigieren) - [Book(m)arks](#Bookmarks) - [Undo & Redo](#Undo) - [Copy n Paste](#Copy) - [~Groß/Klein](#Kleinschreibung) - ["Register](#Register) - [Makros](#Makros) - [Autovervollständigung](#Autovervollständigung) - [Markieren](#Markieren) - [Löschen](#entfernen) - [Suchen](#Suchen) - [Suchen mit Logik Operatoren](#SuchenLogik) - [Suchen und Ersetzen](#Sersetzen) - [Kommandomodus](#Commandmodus) - [Datei laden](#Dateiladen) ## Vim Modi Erklärung Vim ist ein modaler Editor. Dies bedeutet, dass man in unterschiedlichen Modi arbeitet, was Einsteigern oft Probleme bereitet, andererseits aber eine sehr große Zahl von Tastenkürzeln erlaubt, da sich diese an einzelne Modi binden und daher auch mehrfach belegen lassen. Es gibt sechs Grundmodi. Zusätzlich gibt es noch fünf weitere Grundvarianten der Grundmodi. ...

12.09.2023 · hoergen

Vim - Suchen & Ersetzen - RegEx

Reguläre Ausdrücke (RegEx) sind DER Shit, wenn es darum geht extrem schnelle und auch sehr komplexe Dinge mit Texten bzw Strings oder einfach generell bei Suchen zu veranstalten. Ein Anwendungsfall kommt immer wieder vor, nämlich das Suchen&Ersetzen. Das Muster sieht so aus :[range] s / [pattern] / [string] / [flags] [count] [range] bei range steht meist ein Prozentzeichen % das für den gesamten Text aka der gesamte Datei Inhalt. hier können auch 1,$ = erste Zeile, erstes Zeichen bis letzte Zeile, letztes Zeichen .,$ heisst von der aktuellen Zeile bis zum Ende Von der aktuellen Zeile für weitere 10 Zeilen :.,.+10 {Nummer} - in Zeile Nummer sowieso z.B. :14 Zeile 14 Die Übersicht der schier unendlichen Bereichsangaben bekommst du, wenn du vim aufrufst und dann :h range eingibst s (substitute) Zwischen dem Range und dem s darf kein Leerzeichen sein! (häufiger Fehler) Substitute ist die Suchen&Ersetzen Funktion. Wichtig zu wissen ist, dass alle Zeichen, die nicht in a-z und A-Z sind, müssen mit einem vorangestelltem Backslash \ “escaped” werden. Also Zahlen, Punkte, Klammern und Sonderzeichen mit einem Backslash \ escaped werden. Ein Backslash wird dann natürlich auch mit einem Backslash escaped \. Und ein Slash im Suchstring wird natürlich auch mit einem Backslash escaped \/ . Auch ein Leerzeichen bzw Blank wird mit einem Backslash escaped. Der Grund dafür ist, dass viele dieser Zeichen selbst eine Funktion für die Suche darstellen. Und damit da keine Verwechselung entsteht muss extra “escaped” werden. [pattern] Pattern ist der zu suchende Text Mit einem einleitenden `

17.08.2023 · hoergen

Meine .vimrc

Kann entweder systemweit unter /etc/vim/vimrc.local oder im eigenen Home -Verzeichnis /home/BENUTZER/.vimrc abgespeichert werden. Die Farben der Schrift sind wesentlich besser lesbar und heller, als der dunkelblau auf schwarz Standard. Desweiteren habe ich auch die dynamischen Zeilennummern aktiviert, das die Bearbeitung mit Zeilenwesentlich erleichtert. So sieht die Konfiguration aus " Suggestions " " set wrap " enable line wrapping " set encodign=utf-8 " setting a special encoding type " set paste " Enabling plain paste without rearranging " VIM only combatibility set nocompatible " Highlight Search / :set hls / off = :nohls set hlsearch " Highlight incremental Search / :set is / off = :nois " Next/Previous finding CTRL+g / CTRL+t set incsearch " Syntax highlightng enabled syntax enable " Set Color Scheme / Theme " write :colo and then press (shift) TAB to cycle through the availble schemes set background=dark colorscheme lunaperche " setting line numbers " set number " Set relative numbers on set relativenumber " set rnu " --- OR --- " Setting both active and only when in insert mode it is absolute numbers :set number :augroup numbertoggle : autocmd! : autocmd BufEnter,FocusGained,InsertLeave,WinEnter * if &nu && mode() != "i" | set rnu | endif : autocmd BufLeave,FocusLost,InsertEnter,WinLeave * if &nu | set nornu | endif :augroup END " enabeling statusbar set laststatus=2

09.10.2022 · hoergen