<?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>Erλends hjem i skyen &#187; kde</title>
	<atom:link href="http://hamberg.no/erlend/category/kde/feed/" rel="self" type="application/rss+xml" />
	<link>http://hamberg.no/erlend</link>
	<description>meta = &#38;meta;</description>
	<lastBuildDate>Wed, 22 Feb 2012 08:42:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Google Summer of Code 2011: A summary</title>
		<link>http://hamberg.no/erlend/2011/10/11/google-summer-of-code-2011-a-summary/</link>
		<comments>http://hamberg.no/erlend/2011/10/11/google-summer-of-code-2011-a-summary/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 15:13:49 +0000</pubDate>
		<dc:creator>Erlend</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[kate]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[gsoc]]></category>
		<category><![CDATA[vi mode]]></category>

		<guid isPermaLink="false">http://hamberg.no/erlend/?p=1268</guid>
		<description><![CDATA[Google summer of a code is an annual programme where Google pays students to work on open source projects in the summer months. The students have one or more mentors from the project who help them get started and function as a contact point for the developer community.
In 2008 I did a Google Summer  [...]]]></description>
			<content:encoded><![CDATA[<p>Google summer of a code is an annual programme where Google pays students to work on open source projects in the summer months. The students have one or more mentors from the project who help them get started and function as a contact point for the developer community.</p>
<p>In 2008 I did a Google Summer of Code project for the <a href="http://kate-editor.org">Kate text editor</a> where I wrote a <a href="http://kate-editor.org/kate-vi-mode/">Vi Input Mode</a> – making it possible to use Kate in a modal, Vi[m]-like manner. The project was successful and I continued to maintain this code and added more features over the years. This summer I took the step of signing up as a mentor myself and put out a project proposal for further improving the Vi Mode in Kate and adding a good unit test framework for the code. To my surprise – and delight! – many students were interested in the project and we ended up getting quite a few applications from students wanting to work on “my” project. In the end the Russian computer science student  Святослав Кузьмич (Svyatoslav Kuzmich) from Moscow Institute of Physics and Technology was chosen.</p>
<div class="wp-caption alignnone" style="width: 588px"><img title="The Kate Editor" src="http://kate-editor.org/wp-content/uploads/2011/09/advanced.png" alt="" width="578" height="490" /><p class="wp-caption-text">The Kate Editor</p></div>
<p>Over the summer he wrote a test framework for the Vi Mode and wrote test for the functionality already present. Having an easy way of adding tests for the Vi mode had been on my wish list for a long time and it was really nice to see it implemented. It did not take long for the new test system to show its value: Svyatoslav found some corner case bugs that had probably been in the code for a long time and fixed them. A short overview of the new test framework can be found at the Kate blog: <a href="http://kate-editor.org/2011/08/07/vitest/">Kate Vi Mode Test Suite</a>.</p>
<p>Svyatoslav also made many more visible improvements to the Vi Mode such as jump lists (making it possible to jump back/forward to where you were in the text), making it possible to control sub windows with the keyboard, many new command line mode commands and much more. An overview can be found in his <a href="http://kate-editor.org/2011/07/26/vimode-gsoc2011/">blog post at kate-editor.org</a>.</p>
<p>For me personally it was an interesting experience to act as a mentor for another programmer. My function also changed as the project progressed. In the beginning I tried to give Svyatoslav an overview of the current code and answer some questions as they came up. The programming work itself was rarely a theme – Svyatoslav was already a really good coder and generally just needed to be pointed in the right direction or – even more commonly – just get a confirming nod that his suggested solution sounded good. Since I had a few years to think about many of the features he wanted to implement I also had a few “that <em>does</em> sound like a good idea, but&#8230;” often learned the hard way. <img src='http://hamberg.no/erlend/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>In the end the project turned out very well and the users will get many new features – some of which have been wished for for years.</p>
<p>As a wrap-up of Google Summer of Code 2011 I am going to San Francisco next week to take part in the GSoC 2011 mentor summit where mentors from the organizations taking part in the Summer of Code meet to exchange experiences and discuss future directions for the programme. I am really looking forward to that! <img src='http://hamberg.no/erlend/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
 <p><a href="http://hamberg.no/erlend/?flattrss_redirect&amp;id=1268&amp;md5=0d7b3233dfecc33172366ad93a923084" title="Flattr" target="_blank"><img src="http://hamberg.no/erlend/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://hamberg.no/erlend/2011/10/11/google-summer-of-code-2011-a-summary/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=ehamberg&amp;url=http%3A%2F%2Fhamberg.no%2Ferlend%2F2011%2F10%2F11%2Fgoogle-summer-of-code-2011-a-summary%2F&amp;language=en_GB&amp;category=text&amp;title=Google+Summer+of+Code+2011%3A+A+summary&amp;description=Google+summer+of+a+code+is+an+annual+programme+where+Google+pays+students+to+work+on+open+source+projects+in+the+summer+months.+The+students+have+one+or+more+mentors...&amp;tags=gsoc%2Ckate%2Cvi+mode%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Visual block mode for Kate’s Vi Mode</title>
		<link>http://hamberg.no/erlend/2011/01/19/visual-block-mode-for-kate%e2%80%99s-vi-mode/</link>
		<comments>http://hamberg.no/erlend/2011/01/19/visual-block-mode-for-kate%e2%80%99s-vi-mode/#comments</comments>
		<pubDate>Wed, 19 Jan 2011 15:30:04 +0000</pubDate>
		<dc:creator>Erlend</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[kate]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[usortert]]></category>

		<guid isPermaLink="false">http://hamberg.no/erlend/?p=1216</guid>
		<description><![CDATA[One of the most oft-missed features of Kate&#8217;s Vi input mode is Vim&#8217;s visual block mode. Visual block mode is entered by pressing ctrl+v and allow a rectangular block of text to be selected and manipulated. Also, text can be prepended or appended to the block, which is useful for, e.g. commenting  [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1217" class="wp-caption alignright" style="width: 128px"><a href="http://hamberg.no/erlend/wp-content/uploads/2011/01/visblock.png"><img class="size-medium wp-image-1217   " title="visblock" src="http://hamberg.no/erlend/wp-content/uploads/2011/01/visblock-400x326.png" alt="" width="118" height="96" /></a><p class="wp-caption-text">A block selected by visual block mode</p></div>
<p>One of the most oft-missed features of Kate&#8217;s Vi input mode is Vim&#8217;s <em>visual block mode</em>. Visual block mode is entered by pressing <span style="padding: 1px 3px; border-radius: 4px; background-color: #eee; border: 1px solid black;">ctrl</span>+<span style="padding: 1px 3px; border-radius: 4px; background-color: #eee; border: 1px solid black;">v</span> and allow a rectangular block of text to be selected and manipulated. Also, text can be prepended or appended to the block, which is useful for, e.g. commenting out a range of lines.</p>
<p>Well, good news, everyone! There is now experimental support for visual block mode in Kate&#8217;s Vi input mode. Most text manipulation commands should already support visual block mode, and prepending/appending text (<span style="padding: 1px 3px; border-radius: 4px; background-color: #eee; border: 1px solid black;">shift</span>+<span style="padding: 1px 3px; border-radius: 4px; background-color: #eee; border: 1px solid black;">i</span> and <span style="padding: 1px 3px; border-radius: 4px; background-color: #eee; border: 1px solid black;">shift</span>+<span style="padding: 1px 3px; border-radius: 4px; background-color: #eee; border: 1px solid black;">a</span>, respectively) works, and you can select to end-of-line with <span style="padding: 1px 3px; border-radius: 4px; background-color: #eee; border: 1px solid black;">$</span>, as in Vim. I also made it possible to re-select the last visual selection with <span style="padding: 1px 3px; border-radius: 4px; background-color: #eee; border: 1px solid black;">g</span><span style="padding: 1px 3px; border-radius: 4px; background-color: #eee; border: 1px solid black;">v</span>, and the marks ‘&lt;’ and ‘&gt;’ are set to the start and end position of the last visual selection. (Further down the road it will hopefully be possible to use marks in <em>ex</em> commands, too.)</p>
<p>There are probably still some rough edges, but visual block mode should already be usable. If you want to help test it, <a title="Get It!" href="http://kate-editor.org/get-it/">build Kate from git</a> and try it out.</p>
 <p><a href="http://hamberg.no/erlend/?flattrss_redirect&amp;id=1216&amp;md5=52bf8e315e8e8f847be8ff6eadc41b6f" title="Flattr" target="_blank"><img src="http://hamberg.no/erlend/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://hamberg.no/erlend/2011/01/19/visual-block-mode-for-kate%e2%80%99s-vi-mode/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=ehamberg&amp;url=http%3A%2F%2Fhamberg.no%2Ferlend%2F2011%2F01%2F19%2Fvisual-block-mode-for-kate%25e2%2580%2599s-vi-mode%2F&amp;language=en_GB&amp;category=text&amp;title=Visual+block+mode+for+Kate%E2%80%99s+Vi+Mode&amp;description=One+of+the+most+oft-missed+features+of+Kate%26%238217%3Bs+Vi+input+mode+is+Vim%26%238217%3Bs+visual+block+mode.+Visual+block+mode+is+entered+by+pressing+ctrl%2Bv+and+allow+a+rectangular+block+of...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Wish: Options for Kate&#8217;s Indenting Scripts</title>
		<link>http://hamberg.no/erlend/2009/11/02/wish-options-for-kates-indenting-scripts/</link>
		<comments>http://hamberg.no/erlend/2009/11/02/wish-options-for-kates-indenting-scripts/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 12:31:15 +0000</pubDate>
		<dc:creator>Erlend</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[kate]]></category>
		<category><![CDATA[kde]]></category>

		<guid isPermaLink="false">http://hamberg.no/erlend/?p=1005</guid>
		<description><![CDATA[At the start of Kate&#8217;s indenting script for C/C++, the following options are available:
// BEGIN USER CONFIGURATION
var cfgIndentCase = true;         // indent &#8216;case&#8217; and &#8216;default&#8217; in a switch?
var cfgIndentNamespace = true;    // indent after &#8216;namespace&#8217;?
var cfgAutoInsertStar = false;    // auto  [...]]]></description>
			<content:encoded><![CDATA[<p>At the start of <a href="http://websvn.kde.org/trunk/KDE/kdelibs/kate/script/data/cstyle.js?view=markup">Kate&#8217;s indenting script for C/C++</a>, the following options are available:</p>
<blockquote><p><span style="color: #333399;">// BEGIN USER CONFIGURATION<br />
var cfgIndentCase = true;         // indent &#8216;case&#8217; and &#8216;default&#8217; in a switch?<br />
var cfgIndentNamespace = true;    // indent after &#8216;namespace&#8217;?<br />
var cfgAutoInsertStar = false;    // auto insert &#8216;*&#8217; in C-comments<br />
var cfgSnapSlash = false;         // snap &#8216;/&#8217; to &#8216;*/&#8217; in C-comments<br />
var cfgAutoInsertSlashes = false; // auto insert &#8216;//&#8217; after C++-comments<br />
// END USER CONFIGURATION</span></p></blockquote>
<p>To set these options one would first have to actually find the indenting scripts under /usr/share, then copy it to one&#8217;s home directory to be able to modify it, and then modify the javascript source. This could – of course – be done in a much better way. In an ideal world options like these should be available in Kate&#8217;s settings as check boxes. It should also be possible to have non-boolean options, like choosing a value from a list of possible values for a setting.</p>
<p>I would love to see something like the following:</p>
<blockquote><p><span style="color: #333399;">registerSetting(&#8220;Indent &#8216;case&#8217; and &#8216;default&#8217; in switch statements&#8221;, &#8220;cfgIndentCase&#8221;,  &#8220;boolean&#8221;);</span></p></blockquote>
<p>produce</p>
<blockquote><p><strong>☑ Indent &#8216;case&#8217; and &#8216;default&#8217; in switch statements</strong></p></blockquote>
<p>in Kate&#8217;s settings.</p>
<p>I don&#8217;t have the time myself, but I don&#8217;t think it would be very hard, and I&#8217;m sure that many people would be a bit happier. Me and the other Kate developers would glady be of assistance. ☺</p>
 <p><a href="http://hamberg.no/erlend/?flattrss_redirect&amp;id=1005&amp;md5=04c2939085e3e92223900b28534ef516" title="Flattr" target="_blank"><img src="http://hamberg.no/erlend/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://hamberg.no/erlend/2009/11/02/wish-options-for-kates-indenting-scripts/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=ehamberg&amp;url=http%3A%2F%2Fhamberg.no%2Ferlend%2F2009%2F11%2F02%2Fwish-options-for-kates-indenting-scripts%2F&amp;language=en_GB&amp;category=text&amp;title=Wish%3A+Options+for+Kate%26%238217%3Bs+Indenting+Scripts&amp;description=At+the+start+of+Kate%26%238217%3Bs+indenting+script+for+C%2FC%2B%2B%2C+the+following+options+are+available%3A+%2F%2F+BEGIN+USER+CONFIGURATION+var+cfgIndentCase+%3D+true%3B+%2F%2F+indent+%26%238216%3Bcase%26%238217%3B+and+%26%238216%3Bdefault%26%238217%3B+in+a+switch%3F...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Kate&#8217;s Vi Input Mode — What will KDE 4.4 bring?</title>
		<link>http://hamberg.no/erlend/2009/10/26/kates-vi-input-mode-kde44/</link>
		<comments>http://hamberg.no/erlend/2009/10/26/kates-vi-input-mode-kde44/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 19:12:43 +0000</pubDate>
		<dc:creator>Erlend</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[kate]]></category>
		<category><![CDATA[kde]]></category>

		<guid isPermaLink="false">http://hamberg.no/erlend/?p=905</guid>
		<description><![CDATA[Please see http://kate-editor.org/kate-vi-mode/ for an updated overview of the Kate VI mode project.
Dear &#8220;Katevim&#8221; users.  Kate&#8217;s Vi Mode is steadily improving and I want to take a moment to tell what&#8217;s on the horizon for KDE 4.4. There has been quite a few bugs fixed since 4.3, but some major new  [...]]]></description>
			<content:encoded><![CDATA[<div style="border: 1px solid black; margin: 0pt auto -1px; padding: 1em; background-color: #eeeeee; width: 50%; text-align: center;">Please see <a href="http://kate-editor.org/kate-vi-mode/">http://kate-editor.org/kate-vi-mode/</a> for an updated overview of the Kate VI mode project.</div>
<p>Dear &#8220;Katevim&#8221; users.  Kate&#8217;s Vi Mode is steadily improving and I want to take a moment to tell what&#8217;s on the horizon for KDE 4.4. There has been quite a few bugs fixed since 4.3, but some major new features have also been introduced:</p>
<p><span id="more-905"></span></p>
<h3>The Comma Text Object</h3>
<p>This is something that I have been missing in Vim. The comma text object makes it easy to modify parameter lists in C-like languages and other comma separated lists. It is basically the area between two commas or between a comma and a bracket. In the line below, the three ranges this text object would cover is highlighted in red.</p>
<p style="text-align: center;">
<div id="attachment_992" class="wp-caption aligncenter" style="width: 393px"> <a href="http://hamberg.no/erlend/wp-content/uploads/2009/10/comma_to.png"><img class="size-full wp-image-992" title="comma_to" src="http://hamberg.no/erlend/wp-content/uploads/2009/10/comma_to.png" alt="Comma Text Object" width="383" height="87" /></a><p class="wp-caption-text">Comma text object ranges. If the cursor is over, say, &quot;arg2&quot;, pressing c  i  ,  (&quot;change inner comma&quot;) would delete &quot;double arg2&quot; and place the cursor between the two commas in insert mode. A very convenient way to change a function&#39;s parameter</p></div>
<p>This has actually been in Kate&#8217;s Vi Mode for a while now, but since it has not been announced until now, I guess I am the only one using it. <img src='http://hamberg.no/erlend/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<h3>Limited Normal Mode Mapping Support</h3>
<p>It is now possible to add mappings in normal mode (<strong>:nnoremap</strong> in Vim). There are still some flaws, such as the fact that one cannot map a keypress to &#8220;<strong>:somecommand&lt;enter&gt;</strong>&#8220;, but hopefully people who are using dvorak/colemake can make use of the vi mode now.</p>
<div id="attachment_993" class="wp-caption aligncenter" style="width: 310px"><a href="http://hamberg.no/erlend/wp-content/uploads/2009/10/mapping.png"><img class="size-medium wp-image-993" title="mapping" src="http://hamberg.no/erlend/wp-content/uploads/2009/10/mapping-300x280.png" alt="It is now possible to map keypresses in normal mode" width="300" height="280" /></a><p class="wp-caption-text">It is now possible to map keypresses in normal mode</p></div>
<h3>Command Line Mode Commands</h3>
<p>Yes, really! Kate&#8217;s Vi Mode finally support some of the most command commandline mode commands from Vim. What can be done from the Kate editor part is limited by the fact that it can&#8217;t control its hosting application, but Kate – the application – has now gotten support for the following commands:</p>
<ul>
<li> <strong>q, qa<br />
</strong></li>
<li><strong> w, wq, wa, wqa<br />
</strong></li>
<li><strong>x, xa<br />
</strong></li>
<li><strong>bn, bp<br />
</strong></li>
<li><strong>new, vnew<br />
</strong></li>
<li><strong>edit</strong></li>
</ul>
<div id="attachment_994" class="wp-caption aligncenter" style="width: 310px"> <a href="http://hamberg.no/erlend/wp-content/uploads/2009/10/wqa_help.png"><img class="size-medium wp-image-994" title="wqa_help" src="http://hamberg.no/erlend/wp-content/uploads/2009/10/wqa_help-300x210.png" alt="Kate showing help text for the wq[a] command" width="300" height="210" /></a><p class="wp-caption-text">Kate showing help text for a command line mode command</p></div>
 <p><a href="http://hamberg.no/erlend/?flattrss_redirect&amp;id=905&amp;md5=894151d8cabb8ee553783f63ec3a4fba" title="Flattr" target="_blank"><img src="http://hamberg.no/erlend/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://hamberg.no/erlend/2009/10/26/kates-vi-input-mode-kde44/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=ehamberg&amp;url=http%3A%2F%2Fhamberg.no%2Ferlend%2F2009%2F10%2F26%2Fkates-vi-input-mode-kde44%2F&amp;language=en_GB&amp;category=text&amp;title=Kate%26%238217%3Bs+Vi+Input+Mode+%E2%80%94+What+will+KDE+4.4+bring%3F&amp;description=Please+see+http%3A%2F%2Fkate-editor.org%2Fkate-vi-mode%2F+for+an+updated+overview+of+the+Kate+VI+mode+project.+Dear+%26%238220%3BKatevim%26%238221%3B+users.%C2%A0+Kate%26%238217%3Bs+Vi+Mode+is+steadily+improving+and+I+want+to+take+a+moment+to...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>How Kate got X-rated</title>
		<link>http://hamberg.no/erlend/2009/07/08/how-kate-got-x-rated/</link>
		<comments>http://hamberg.no/erlend/2009/07/08/how-kate-got-x-rated/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 10:37:12 +0000</pubDate>
		<dc:creator>Erlend</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[kate]]></category>
		<category><![CDATA[kde]]></category>

		<guid isPermaLink="false">http://hamberg.no/erlend/?p=983</guid>
		<description><![CDATA[
(Ok, not really.)

Kate&#8217;s maintainer, Christoph Cullmann, shared a funny story over a beer one of the first days here at GCDS.
In ye olden days, what is now Kate and Kwrite was one application called &#8220;KWrite – KDE&#8217;s Advanced Text Editor&#8221;. However, the author of Kwrite mysteriously disappeared.  [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" title="Explicit content" src="http://upload.wikimedia.org/wikipedia/en/thumb/3/33/Parental_Advisory_label.svg/200px-Parental_Advisory_label.svg.png" alt="" width="200" height="127" /></p>
<p style="text-align: center;">(Ok, not really.)</p>
<p style="text-align: center;">
<p>Kate&#8217;s maintainer, Christoph Cullmann, shared a funny story over a beer one of the first days here at GCDS.</p>
<p>In ye olden days, what is now Kate and Kwrite was one application called &#8220;KWrite – KDE&#8217;s Advanced Text Editor&#8221;. However, the author of Kwrite mysteriously disappeared. Christoph forked Kwrite and continued working on it and after some time it greatly surpassed Kwrite&#8217;s capabilities and was becoming more of a power tool. A name change was long overdue.<br />
Being a good German, Christoph decided to name it after the philosopher Immanuel Kant, so in KDE 2.1 the editor &#8220;Kant&#8221; was born.<br />
For some strange reason, probably easier to understand for native English speakers, it was renamed to &#8220;Kate&#8221; in KDE 2.2. And thus what still is KDE&#8217;s Advanced Text Editor was born.</p>
 <p><a href="http://hamberg.no/erlend/?flattrss_redirect&amp;id=983&amp;md5=ef4a4c88a2e8a5d63faafb34e7697cfd" title="Flattr" target="_blank"><img src="http://hamberg.no/erlend/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://hamberg.no/erlend/2009/07/08/how-kate-got-x-rated/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=ehamberg&amp;url=http%3A%2F%2Fhamberg.no%2Ferlend%2F2009%2F07%2F08%2Fhow-kate-got-x-rated%2F&amp;language=en_GB&amp;category=text&amp;title=How+Kate+got+X-rated&amp;description=%28Ok%2C+not+really.%29+Kate%26%238217%3Bs+maintainer%2C+Christoph+Cullmann%2C+shared+a+funny+story+over+a+beer+one+of+the+first+days+here+at+GCDS.+In+ye+olden+days%2C+what+is+now+Kate...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Google Calendar Plasmoid, Take Two</title>
		<link>http://hamberg.no/erlend/2009/05/07/google-calendar-plasmoid-take-two/</link>
		<comments>http://hamberg.no/erlend/2009/05/07/google-calendar-plasmoid-take-two/#comments</comments>
		<pubDate>Thu, 07 May 2009 18:57:48 +0000</pubDate>
		<dc:creator>Erlend</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[kde]]></category>

		<guid isPermaLink="false">http://hamberg.no/erlend/?p=945</guid>
		<description><![CDATA[After the positive feedback on my quick 27 line python hack, I decided to make a slightly improved version. This fixes the two major problems with the old one: you can now use your Google Apps for your Domain email and you can use kwallet to remember your login.


It&#8217;s not a simple, 27 line python  [...]]]></description>
			<content:encoded><![CDATA[<p>After the positive feedback on my <a href="http://hamberg.no/erlend/2009/05/05/google-calendar-plasmoid/">quick 27 line python hack</a>, I decided to make a slightly improved version. This fixes the two major problems with the old one: you can now use your Google Apps for your Domain email and you can use kwallet to remember your login.</p>
<p><a href="http://hamberg.no/erlend/wp-content/uploads/2009/05/gcal2.png"><img class="aligncenter size-full wp-image-946" title="gcal2" src="http://hamberg.no/erlend/wp-content/uploads/2009/05/gcal2.png" alt="gcal2" width="296" height="346" /></a></p>
<p><a href="http://hamberg.no/erlend/wp-content/uploads/2009/05/gcal_settings.png"><img class="aligncenter size-full wp-image-948" title="gcal_settings" src="http://hamberg.no/erlend/wp-content/uploads/2009/05/gcal_settings.png" alt="gcal_settings" width="428" height="369" /></a></p>
<p>It&#8217;s not a simple, 27 line python script any more, but now it&#8217;s much more usable. (unless there are some stupid bugs I have overlooked. <img src='http://hamberg.no/erlend/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p>
<p>As suggested I uploaded it to KDE Look: <a href="http://www.kde-look.org/content/show.php?content=104182">http://www.kde-look.org/content/show.php?content=104182</a>, so you can install it from the &#8220;Add widgets&#8230;&#8221; dialogue or download it and install it with <b>plasmapkg -i gcal-1.1.plasmoid</b>.</p>
<p><span id="more-945"></span></p>
<p>The login is just a quick hack, btw. This pretty much sums it up:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">src = src.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;id=&quot;</span>Email<span style="color: #483d8b;">&quot;&quot;</span>,
    <span style="color: #483d8b;">&quot;id=&quot;</span>Email<span style="color: #483d8b;">&quot; value=&quot;</span><span style="color: #483d8b;">&quot;+self.settings['username']+&quot;</span><span style="color: #483d8b;">&quot;&quot;</span><span style="color: black;">&#41;</span>
src = src.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;id=&quot;</span>Passwd<span style="color: #483d8b;">&quot;&quot;</span>,
    <span style="color: #483d8b;">&quot;id=&quot;</span>Passwd<span style="color: #483d8b;">&quot; value=&quot;</span><span style="color: #483d8b;">&quot;+self.settings['password']+&quot;</span><span style="color: #483d8b;">&quot;&quot;</span><span style="color: black;">&#41;</span>
src = src.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;id=&quot;</span>gaia_loginform<span style="color: #483d8b;">&quot;&quot;</span>,
    <span style="color: #483d8b;">&quot;id=&quot;</span>gaia_loginform<span style="color: #483d8b;">&quot; name=&quot;</span>gaia_loginform<span style="color: #483d8b;">&quot;&quot;</span><span style="color: black;">&#41;</span>
src = src.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;&quot;</span>,
src = src.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;&lt;/body&gt;&quot;</span>,
    <span style="color: #483d8b;">&quot;&lt;script&gt;document.gaia_loginform.submit()&lt;/script&gt;&lt;/body&gt;&quot;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>I also tried the ninja trick from <a href="http://ariya.blogspot.com/2009/04/transparent-qwebview-and-qwebpage.html">Ariya&#8217;s blog</a> to get a transparent webview, but Google&#8217;s 1995 gif logo pretty much destroyed the appearance, so I dropped that. <img src='http://hamberg.no/erlend/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://hamberg.no/erlend/wp-content/uploads/2009/05/gcal2_transparent.png"><img class="aligncenter size-full wp-image-947" title="gcal2_transparent" src="http://hamberg.no/erlend/wp-content/uploads/2009/05/gcal2_transparent.png" alt="gcal2_transparent" width="290" height="343" /></a></p>
 <p><a href="http://hamberg.no/erlend/?flattrss_redirect&amp;id=945&amp;md5=0749e74e3786f884a15006e69f1ed91a" title="Flattr" target="_blank"><img src="http://hamberg.no/erlend/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://hamberg.no/erlend/2009/05/07/google-calendar-plasmoid-take-two/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=ehamberg&amp;url=http%3A%2F%2Fhamberg.no%2Ferlend%2F2009%2F05%2F07%2Fgoogle-calendar-plasmoid-take-two%2F&amp;language=en_GB&amp;category=text&amp;title=Google+Calendar+Plasmoid%2C+Take+Two&amp;description=After+the+positive+feedback+on+my+quick+27+line+python+hack%2C+I+decided+to+make+a+slightly+improved+version.+This+fixes+the+two+major+problems+with+the+old+one%3A+you...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Google Calendar Plasmoid</title>
		<link>http://hamberg.no/erlend/2009/05/05/google-calendar-plasmoid/</link>
		<comments>http://hamberg.no/erlend/2009/05/05/google-calendar-plasmoid/#comments</comments>
		<pubDate>Tue, 05 May 2009 20:24:14 +0000</pubDate>
		<dc:creator>Erlend</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[kde]]></category>

		<guid isPermaLink="false">http://hamberg.no/erlend/?p=937</guid>
		<description><![CDATA[Update: A new, better version can be found here:
http://hamberg.no/erlend/2009/05/07/google-calendar-plasmoid-take-two/
In case anyone is interested:
I made a simple Plasmoid for viewing coming events from Google Calendar. It&#8217;s simply a webview showing the iPhone version of Google Calendar.  It&#8217;s  [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update:</strong> A new, better version can be found here:<a href="http://hamberg.no/erlend/2009/05/07/google-calendar-plasmoid-take-two/"></a></p>
<p><a href="http://hamberg.no/erlend/2009/05/07/google-calendar-plasmoid-take-two/">http://hamberg.no/erlend/2009/05/07/google-calendar-plasmoid-take-two/</a></p>
<p>In case anyone is interested:</p>
<p>I made a simple Plasmoid for viewing coming events from Google Calendar. It&#8217;s simply a webview showing the iPhone version of Google Calendar.  It&#8217;s written in Python and took 10 minutes to write (27 lines of code) by following <a href="http://techbase.kde.org/Development/Tutorials/Plasma/Python/GettingStarted">the excellent tutorial on techbase</a>.</p>
<p><a href="http://hamberg.no/erlend/wp-content/uploads/2009/05/gcal.png"><img class="aligncenter size-full wp-image-938" title="gcal" src="http://hamberg.no/erlend/wp-content/uploads/2009/05/gcal.png" alt="gcal" width="305" height="345" /></a></p>
<p>You can download it here: <a href="http://hamberg.no/erlend/files/gcal.zip">http://hamberg.no/erlend/files/gcal.zip</a>. If you improve it or make another Google Calendar plasmoid: let me know! <img src='http://hamberg.no/erlend/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Oh, btw. To install it run<strong> plasmapkg -i gcal.zip</strong>.</p>
<p>P.S: openSuse users: I had to install <strong>python-dev</strong> to actually run a python plasmoid. Don&#8217;t know why.</p>
 <p><a href="http://hamberg.no/erlend/?flattrss_redirect&amp;id=937&amp;md5=4dbf97d63631a667ca40cddbcd499a1b" title="Flattr" target="_blank"><img src="http://hamberg.no/erlend/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://hamberg.no/erlend/2009/05/05/google-calendar-plasmoid/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=ehamberg&amp;url=http%3A%2F%2Fhamberg.no%2Ferlend%2F2009%2F05%2F05%2Fgoogle-calendar-plasmoid%2F&amp;language=en_GB&amp;category=text&amp;title=Google+Calendar+Plasmoid&amp;description=Update%3A+A+new%2C+better+version+can+be+found+here%3A+http%3A%2F%2Fhamberg.no%2Ferlend%2F2009%2F05%2F07%2Fgoogle-calendar-plasmoid-take-two%2F+In+case+anyone+is+interested%3A+I+made+a+simple+Plasmoid+for+viewing+coming+events+from+Google+Calendar.+It%26%238217%3Bs+simply+a...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Wikibooks, now also for us who like physical books</title>
		<link>http://hamberg.no/erlend/2008/12/01/wikibooks-now-also-for-us-who-like-physical-books/</link>
		<comments>http://hamberg.no/erlend/2008/12/01/wikibooks-now-also-for-us-who-like-physical-books/#comments</comments>
		<pubDate>Mon, 01 Dec 2008 19:41:04 +0000</pubDate>
		<dc:creator>Erlend</dc:creator>
				<category><![CDATA[bøker]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[kde]]></category>

		<guid isPermaLink="false">http://hamberg.no/erlend/?p=822</guid>
		<description><![CDATA[In &#8220;just&#8221; 19 days I&#8217;ll have completed my last exam for this semester and I can travel home for a nice, quiet Christmas with my family. As usual, I&#8217;ll travel by train, which takes 16-17 hours each way. Partly because it&#8217;s cheap (25 EUR), but most of all because it&#8217;s very comfortable and is a nice  [...]]]></description>
			<content:encoded><![CDATA[<p>In &#8220;just&#8221; 19 days I&#8217;ll have completed my last exam for this semester and I can travel home for a nice, quiet Christmas with my family. As usual, I&#8217;ll travel by train, which takes 16-17 hours each way. Partly because it&#8217;s cheap (25 EUR), but most of all because it&#8217;s very comfortable and is a nice way to &#8220;stress down&#8221; after an intense exam period. As usual I&#8217;ll pack plenty of books and an iPhone with all the podcast episodes I have postponed listening to.</p>
<p>Among the new books I&#8217;ll bring there will also be at least one wikibook. Yes, a real, physical wikibook. <img src='http://hamberg.no/erlend/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
You see, I have been using the <a href="http://en.wikibooks.org/wiki/X86_Disassembly">x86 disassembly</a> wikibook quite often, and recently I read that there were a &#8220;a collection for print-on-demand publishing from PediaPress&#8221; available for the book. Being curious, I had to click the link to see what that actually meant&#8230;</p>
<p>It turns out that <a href="http://www.pediapress.com/">PediaPress</a> will print a copy of a wikibook for a very fair price. It can even be your own compilation of parts of books (and Wikipedia support is coming, according to their webpage). Printing and shipping of the book (200 pages) to Norway was a little over 10 EUR.</p>
<p>I&#8217;m now sitting with three printed wikibooks in front of me, and the quality of the printed book are very good. Needless to say, I&#8217;m very happy. They even donate a portion of the proceeds to the Wikimedia Foundation (though, they don&#8217;t say how much).</p>
<div id="attachment_824" class="wp-caption aligncenter" style="width: 310px"><a href="http://hamberg.no/erlend/wp-content/uploads/2008/12/dsc_0111.jpg"><img class="size-medium wp-image-824" title="dsc_0111" src="http://hamberg.no/erlend/wp-content/uploads/2008/12/dsc_0111-300x200.jpg" alt="Shiny new books" width="300" height="200" /></a><p class="wp-caption-text">Shiny new books</p></div>
<div id="attachment_821" class="wp-caption aligncenter" style="width: 310px"><a href="http://hamberg.no/erlend/wp-content/uploads/2008/11/dsc_0108.jpg"><img class="size-medium wp-image-821" title="dsc_0108" src="http://hamberg.no/erlend/wp-content/uploads/2008/11/dsc_0108-300x200.jpg" alt="Okteta" width="300" height="200" /></a><p class="wp-caption-text">Okteta is of course mentioned <img src='http://hamberg.no/erlend/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p></div>
 <p><a href="http://hamberg.no/erlend/?flattrss_redirect&amp;id=822&amp;md5=66b6814f4dd4c2b7dd4d8baa2aadd56d" title="Flattr" target="_blank"><img src="http://hamberg.no/erlend/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://hamberg.no/erlend/2008/12/01/wikibooks-now-also-for-us-who-like-physical-books/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=ehamberg&amp;url=http%3A%2F%2Fhamberg.no%2Ferlend%2F2008%2F12%2F01%2Fwikibooks-now-also-for-us-who-like-physical-books%2F&amp;language=en_GB&amp;category=text&amp;title=Wikibooks%2C+now+also+for+us+who+like+physical+books&amp;description=In+%26%238220%3Bjust%26%238221%3B+19+days+I%26%238217%3Bll+have+completed+my+last+exam+for+this+semester+and+I+can+travel+home+for+a+nice%2C+quiet+Christmas+with+my+family.+As+usual%2C+I%26%238217%3Bll+travel...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>The Vi input mode for Kate is “done”</title>
		<link>http://hamberg.no/erlend/2008/11/24/the-vi-input-mode-for-kate-is-done/</link>
		<comments>http://hamberg.no/erlend/2008/11/24/the-vi-input-mode-for-kate-is-done/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 20:08:10 +0000</pubDate>
		<dc:creator>Erlend</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[gsoc]]></category>
		<category><![CDATA[kate]]></category>
		<category><![CDATA[kde]]></category>

		<guid isPermaLink="false">http://hamberg.no/erlend/?p=800</guid>
		<description><![CDATA[Please see http://kate-editor.org/kate-vi-mode/ for an updated overview of the Kate VI mode project.
I just marked the Vi input mode (&#8220;V.I.M.&#8221;?   ) for the Kate kpart as done in the feature plan for KDE 4.2. It feels a bit weird to mark it as done, though, as there are tonnes of things I want to  [...]]]></description>
			<content:encoded><![CDATA[<div style="border: 1px solid black; margin: 0pt auto -1px; padding: 1em; background-color: #eeeeee; width: 50%; text-align: center;">Please see <a href="http://kate-editor.org/kate-vi-mode/">http://kate-editor.org/kate-vi-mode/</a> for an updated overview of the Kate VI mode project.</div>
<p>I just marked the Vi input mode (&#8220;V.I.M.&#8221;? <img src='http://hamberg.no/erlend/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ) for the Kate kpart as done in <a href="http://techbase.kde.org/Schedules/KDE4/4.2_Feature_Plan">the feature plan for KDE 4.2</a>. It feels a bit weird to mark it as done, though, as there are tonnes of things I want to implement after KDE 4.2.</p>
<p>As you may know this started as a <a href="http://code.google.com/soc/2008/kde/appinfo.html?csaid=370F903C96FF67D1">Google Summer of Code project</a> and I&#8217;m quite happy with the way things have turned out. Since we are in feature freeze I would like to present the features that will be in the Vi input mode for the Kate part in KDE 4.2.</p>
<div id="attachment_789" class="wp-caption aligncenter" style="width: 310px"><a href="http://folk.ntnu.no/hamberg/images/vimode1.png"><img class="size-medium wp-image-789" title="vimode1" src="http://hamberg.no/erlend/wp-content/uploads/2008/11/vimode1-300x237.png" alt="Kate Vi Input Mode in action" width="300" height="237" /></a><p class="wp-caption-text">Kate Vi Input Mode in action – visual mode selection</p></div>
<p><span id="more-800"></span></p>
<p>The Vi input mode can be used as the default editing mode by selecting it in Settings → Configure Kate&#8230; → Editing → Vi Input Mode and/or toggled any time by selecting View → Vi Input Mode. Nifty, eh?</p>
<p><span style="color: #993300;"><em>[Edit: this has been moved to the "Edit" menu.]</em></span></p>
<p style="text-align: center;">
<div id="attachment_790" class="wp-caption aligncenter" style="width: 378px"><a href="http://folk.ntnu.no/hamberg/images/vimode2.png"><img class="size-full wp-image-790" title="vimode2" src="http://hamberg.no/erlend/wp-content/uploads/2008/11/vimode2.png" alt="Vi Input Mode toggle" width="368" height="211" /></a><p class="wp-caption-text">Vi Input Mode toggle</p></div>
<p>Thanks to <a href="http://dimsuz.wordpress.com/">Dmitry Suzdalev</a> there is also an (optional) vi mode status bar. This shows commands while they are being entered, output from commands like &#8216;ga&#8217; (the character code of the character under the cursor) and of coruse the current mode.</p>
<div id="attachment_791" class="wp-caption aligncenter" style="width: 310px"><a href="http://folk.ntnu.no/hamberg/images/vimode1.png"><img class="size-medium wp-image-791" title="vimode3" src="http://hamberg.no/erlend/wp-content/uploads/2008/11/vimode3-300x31.png" alt="Kate Vi Input mode status bar" width="300" height="31" /></a><p class="wp-caption-text">Kate Vi Input mode status bar – &quot;a4d has been pressed</p></div>
<p>Quite a few of the vi commands crash with &#8220;regular&#8221; Kate shortcuts, like <strong>ctrl+b</strong>/<strong>ctrl+f</strong> for scrolling up/down one page. If you want to use these as vi commands, you can choose to let Vi commands override Kate shortcuts in the Vi input mode settings. As you might know, <strong>ctrl+r</strong> is used for &#8220;redo&#8221; in vim. To make it possible to redo for people not wanting to override Kate&#8217;s shortcuts <strong>shift+u</strong> is also used for undo. (This key press is used for &#8220;undoing all latest changes on one line&#8221; in Vim.)</p>
<p>I have also added support for ranges to Kate&#8217;s command line commands. So you can do <strong>1,10kill-line</strong> (&#8220;kill-line&#8221; is a Kate command, not a vi(m) command). This also works for the substitute command which is already a part of Kate: <strong>s/foo/bar/g</strong>. This is something whose potential hopefully will be fully exploited in the future when more commands are added.</p>
<p>For now, the only &#8220;ex commands&#8221; supported are <strong>:w</strong> and <strong>:hardcopy</strong>. Part of the reason not more commands are supported is because I need to figure out how to send requests from the editor part to the hosting application requesting to e.g. quit or close a buffer. I also want to be able to add several forms of commands like <strong>:d[elete]</strong>, <strong>:w[rite]</strong> and so on. (But only the long form should be shown in the autocompletion to not clutter the dropdown with confusing one-letter commands.)</p>
<p>But, enough of what&#8217;s not supported! Here is the list of the commands that actually made it into the Vi Input Mode before the feature freeze:</p>
<h3>Supported normal/visual mode commands</h3>
<table border="0">
<tbody>
<tr>
<td style="width: 100px;"><strong>a</strong></td>
<td>commandEnterInsertModeAppend</td>
</tr>
<tr>
<td><strong>A</strong></td>
<td>commandEnterInsertModeAppendEOL</td>
</tr>
<tr>
<td><strong>i</strong></td>
<td>commandEnterInsertMode</td>
</tr>
<tr>
<td><strong>v</strong></td>
<td>commandEnterVisualMode</td>
</tr>
<tr>
<td><strong>V</strong></td>
<td>commandEnterVisualLineMode</td>
</tr>
<tr>
<td><strong>o</strong></td>
<td>commandOpenNewLineUnder</td>
</tr>
<tr>
<td><strong>O</strong></td>
<td>commandOpenNewLineOver</td>
</tr>
<tr>
<td><strong>J</strong></td>
<td>commandJoinLines</td>
</tr>
<tr>
<td><strong>c</strong></td>
<td>commandChange</td>
</tr>
<tr>
<td><strong>C</strong></td>
<td>commandChangeToEOL</td>
</tr>
<tr>
<td><strong>cc</strong></td>
<td>commandChangeLine</td>
</tr>
<tr>
<td><strong>s</strong></td>
<td>commandSubstituteChar</td>
</tr>
<tr>
<td><strong>S</strong></td>
<td>commandSubstituteLine</td>
</tr>
<tr>
<td><strong>dd</strong></td>
<td>commandDeleteLine</td>
</tr>
<tr>
<td><strong>d</strong></td>
<td>commandDelete</td>
</tr>
<tr>
<td><strong>D</strong></td>
<td>commandDeleteToEOL</td>
</tr>
<tr>
<td><strong>x</strong></td>
<td>commandDeleteChar</td>
</tr>
<tr>
<td><strong>X</strong></td>
<td>commandDeleteCharBackward</td>
</tr>
<tr>
<td><strong>gu</strong></td>
<td>commandMakeLowercase</td>
</tr>
<tr>
<td><strong>guu</strong></td>
<td>commandMakeLowercaseLine</td>
</tr>
<tr>
<td><strong>gU</strong></td>
<td>commandMakeUppercase</td>
</tr>
<tr>
<td><strong>gUU</strong></td>
<td>commandMakeUppercaseLine</td>
</tr>
<tr>
<td><strong>y</strong></td>
<td>commandYank</td>
</tr>
<tr>
<td><strong>yy</strong></td>
<td>commandYankLine</td>
</tr>
<tr>
<td><strong>Y</strong></td>
<td>commandYankToEOL</td>
</tr>
<tr>
<td><strong>p</strong></td>
<td>commandPaste</td>
</tr>
<tr>
<td><strong>P</strong></td>
<td>commandPasteBefore</td>
</tr>
<tr>
<td><strong>r</strong></td>
<td>commandReplaceCharacter</td>
</tr>
<tr>
<td><strong>:</strong></td>
<td>commandSwitchToCmdLine</td>
</tr>
<tr>
<td><strong>/</strong></td>
<td>commandSearch</td>
</tr>
<tr>
<td><strong>u</strong></td>
<td>commandUndo)</td>
</tr>
<tr>
<td><strong>&lt;c-r&gt;</strong></td>
<td>commandRedo</td>
</tr>
<tr>
<td><strong>U</strong></td>
<td>commandRedo</td>
</tr>
<tr>
<td><strong>m.</strong></td>
<td>commandSetMark</td>
</tr>
<tr>
<td><strong>n</strong></td>
<td>commandFindNext</td>
</tr>
<tr>
<td><strong>N</strong></td>
<td>commandFindPrev</td>
</tr>
<tr>
<td><strong>&gt;&gt;</strong></td>
<td>commandIndentLine</td>
</tr>
<tr>
<td><strong>&lt;&lt;</strong></td>
<td>commandUnindentLine</td>
</tr>
<tr>
<td><strong>&gt;</strong></td>
<td>commandIndentLines</td>
</tr>
<tr>
<td><strong>&lt;</strong></td>
<td>commandUnindentLines</td>
</tr>
<tr>
<td><strong>&lt;c-f&gt;</strong></td>
<td>commandScrollPageDown</td>
</tr>
<tr>
<td><strong>&lt;c-b&gt;</strong></td>
<td>commandScrollPageUp</td>
</tr>
<tr>
<td><strong>ga</strong></td>
<td>commandPrintCharacterCode</td>
</tr>
<tr>
<td><strong>.</strong></td>
<td>commandRepeatLastChange</td>
</tr>
<tr>
<td><strong>==</strong></td>
<td>commandAlignLine</td>
</tr>
<tr>
<td><strong>=</strong></td>
<td>commandAlignLines</td>
</tr>
<tr>
<td><strong>~</strong></td>
<td>commandChangeCase</td>
</tr>
</tbody>
</table>
<h3>Supported motions</h3>
<table border="0">
<tbody>
<tr>
<td style="width: 100px;"><strong>h</strong></td>
<td>motionLeft</td>
</tr>
<tr>
<td><strong>&lt;left&gt;</strong></td>
<td>motionLeft</td>
</tr>
<tr>
<td><strong>&lt;backspace&gt;</strong></td>
<td>motionLeft</td>
</tr>
<tr>
<td><strong>j</strong></td>
<td>motionDown</td>
</tr>
<tr>
<td><strong>&lt;down&gt;</strong></td>
<td>motionDown</td>
</tr>
<tr>
<td><strong>k</strong></td>
<td>motionUp</td>
</tr>
<tr>
<td><strong>&lt;up&gt;</strong></td>
<td>motionUp</td>
</tr>
<tr>
<td><strong>l</strong></td>
<td>motionRight</td>
</tr>
<tr>
<td><strong>&lt;right&gt;</strong></td>
<td>motionRight</td>
</tr>
<tr>
<td><strong>&lt;space&gt;</strong></td>
<td>motionRight</td>
</tr>
<tr>
<td><strong>$</strong></td>
<td>motionToEOL</td>
</tr>
<tr>
<td><strong>&lt;end&gt;</strong></td>
<td>motionToEOL</td>
</tr>
<tr>
<td><strong>0</strong></td>
<td>motionToColumn0</td>
</tr>
<tr>
<td><strong>&lt;home&gt;</strong></td>
<td>motionToColumn0</td>
</tr>
<tr>
<td><strong>^</strong></td>
<td>motionToFirstCharacterOfLine</td>
</tr>
<tr>
<td><strong>f</strong></td>
<td>motionFindChar</td>
</tr>
<tr>
<td><strong>F</strong></td>
<td>motionFindCharBackward</td>
</tr>
<tr>
<td><strong>t</strong></td>
<td>motionToChar</td>
</tr>
<tr>
<td><strong>T</strong></td>
<td>motionToCharBackward</td>
</tr>
<tr>
<td><strong>gg</strong></td>
<td>motionToLineFirst</td>
</tr>
<tr>
<td><strong>G</strong></td>
<td>motionToLineLast</td>
</tr>
<tr>
<td><strong>w</strong></td>
<td>motionWordForward</td>
</tr>
<tr>
<td><strong>W</strong></td>
<td>motionWORDForward</td>
</tr>
<tr>
<td><strong>b</strong></td>
<td>motionWordBackward</td>
</tr>
<tr>
<td><strong>B</strong></td>
<td>motionWORDBackward</td>
</tr>
<tr>
<td><strong>e</strong></td>
<td>motionToEndOfWord</td>
</tr>
<tr>
<td><strong>E</strong></td>
<td>motionToEndOfWORD</td>
</tr>
<tr>
<td><strong>ge</strong></td>
<td>motionToEndOfPrevWord</td>
</tr>
<tr>
<td><strong>gE</strong></td>
<td>motionToEndOfPrevWORD</td>
</tr>
<tr>
<td><strong>|</strong></td>
<td>motionToScreenColumn</td>
</tr>
<tr>
<td><strong>%</strong></td>
<td>motionToMatchingItem</td>
</tr>
<tr>
<td><strong>`</strong></td>
<td>motionToMark</td>
</tr>
<tr>
<td><strong>&#8216;</strong></td>
<td>motionToMarkLine</td>
</tr>
<tr>
<td><strong>[[</strong></td>
<td>motionToPreviousBraceBlockStart</td>
</tr>
<tr>
<td><strong>]]</strong></td>
<td>motionToNextBraceBlockStart</td>
</tr>
<tr>
<td><strong>[]</strong></td>
<td>motionToPreviousBraceBlockEnd</td>
</tr>
<tr>
<td><strong>][</strong></td>
<td>motionToNextBraceBlockEnd</td>
</tr>
</tbody>
</table>
<h3>Supported text objects</h3>
<table border="0">
<tbody>
<tr>
<td style="width: 100px;"><strong>iw</strong></td>
<td>textObjectInnerWord</td>
</tr>
<tr>
<td><strong>aw</strong></td>
<td>textObjectAWord</td>
</tr>
<tr>
<td><strong>i&#8221;</strong></td>
<td>textObjectInnerQuoteDouble</td>
</tr>
<tr>
<td><strong>a&#8221;</strong></td>
<td>textObjectAQuoteDouble</td>
</tr>
<tr>
<td><strong>i&#8217;</strong></td>
<td>textObjectInnerQuoteSingle</td>
</tr>
<tr>
<td><strong>a&#8217;</strong></td>
<td>textObjectAQuoteSingle</td>
</tr>
<tr>
<td><strong>i(</strong></td>
<td>textObjectInnerParen</td>
</tr>
<tr>
<td><strong>a(</strong></td>
<td>textObjectAParen</td>
</tr>
<tr>
<td><strong>i[</strong></td>
<td>textObjectInnerBracket</td>
</tr>
<tr>
<td><strong>a[</strong></td>
<td>textObjectABracket</td>
</tr>
</tbody>
</table>
<h3>Supported insert mode commands</h3>
<table border="0">
<tbody>
<tr>
<td style="width: 100px;"><strong>&lt;c-d&gt;</strong></td>
<td>commandUnindent</td>
</tr>
<tr>
<td><strong>&lt;c-t&gt;</strong></td>
<td>commandIndent</td>
</tr>
<tr>
<td><strong>&lt;c-e&gt;</strong></td>
<td>commandInsertFromBelow</td>
</tr>
<tr>
<td><strong>&lt;c-y&gt;</strong></td>
<td>commandInsertFromAbove</td>
</tr>
<tr>
<td><strong>&lt;c-w&gt;</strong></td>
<td>commandDeleteWord</td>
</tr>
<tr>
<td><strong>&lt;c-home&gt;</strong></td>
<td>commandToFirstCharacterInFile</td>
</tr>
</tbody>
</table>
<h3>The missing pieces</h3>
<p>The aim of Kate&#8217;s Vi input mode is—as I have said before—is not to replace vim&#8217;s functionality, but to have a editor kpart that is comfortable to use for us Vi(m)-heads. There are however some things I feel is still missing and would like to implement after KDE 4.2 (some of them mentioned above):</p>
<ul>
<li><strong>Proper command mode (&#8220;ex commands&#8221;) support</strong> (very few commands are supported as of now)</li>
<li><strong>Saving of registers and marks between editing sessions</strong></li>
<li><strong>&#8220;Replace mode&#8221;</strong> (shift+r in vim)</li>
<li><strong>Integrating the Vi input mode marks with Kate&#8217;s bookmarks system</strong></li>
<li><strong>Making it possible to use registers in ranges and add support for the the &#8216;&lt;&#8217; and &#8216;&gt;&#8217; registers</strong></li>
</ul>
<h3>Please test!</h3>
<p>I will be studying for my exams until 19 December so I won&#8217;t have much time for coding, but I would still like people to test the Vi Input Mode and report bugs so I have a better chance of fixing them before the end of January and the 4.2 release.</p>
 <p><a href="http://hamberg.no/erlend/?flattrss_redirect&amp;id=800&amp;md5=459d80069b3158d07c880765c6e7db5a" title="Flattr" target="_blank"><img src="http://hamberg.no/erlend/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://hamberg.no/erlend/2008/11/24/the-vi-input-mode-for-kate-is-done/feed/</wfw:commentRss>
		<slash:comments>68</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=ehamberg&amp;url=http%3A%2F%2Fhamberg.no%2Ferlend%2F2008%2F11%2F24%2Fthe-vi-input-mode-for-kate-is-done%2F&amp;language=en_GB&amp;category=text&amp;title=The+Vi+input+mode+for+Kate+is+%E2%80%9Cdone%E2%80%9D&amp;description=Please+see+http%3A%2F%2Fkate-editor.org%2Fkate-vi-mode%2F+for+an+updated+overview+of+the+Kate+VI+mode+project.+I+just+marked+the+Vi+input+mode+%28%26%238220%3BV.I.M.%26%238221%3B%3F+%29+for+the+Kate+kpart+as+done+in+the...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>GSoC is over: The state of Kate&#8217;s Vi input mode</title>
		<link>http://hamberg.no/erlend/2008/08/21/gsoc-is-done-the-state-of-kates-vi-input-mode/</link>
		<comments>http://hamberg.no/erlend/2008/08/21/gsoc-is-done-the-state-of-kates-vi-input-mode/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 17:24:35 +0000</pubDate>
		<dc:creator>Erlend</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[gsoc]]></category>
		<category><![CDATA[kate]]></category>
		<category><![CDATA[kde]]></category>

		<guid isPermaLink="false">http://hamberg.no/erlend/?p=660</guid>
		<description><![CDATA[The Google summer of code programme’s coding part officially ended this Monday. That won’t be the last you will hear from me, though. Kate&#8217;s vi input mode has turned out to be quite nice, and there are lots of improvements I want to do in the coming months. The biggest news are a visual mode +  [...]]]></description>
			<content:encoded><![CDATA[<p>The Google summer of code programme’s coding part officially ended this Monday. That won’t be the last you will hear from me, though. Kate&#8217;s vi input mode has turned out to be quite nice, and there are lots of improvements I want to do in the coming months. The biggest news are a visual mode + visual line wise mode. Visual mode is one of those things that really make vim stand out from all of the vi clones, and having support for it makes Kate&#8217;s vi input mode it much more usable for me.<span id="more-660"></span></p>
<p>There are also lots of new commands and support for setting and jumping to marks. These are not saved between sessions yet, though. Overall, it’s already quite usable, even if it still has its small quirks and bugs here and there. This will definitely better quite soon as I use it quite extensively myself, and fix bugs as I find them.</p>
<p>A really nice feature is that one can quickl<span style="color: #000000;">y toggle the vi input mode on an</span>d off by using the view menu or a short cut (default is ctrl+meta+v).</p>
<p>The big thing left to do is to enchance Kate&#8217;s built-in command line. I want to add support for the most command vi commands and make it support ranges, setting of options, etc. The current command line implementation isn’t really suited for this, so it probably needs to be modified quite a bit. Hopefully it will eventually be possible to send commands to the app hosting the katepart too. Asking it to quit, close a buffer, etc. Right now the only command supported is <strong>:w</strong>. <img src='http://hamberg.no/erlend/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>I am very satified with what I accomplished during GSoC. I had to change some of my plans underway, mostly due to actually using my work, and seeing which features I missed the most. GSoC was a nice start, but there are still lots of things I want to do. <img src='http://hamberg.no/erlend/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
 <p><a href="http://hamberg.no/erlend/?flattrss_redirect&amp;id=660&amp;md5=aec6d0bc686f11ecd5d77ff01463f046" title="Flattr" target="_blank"><img src="http://hamberg.no/erlend/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://hamberg.no/erlend/2008/08/21/gsoc-is-done-the-state-of-kates-vi-input-mode/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=ehamberg&amp;url=http%3A%2F%2Fhamberg.no%2Ferlend%2F2008%2F08%2F21%2Fgsoc-is-done-the-state-of-kates-vi-input-mode%2F&amp;language=en_GB&amp;category=text&amp;title=GSoC+is+over%3A+The+state+of+Kate%26%238217%3Bs+Vi+input+mode&amp;description=The+Google+summer+of+code+programme%E2%80%99s+coding+part+officially+ended+this+Monday.+That+won%E2%80%99t+be+the+last+you+will+hear+from+me%2C+though.+Kate%26%238217%3Bs+vi+input+mode+has+turned+out...&amp;tags=blog" type="text/html" />
	</item>
	</channel>
</rss>

