<?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>[pimp my shell] &#187; Andreas</title>
	<atom:link href="http://blog.pimpmyshell.de/author/andreas/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.pimpmyshell.de</link>
	<description>leben im text-modus</description>
	<lastBuildDate>Sun, 10 Jul 2011 09:39:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.3</generator>
		<item>
		<title>Mehr Vim Tipps</title>
		<link>http://blog.pimpmyshell.de/2007/09/16/mehr-vim-tipps/</link>
		<comments>http://blog.pimpmyshell.de/2007/09/16/mehr-vim-tipps/#comments</comments>
		<pubDate>Sun, 16 Sep 2007 18:04:12 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[allgemein]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://blog.pimpmyshell.de/2007/09/16/mehr-vim-tipps/</guid>
		<description><![CDATA[Ich bin ein neuer Autor und werde gelegentlich Beiträge zu Vim und evtl. anderen Themen schreiben. Hier ein paar kleine Tipps, die mir immer wieder den Alltag erleichtern. ]]></description>
			<content:encoded><![CDATA[<p>Hallo zusammen</p>
<p>Ich bin ein neuer Autor und werde gelegentlich Beiträge zu Vim und evtl. anderen Themen schreiben. Hier ein paar kleine Tipps, die mir immer wieder den Alltag erleichtern.</p>
<p>Ich gehe davon aus, dass die Grundkenntnisse bereits vorhanden sind; ansonsten ist das bei Vim mitgelieferte Tutorial empfehlenswert, welches aus der Shell mit </p>
<p><code>
<pre>
$ vimtutor
</pre>
<p></code></p>
<p>gestartet werden kann.</p>
<h5>Rechtschreibung</h5>
<p>Seit Version 7 bietet Vim eine eigene Rechtschreibehilfe an. Nach der Eingabe</p>
<p><code>
<pre>
:set spell spelllang=de,en
</pre>
<p></code></p>
<p>werden alle Wörter, die von Vim nicht als korrekte Deutsche oder Englische Wörter erkannt werden, rot markiert.</p>
<h5>Umlaute</h5>
<p>Manchmal hat es auf einer Tastatur keine Umlaute. Kein Problem mit Vim &#8211; die Umlaute können im Insert-Mode mit CTRL-K als Digraph eingegeben werden. Beispiel:</p>
<p><code>
<pre>
CTRL-K U:
</pre>
<p></code></p>
<p>gibt ein Ü ein. Die weiteren Digraphe lassen sich mit</p>
<p><code>
<pre>
:digraph
</pre>
<p></code></p>
<p>anzeigen.</p>
<h5>Automatische Komprimierung</h5>
<p>Hat eine Datei eine Endung .gz oder .bz2, so wird sie von Vim automatisch (de-)komprimiert. Dies funktioniert auch beim Erstellen einer neuen Datei, z.B.:</p>
<p><code>
<pre>
$ vim notizen.txt.bz2
</pre>
<p></code></p>
<h5>Makros</h5>
<p>Ein Makro kann dazu verwendet werden, eine oft wiederholte Editiersequenz abzukürzen. Die Aufnahme eines Makros hat immer die Form qX[Editiersequenz]q. Abgespielt wird es mit @X. Dabei ist X der Bezeichner der Sequenz &#8211; dies kann ein Buchstabe oder eine Ziffer sein. Die Editiersequenz darf auch Wechsel in andere Modi beinhalten, muss aber im Normal-Mode starten und enden. Ein Beispiel:</p>
<p><code>
<pre>
qayypVr-q
</pre>
<p></code></p>
<p>Nun wird durch Eingabe von</p>
<p><code>
<pre>
@a
</pre>
<p></code></p>
<p>der Text einer ganzen Zeile unterstrichen.</p>
<h5>Verschlüsselung</h5>
<p>Will man in Vim einen Text verschlüsseln, so genügt es, Vim mit -x aufzurufen oder bei laufendem Vim</p>
<p><code>
<pre>
:X
</pre>
<p></code></p>
<p>einzugeben. Vim fragt dann nach einem Schlüssel und speichert die Datei ab sofort nur noch verschlüsselt. Der verwendete Algorithmus ist allerdings nicht besonders sicher. Besser &#8211; und auch eher der Unix-Philosophie entsprechend &#8211; wäre es, ein externes Tool für die Verschlüsselung zu verwenden. Vim bietet die Möglichkeit, einen Teil (Selektion) oder den ganzen Inhalt (% Operator) einer Datei durch ein externes Programm zu filtern. Möchte ich z.B. eine Textdatei vor dem Speichern mit GPG verschlüsseln (wozu GPG natürlich vorher eingerichtet werden muss), so gebe ich einfach</p>
<p><code>
<pre>
:%!gpg -e -a -r andreas
</pre>
<p></code></p>
<p>ein. Damit wird der Text von GPG mit meinem eigenen öffentlichen Key verschlüsselt. Da RSA asymmetrisch ist, wird die Passphrase nur zum entschlüsseln benötigt, was mit</p>
<p><code>
<pre>
:%!gpg -d -q
</pre>
<p></code></p>
<p>bewerkstelligt wird.</p>
<p>In beiden Fällen sind Swap- und Viminfo-Dateien aber immer noch unverschlüsselt. Sie können entweder mit den Kommandozeilen-Parametern -n -i /dev/null oder mit dem Kommando</p>
<p><code>
<pre>
:set noswapfile viminfo=
</pre>
<p></code></p>
<p>deaktiviert werden.</p>
<p>Die Möglichkeit, so einfach externe Programme einsetzen zu können ist auch sonst immer wieder äusserst nützlich. Möchte ich beispielsweise einige Zeilen alphabetisch sortieren, so markiere ich sie einfach (Visual-Mode) und gebe</p>
<p><code>
<pre>
:!sort
</pre>
<p></code></p>
<p>ein.</p>
<h5>Mappings</h5>
<p>Für oft verwendete Kommandos lohnt es sich, eigene Mappings zu erstellen (diese können in der Datei .vimrc gesammelt werden). Ein Beispiel:</p>
<p><code>
<pre>
:map &lt;F2&gt; :execute '!links http://dict.leo.org/?search='.expand("&lt;cword&gt;")&lt;CR&gt;
</pre>
<p></code></p>
<p>Nun kann mit F2 auf einen Tastendruck die Übersetzung für das Wort, das sich aktuell unter dem Cursor befindet, bei Leo nachgeschlagen werden.</p>
<p>So, das ist im Moment alles was mir so einfällt. Ich hoffe es hat ein paar nützliche Tipps dabei und freue mich natürlich über Feedback.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pimpmyshell.de/2007/09/16/mehr-vim-tipps/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

