<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>zInformatik &#187; Mapping</title>
	<atom:link href="http://zinformatik.de/tag/mapping/feed/" rel="self" type="application/rss+xml" />
	<link>http://zinformatik.de</link>
	<description>Computer, Informatik und Mikrocontroller Blog</description>
	<lastBuildDate>Sat, 22 Oct 2011 09:51:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Less is more (than more) &#8211; weniger ist manchmal mehr</title>
		<link>http://zinformatik.de/tipps-tricks/interessante-programme/less-is-more-than-more-weniger-ist-manchmal-mehr/</link>
		<comments>http://zinformatik.de/tipps-tricks/interessante-programme/less-is-more-than-more-weniger-ist-manchmal-mehr/#comments</comments>
		<pubDate>Sat, 23 May 2009 14:56:44 +0000</pubDate>
		<dc:creator>zimon</dc:creator>
				<category><![CDATA[Interessante Programme]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntuusers-Planet]]></category>
		<category><![CDATA[Anzeigen]]></category>
		<category><![CDATA[less]]></category>
		<category><![CDATA[Mapping]]></category>
		<category><![CDATA[Pager]]></category>
		<category><![CDATA[tail]]></category>
		<category><![CDATA[Vim]]></category>

		<guid isPermaLink="false">http://zinformatik.de/?p=1265</guid>
		<description><![CDATA[<p>Viele kennen less, das Programm zum Anzeigen von Textdateien. Ich habe es mir nun einmal etwas genauer angesehen.<br />
Mit less lassen sich auch große Textdateien sehr schnell anzeigen, da es schon mit der Darstellung des Textes beginnt, wenn die Datei noch nicht vollständig geladen ist.<br />
Auch zum Anzeigen von Kommandozeilenausgaben ist less sehr nützlich. Dafür braucht man die&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Viele kennen less, das Programm zum Anzeigen von Textdateien. Ich habe es mir nun einmal etwas genauer angesehen.<br />
Mit less lassen sich auch große Textdateien sehr schnell anzeigen, da es schon mit der Darstellung des Textes beginnt, wenn die Datei noch nicht vollständig geladen ist.<br />
Auch zum Anzeigen von Kommandozeilenausgaben ist less sehr nützlich. Dafür braucht man die Ausgabe nur in less zu pipen, z.B. so:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-lh</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">less</span></pre></div></div>

<p>Die vim-User wird es freuen, dass viele Kommandos die gleichen wie bei vim sind oder ihnen zumindest ähneln.</p>
<p><strong>Navigation</strong><br />
Navigieren kann man in less neben den Pfeiltasten wie in vim mit <em>h</em>,<em>j</em>,<em>k</em> und <em>l</em>. (Strg+)u und (Strg+)d sowie (Strg+)f und (Strg+)b haben die Funktion, halbe bzw. ganze Bildschirmseiten herunter und hoch zu springen. Die Strg-Taste ist dabei optional. Auch mit Space kann man einen Bildschirm herunter scrollen.<br />
<em>g</em> springt zum Anfang und <em>G</em> zum Ende des Dokuments.</p>
<p>Man kann sich auch anzeigen lassen, welche Zeile die erste ungelesene im Text ist, wenn man mehr als eine Zeile hinunter scrollt. Diese wird dann markiert. So findet man schnell die Stelle wieder, an der man aufgehört hat zu lesen. Dazu startet man less mit der Option <em>-W</em>.</p>
<p>Less kennt auch <a href="http://zinformatik.de/tipps-tricks/vim-tipps/markierungen-mit-vim-schnell-zu-beliebigen-stellen-einer-datei-springen/" title="Markierungen mit vim - schnell zu beliebigen Stellen einer Datei springen" target="_self" class="liinternal">Markierungen</a> wie vim. Allerdings sind diese immer Dateiübergreifend und es können nur Kleinbuchstaben genutzt werden. Mit m{Marke} (wobei {Marke} ein Kleinbuchstabe ist) kann eine Zeile Markiert werden und mit <em>&#8216;</em>{Marke} zu ihr hingesprungen werden (<em>&#8216;</em> ist das Hochkomma mit Shift+#). Mit <em>&#8221;</em> (zwei Hochkommata)kann man zwischen zwei Markierungen hin- und her springen.</p>
<p><strong>Anzeigen von mehreren Dateien</strong><br />
Indem man less mehrere Dateinamen als Argumente übergibt, kann man sich auch viele Dateien anzeigen lassen. Zwischen den Dateien springt man mit <em>:n</em> (zur nächsten) und <em>:p</em> (zur vorherigen). Natürlich kann man auch die Markierungen nutzen um zwischen den Dateien zu springen. Um aus less heraus eine neue Datei zu öffnen, kann man :e &lt;Dateiname&gt; eingeben. Mit <em>:</em>x gelangt man zur ersten Datei, während man mit <em>:d</em> die aktuelle Datei schließt.</p>
<p><strong>Suchen im Dokument</strong><br />
Die Suche bei less funktioniert wie bei vim mit <em>/&lt;Suchpattern&gt;</em>. Mit <em>n</em> und <em>N</em> kann man zum nächsten bzw. vorherigen Treffer springen. Um die bei der Suche Groß- und Kleinschreibung zu ignorieren startet man less mit der Option <em>-i</em>. Dies entspricht der intelligenten Suche, die Groß- Kleinschreibung nur dann beachtet, wenn im Suchbegriff auch Großbuchstaben vorkommen. <em>-I</em> entspricht dann einem wirklichen ignore-case.<br />
Wie in vim wird mit <em>?</em> in die entgegengesetzte Richtung gesucht.</p>
<p><strong>Coole Funktionen</strong><br />
Less wäre nicht more wenn es nicht mehr gäbe.<br />
Alle Aufrufoptionen (die, die mit <em>-</em> anfangen) lassen sich auch einfach bei laufendem Programm eingeben (einfach eintippen), während Kommandos beim Aufruf durch ein vorangestelltes <em>+</em> mitgegeben werden können (z.B. öffnet less <em>+G &lt;Dateiname&gt;</em> eine Datei und springt sofort ans Ende).</p>
<ul>
<li>Mit <em>v</em> öffnet man vim mit der aktuellen Datei. (Bzw. den in der Umgebungsvariablen EDITOR angegebenen Editor)</li>
<li>Mit <em>F</em> wird ans Ende der Datei gesprungen und diese bei jeder Änderung aktualisiert. Damit kann man sehen, wenn etwas z.B. in Logdateien hinzukommt. Dies entspricht einem <em>tail -f</em>. Zurück zm normalen Modus kommt man mittles Strg+c</li>
<li>Mit der Option <em>-M</em> gibt less mehr Informationen (Zeilennummer und Länge sowie relative Position im Dokument) aus.</li>
<li>Die Funktion <em>=</em> gibt noch mehr Informationen aus.
<li>Die Option <em>-e</em> veranlasst less dazu sich zu beenden, sobald das Dateiende zwei mal erreicht wurde. Mit -E wird less schon beim ersten Erreichen des Dateiendes geschlossen.</li>
<li>Sehr praktisch finde ich auch die Option <em>-F</em>, bei der sich less automatisch schließt, wenn der Text auf eine Bildschrimseite passt. So wird der Text ausgegeben und less dann beendet.</li>
<li>Durch <em>!&lt;Kommando&gt;</em> kann man ein Shell-Kommando ausführen, wobei man die Variable <em>%</em> für den aktuellen Dateinamen nutzen kann.</li>
<li>Mit <em>s &lt;Dateiname&gt;</em> wird (wenn man sich die Ausgabe eines Programms anzeigen lässt) die Ausgabe in der angegebenen Datei gespeichert.</li>
<li>Durch die Option <em>-R</em> zeigt less auch die Farben an, wenn man ein grep oder ls mit der option <em>&#8211;colors=always</em> hinein piped.</li>
</ul>
<p><strong>Eigene Tastenkombinationen definieren</strong><br />
Less hat auch eine eigene Konfigurationsdatei: ~/.less mit der man eigene Keybindings definieren kann.<br />
Diese wird im Format <em>Keybinding Action</em> angegeben, wobei jede Zeile nur ein Keybinding besitzen darf.<br />
Beispiele und mögliche Keys und Aktionen findet man in der manpage zu lesskey.</p>
<p><strong>Eigenen Prompt definieren</strong><br />
Statt der Option <em>-M</em> kann man sich auch einen eigenen Prompt mit der Option <em>-P</em> definieren. Dafür gibt es jede Menge Variablen und Abfragen, dass man z.B. nur dann den Dateinamen ausgibt, wenn auch eine Datei gelesen wird und nicht von STDIN. Hier ein Beispiel:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">?f<span style="color: #000000; font-weight: bold;">%</span>f:Standard input</pre></div></div>

<p>gibt den Dateinamen aus oder &#8220;Standard input&#8221; wenn ein Kommando in less gepiped wurde.<br />
Die ganzen Variablen und Abfragen sind in der manpage dokumentiert.</p>
<p><strong>Preprozessor-Funktionen</strong><br />
Ich möchte noch kurz erwähnen, dass man für less Funktionen definieren kann, die vor dem Öffnen eines bestimmten Dateityps ausgeführt werden. So kann man z.B. eine Datei zuerst entschlüsseln oder dekomprimieren, bevor man sie anzeigen lässt. Eine entsprechende Funktion, der vor dem Schließenausgeführt wird um z.B. temporäre Dateien zu löschen kann ebenfalls definiert werden.<br />
Weitere Infos dazu gibt es in der manpage.</p>
<p><br clear="all" /><br />
Weitere Funktionen und Informationen bekommt zu less man wie immer in der manpage.</p>
]]></content:encoded>
			<wfw:commentRss>http://zinformatik.de/tipps-tricks/interessante-programme/less-is-more-than-more-weniger-ist-manchmal-mehr/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Für vim &#8211; Escape auf die Capslock (Feststelltaste) legen</title>
		<link>http://zinformatik.de/linux/fur-vim-escape-auf-die-capslock-feststelltaste-legen/</link>
		<comments>http://zinformatik.de/linux/fur-vim-escape-auf-die-capslock-feststelltaste-legen/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 14:42:03 +0000</pubDate>
		<dc:creator>zimon</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[vim Tipps]]></category>
		<category><![CDATA[Capslock]]></category>
		<category><![CDATA[ESC]]></category>
		<category><![CDATA[Mapping]]></category>
		<category><![CDATA[Vim]]></category>
		<category><![CDATA[xmodmap]]></category>

		<guid isPermaLink="false">http://zinformatik.de/?p=633</guid>
		<description><![CDATA[<p>Da die ESC Taste so weit weg ist, aber dauernd unter vim gebraucht wird, habe ich sie mir auf die Capslock Taste gelegt. Diese benutze ich sowieso nie und wenn man Capslock versehentlich aktiviert hat, hat das unschöne Auswirkungen im Umgang mit vim. Dadurch bringt das Mapping gleich 2 Vorteile (ESC ist einfacher nutzbar und man kann nicht versehentlich die&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Da die ESC Taste so weit weg ist, aber dauernd unter vim gebraucht wird, habe ich sie mir auf die Capslock Taste gelegt. Diese benutze ich sowieso nie und wenn man Capslock versehentlich aktiviert hat, hat das unschöne Auswirkungen im Umgang mit vim. Dadurch bringt das Mapping gleich 2 Vorteile (ESC ist einfacher nutzbar und man kann nicht versehentlich die Feststelltaste aktivieren).</p>
<p>Und so gehts (unter Xorg):</p>
<p>Zuerst wird die aktuelle keymap gespeichert mittels</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">xmodmap</span> <span style="color: #660033;">-pke</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>user<span style="color: #000000; font-weight: bold;">/</span>.myxmodmap</pre></div></div>

<p>Nun bearbeitet man die .myxmodmap so, dass Caps_Lock durch Escape ersetzt wird. (Bei mir war es keycode 66, was aber je nach verwendetem Tastaturlayout auch anders sein kann.) In vim geht es unabhängig vom Tastaturlayout mittels:</p>

<div class="wp_syntax"><div class="code"><pre class="vim" style="font-family:monospace;"><span style="color: #000000;">:%</span>s<span style="color: #000000;">/</span>Caps_Lock<span style="color: #000000;">/</span>Escape<span style="color: #000000;">/</span>g</pre></div></div>

<p>Schließlich fügt man noch die folgenden Zeilen der /home/user/.bashrc hinzu:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">xmodmap</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>user<span style="color: #000000; font-weight: bold;">/</span>.myxmodmap
<span style="color: #c20cb9; font-weight: bold;">xmodmap</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;clear Lock&quot;</span></pre></div></div>

<p>/home/user sollte jedes mal durch das eigene Homeverzeichnis ersetzt werden.<br />
Nach einem Neustart des X-Servers sollte das neue Mapping funktionieren.</p>
]]></content:encoded>
			<wfw:commentRss>http://zinformatik.de/linux/fur-vim-escape-auf-die-capslock-feststelltaste-legen/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Praktische vim Mappings</title>
		<link>http://zinformatik.de/tipps-tricks/vim-tipps/praktische-vim-mappings/</link>
		<comments>http://zinformatik.de/tipps-tricks/vim-tipps/praktische-vim-mappings/#comments</comments>
		<pubDate>Sun, 11 Jan 2009 11:50:46 +0000</pubDate>
		<dc:creator>zimon</dc:creator>
				<category><![CDATA[vim Tipps]]></category>
		<category><![CDATA[Mapping]]></category>
		<category><![CDATA[Vim]]></category>

		<guid isPermaLink="false">http://zinformatik.de/?p=205</guid>
		<description><![CDATA[<p>Die Möglichkeit Befehle und Befehlsfolgen mittels Mapping auf einfache Tasten (-kombinationen) zu legen ist ein großer Vorteil von vim. Daher hier eine Auswahl an interessanten Mappings (die man natürlich an eigene Bedürfnisse anpassen kann). Man kann die Mappings einfach ans Ende seiner .vimrc Datei kopieren. Wenn man noch keine hat, erstellt man eine in seinem Homeverzeichnis und fügt dort die&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Die Möglichkeit Befehle und Befehlsfolgen mittels Mapping auf einfache Tasten (-kombinationen) zu legen ist ein großer Vorteil von vim. Daher hier eine Auswahl an interessanten Mappings (die man natürlich an eigene Bedürfnisse anpassen kann). Man kann die Mappings einfach ans Ende seiner .vimrc Datei kopieren. Wenn man noch keine hat, erstellt man eine in seinem Homeverzeichnis und fügt dort die gewünschten Mappings ein.</p>
<p><a name="map_y"><strong>Ersetzung von Y (großes y):</strong></a></p>
<p>Die Tasten bei vim sind eigentlich recht gut belegt:</p>
<ul>
<li>dd löscht eine Zeile und D bis zum Ende der Zeile</li>
<li>cc ändert eine Zeile und C bis zum Ende der Zeile</li>
</ul>
<p>Aber yy kopiert eine Zeile und Y kopiert auch eine Zeile. Warum Kopiert Y nicht bis zum Ende der Zeile? Naja, mit einem Mapping ist das schnell erledigt:</p>

<div class="wp_syntax"><div class="code"><pre class="vim" style="font-family:monospace;"><span style="color: #adadad; font-style: italic;">&quot;Y kopiert bis zum Ende der Zeile</span>
<span style="color: #804040;">map</span> Y y<span style="color: #000000;">$</span></pre></div></div>

<p><a name="map_noh"><strong>Highlighting nach einer Suche (oder RegExp) ausschalten</strong></a></p>
<p>Dass man nach einer Suche :noh eingeben muss um das Highlighting der Suchergebnisse (für diese Suche) zu deaktivieren, finde ich recht umständlich. Mit folgendem Mapping reicht ein Druck auf #</p>

<div class="wp_syntax"><div class="code"><pre class="vim" style="font-family:monospace;"><span style="color: #adadad; font-style: italic;">&quot;:noh mittels #</span>
<span style="color: #804040;">map</span> # <span style="color: #000000;">:</span>noh<span style="color: #000000;">&lt;</span>CR<span style="color: #000000;">&gt;</span></pre></div></div>

<p><a name="map_aspell"><strong>Rechtschreibprüfung</strong></a></p>
<p>Mit Aspell kann man Plaintext, HTML und LaTeX Dateien auf Rechtschreibung prüfen. Um es aus vim aufzurufen kann man folgendes Mapping benutzen, was die Rechtschreibprüfung in vim auf Strg+F12 legt (Aspell muss installiert sein):</p>

<div class="wp_syntax"><div class="code"><pre class="vim" style="font-family:monospace;"><span style="color: #adadad; font-style: italic;">&quot;Rechtschreibprüfung</span>
<span style="color: #804040;">map</span> <span style="color: #000000;">&lt;</span>C<span style="color: #000000;">-</span>F12<span style="color: #000000;">&gt;</span> <span style="color: #000000;">:</span>w<span style="color: #000000;">!</span><span style="color: #668080;">&lt;CR&gt;</span><span style="color: #000000;">:!</span>aspell <span style="color: #000000;">-</span>c <span style="color: #000000;">%</span><span style="color: #668080;">&lt;CR&gt;</span><span style="color: #000000;">:</span>e<span style="color: #000000;">!</span> <span style="color: #000000;">%</span><span style="color: #668080;">&lt;CR&gt;</span></pre></div></div>

<p><a name="map_tabn"><strong>Next Tab</strong></a></p>
<p>Ein praktisches Mapping ist :tabnext auf Strg+n zu legen um die <a href="http://zinformatik.de/tipps-tricks/vim-tipps/mit-tabs-arbeiten-unter-vim/" title="Mit Tabs arbeiten unter vim" target="_self" class="liinternal">Tabs</a> durchgehen zu können:</p>

<div class="wp_syntax"><div class="code"><pre class="vim" style="font-family:monospace;"><span style="color: #adadad; font-style: italic;">&quot;Next Tab auf Strg+n</span>
<span style="color: #804040;">map</span> <span style="color: #000000;">&lt;</span>C<span style="color: #000000;">-</span>n<span style="color: #000000;">&gt;</span> <span style="color: #000000;">:</span>tabn<span style="color: #000000;">&lt;</span>CR<span style="color: #000000;">&gt;</span></pre></div></div>

<p><a name="map_split"><strong>Split Screen Mappings</strong></a></p>
<p>Um mit <a href="http://zinformatik.de/tipps-tricks/vim-tipps/unter-vim-mit-splitscreens-arbeiten/" title="Unter vim mit Splitscreens arbeiten" target="_self" class="liinternal">Splitscreens</a> besser umgehen zu können habe ich dafür einige Tastenkombinationen überlegt:</p>
<ul>
<li>Mit + kann man die Screens wechseln (entspricht Strg+w w)</li>
<li>Mit Strg+x zwei Screens tauschen</li>
<li>Bei horizontalen Splits kann man mit Strg+j und Strg+k die Trennlinie nach oben oder unten verschieben</li>
<li>Bei vertikalen Splits kann man mit Strg+h und Strg+l die Trennlinie nach links und rechts verschieben</li>
</ul>
<p>Dies wird durch die folgende Mappings realisiert:</p>

<div class="wp_syntax"><div class="code"><pre class="vim" style="font-family:monospace;"><span style="color: #adadad; font-style: italic;">&quot;Fenster wechseln</span>
<span style="color: #804040;">map</span> <span style="color: #000000;">+</span> <span style="color: #000000;">&lt;</span>C<span style="color: #000000;">-</span>w<span style="color: #000000;">&gt;</span>w<span style="color: #adadad; font-style: italic;">
&nbsp;
&quot;Fenster tauschen mit Strg+x</span>
<span style="color: #804040;">map</span> <span style="color: #000000;">&lt;</span>C<span style="color: #000000;">-</span>x<span style="color: #000000;">&gt;</span> <span style="color: #000000;">&lt;</span>C<span style="color: #000000;">-</span>w<span style="color: #000000;">&gt;</span>x<span style="color: #adadad; font-style: italic;">
&nbsp;
&quot;Maps zum ändern von Splitscreens</span>
<span style="color: #804040;">map</span> <span style="color: #000000;">&lt;</span>C<span style="color: #000000;">-</span>j<span style="color: #000000;">&gt;</span> <span style="color: #000000;">&lt;</span>C<span style="color: #000000;">-</span>w<span style="color: #000000;">&gt;+</span>
<span style="color: #804040;">map</span> <span style="color: #000000;">&lt;</span>C<span style="color: #000000;">-</span>k<span style="color: #000000;">&gt;</span> <span style="color: #000000;">&lt;</span>C<span style="color: #000000;">-</span>w<span style="color: #000000;">&gt;-</span>
<span style="color: #804040;">map</span> <span style="color: #000000;">&lt;</span>C<span style="color: #000000;">-</span>h<span style="color: #000000;">&gt;</span> <span style="color: #000000;">&lt;</span>C<span style="color: #000000;">-</span>w<span style="color: #000000;">&gt;&lt;</span>
<span style="color: #804040;">map</span> <span style="color: #000000;">&lt;</span>C<span style="color: #000000;">-</span>l<span style="color: #000000;">&gt;</span> <span style="color: #000000;">&lt;</span>C<span style="color: #000000;">-</span>w<span style="color: #000000;">&gt;&gt;</span></pre></div></div>

<p><a name="map_split"><strong>Nächster Unterschied im Diff-Modus</strong></a><br />
Um im <a title="vimdiff - 2 Dateien mit vim vergleichen und Unterschiede feststellen" href="" target="_self">Diff-Modus</a> schnell zur nächsten unterschiedlichen Stelle 2er Dateien zu springen, kann man sich den entsprechenden Springbefehl auf Strg+m legen:</p>

<div class="wp_syntax"><div class="code"><pre class="vim" style="font-family:monospace;"><span style="color: #804040;">map</span> <span style="color: #000000;">&lt;</span>C<span style="color: #000000;">-</span>m<span style="color: #000000;">&gt;</span> <span style="color: #000000;">&#93;</span>c</pre></div></div>

<p><br clear="all" /><br />
Bei Bedarf wird dieser Artikel erweitert.</p>
]]></content:encoded>
			<wfw:commentRss>http://zinformatik.de/tipps-tricks/vim-tipps/praktische-vim-mappings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

