<?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; less</title>
	<atom:link href="http://zinformatik.de/tag/less/feed/" rel="self" type="application/rss+xml" />
	<link>http://zinformatik.de</link>
	<description>Computer, Informatik und Mikrocontroller Blog</description>
	<lastBuildDate>Fri, 23 Jul 2010 21:22:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.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>
	</channel>
</rss>
