<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-17140105</id><updated>2011-11-28T05:26:58.006+05:30</updated><category term='debian'/><category term='linux'/><category term='cue'/><category term='iso'/><category term='fedora'/><category term='bin'/><category term='gentoo'/><title type='text'>GNU/Linux</title><subtitle type='html'>Live life linux way</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://debianrules.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-17140105.post-4840236494424781637</id><published>2007-05-11T08:08:00.000+05:30</published><updated>2007-05-11T08:17:47.055+05:30</updated><title type='text'>Enable backspace in firefox</title><content type='html'>With the release of Firefox 2.0.x , the backapce button has ceased to act as back button , instead the developers made it to be used as pageup.But no tensions, recently I cam across the following funda on a firefox forum,hope this helps you to reclaim back backspace button as a back button.&lt;br /&gt;&lt;br /&gt;Open your firefox browser and type the following code into the address bar:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(204, 0, 0);"&gt;&lt;blockquote&gt;about:config&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After that in the filter type:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(204, 0, 0);"&gt;&lt;blockquote&gt;browser.backspace_action&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and change it's value to "0" from "1".&lt;br /&gt;&lt;br /&gt;For the more curious ones please check out the following &lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=358764"&gt;link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For Seamonkey as well the same method would be applicable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-4840236494424781637?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/4840236494424781637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/4840236494424781637'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2007/05/enable-backspace-in-firefox.html' title='Enable backspace in firefox'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-5509687722037281214</id><published>2007-04-30T22:19:00.000+05:30</published><updated>2007-04-30T22:33:12.439+05:30</updated><title type='text'>Zenwalk</title><content type='html'>Debian is good, no not good its fantastic, but that's where the problem lies in . It's just too good and made my life too easy, one of the reasons why I despise Microsoft OSs so much.So for a change I decided to go out of the way and try out a brand new non-debian based Linux distro .Given my bad taste for any fedora based distro , I was left with the choice of going for either Arch or Gentoo, as both are considered fast.So i started doing a little bit of research on net to find which of the two was better to try out.Although I have used Gentoo previously , i never got the chance to use Arch.While googling for more info and through some sites like &lt;a href="http://www.distrowatch.com"&gt;Distrowatch&lt;/a&gt; , I cam across a new distro called &lt;a href="http://www.zenwalk.org"&gt;Zenwalk&lt;/a&gt; , a &lt;a href="http://www.slackware.org"&gt;Slackware&lt;/a&gt; based distro but a lot lot lot faster than the original Slack.Found quite a few interesting articles on net regarding it.Here I would like to mention a few of them.&lt;br /&gt;&lt;br /&gt;This is what Distrowatch had to say about Zenwalk:&lt;br /&gt;&lt;br /&gt;Zenwalk Linux (formerly Minislack) is a Slackware-based GNU/Linux operating system with a goal of being slim and fast by using only one application per task and with focus on graphical desktop and multimedia usage. Zenwalk features the latest Linux technology along with a complete programming environment and libraries to provide an ideal platform for application programmers. Zenwalk's modular approach also provides a simple way to convert Zenwalk Linux into a finely-tuned modern server (e.g. LAMP, messaging, file sharing).&lt;br /&gt;&lt;br /&gt;And this is what Zenwalk had to say about itself:&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Zenwalk is a GNU/Linux operating system, designed to provide the following characteristics : &lt;/p&gt; &lt;ul&gt;&lt;li&gt;Modern (latest stable software)&lt;/li&gt;&lt;li&gt;Fast (optimized for performance capabilities)&lt;/li&gt;&lt;li&gt;Rational (one mainstream application for each task)&lt;/li&gt;&lt;li&gt;Complete (full development/desktop/multimedia environment)&lt;/li&gt;&lt;li&gt;Evolutionary (simple network package management tool - netpkg)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Shall add more in coming time till then get zened :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-5509687722037281214?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/5509687722037281214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/5509687722037281214'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2007/04/zenwalk.html' title='Zenwalk'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-1238871729562495405</id><published>2007-03-20T21:56:00.000+05:30</published><updated>2007-03-20T22:22:16.278+05:30</updated><title type='text'>ADS and Linux applications</title><content type='html'>The following article is meant to help out people who want to run Linux applications behind a ADS system.&lt;br /&gt;&lt;br /&gt;WTF is ADS ?&lt;br /&gt;&lt;br /&gt;I don't have the patience to blabber about a propitiatory applications  like ADS  which belongs some  macrohard  company.But still for you rinfo you can have a look at the following link  http://en.wikipedia.org/wiki/Active_Directory .It basically is an alternative to kerberos which also a network authentication tool.&lt;br /&gt;&lt;br /&gt;What is the problem with using Linux &amp; ADS ?&lt;br /&gt;&lt;br /&gt;ADS being a propitiatory application does not allow a lot of applications in linux to get authenticated, like synaptic,opera,gaim,xmms,gaim,etc.&lt;br /&gt;&lt;br /&gt;How to overcome the problem ?&lt;br /&gt;&lt;br /&gt;An alternative is to install\run NTLM . Unpack and browse into the directory.There edit the server.cfg file as per your requirements.I'm putting up a sample , you can modify yours as per your requirements.&lt;br /&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;#========================================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;[GENERAL]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;LISTEN_PORT:5865 &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold; font-style: italic;"&gt;##Leave this as it is else add whatever port u want.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# If you want APS to authenticate you at WWW servers using NTLM then just leave this&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# value blank like PARENT_PROXY: and APS will connect to web servers directly.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# You can specify more than one proxy by leaving a space between each one, and&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# APS will detect when one fails and automatically fail-over to the next. EG:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;#PARENT_PROXY:first_proxy second_proxy third_proxy&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# And NOTE that NTLM cannot pass through another proxy server.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;PARENT_PROXY:proxyserver.com &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold; font-style: italic;"&gt;##This is where you specify the proxy server&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;PARENT_PROXY_PORT:3128 &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold; font-style: italic;"&gt;##Specify the proxy port&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# APS will poll the upstream proxy and attempt to fail-over to a new one if it doesn't&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# get a response within an appropriate time frame.  The amount of time that it will&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# wait for a response before attempting fail-over is specified, in seconds, below:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;PARENT_PROXY_TIMEOUT:15&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# Set to 1 if you want to grant this authorization service to clients from other computers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# NOTE: all the users from other hosts that will be using you copy of APS for authentication&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# will be using your credentials in NTLM auth at the remote host.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;ALLOW_EXTERNAL_CLIENTS:0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# If you want to allow some other but not all computers to use your proxy for authorization,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# just set ALLOW_EXTERNAL_CLIENTS:0 and put friendly IP addresses here.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# Use space as a delimiter.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# NOTE that special addesses don't work here (192.168.3.0 for example).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;FRIENDLY_IPS:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# Requested URLs are written to "url.log" file. May be useful.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;URL_LOG:0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# When a network service listens for connections, there is a maximum number of connection&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# attempts to that service that the underlying OS will allow to backlog waiting for a response&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# before the OS will start dropping new connection attempts with 'Connection refused'.  The&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# standard method of determining the maximum number of backlogged connections is to use the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# SOMAXCONN constant, which is supposed to represent the maximum number that an OS will support&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# (for example, 5 on Windows 2000 Pro, and 200 on Windows 2000 server).  However, because this&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# is a statically compiled value in a Python distribution, usually this instead represents the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# the most conservative value (5 on all Windows platforms, and 128 on the GNU/Linux variant I&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# tried).  So if you are running (for example) a massively threaded/parallel download manager,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# the default value of, say, 5, or whatever SOMAXCONN happens to be set to, may be too low and&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# cause some connections to fail.  The value below can be set to any integer (it seems that&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# Python just silently caps values above the hard limit for the underlying platform), or it can&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# be set to the special value of SOMAXCONN (i.e. MAX_CONNECTION_BACKLOG:SOMAXCONN), to use&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# whatever this value happens to be set to in your Python build.  Setting this higher than&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# necessary may cause APS to consume more memory than you needed to.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;MAX_CONNECTION_BACKLOG:5&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;#========================================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;[CLIENT_HEADER]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# This section describes what and how the server should change in the clients headers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# Made in order to prevent parent proxy from seeing that you are using wget instead of IE5.5&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, text/html, application/xml,application/xhtml+xml,text/html;q= 0.9,text/plain;q=0.8,image/png,*/*; q=0.5&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT5)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Accept-Encoding: gzip, deflate&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Keep-Alive: 300&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Proxy-Connection: keep-alive &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold; font-style: italic;"&gt;##Few lines are missing from the default one in order to make apt or synaptic work you need to add the xml phrase also&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# You can uncomment these chages in client's header to mimic IE5+ better, but in this case&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# you may expirience problems with *.html if your client does not really handle compression.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;#Accept-Encoding: gzip, deflate&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;#========================================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;[NTLM_AUTH]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# Optional value, if leaved blank then APS will use gethostname() to determine&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# host's name.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# NOTE1: If you Linux host name differs from Windows host name then it may be that&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;#        MS server wont recognize you host at all and wont grant you access&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;#        to resources requested. Then you have to use this option and APS will use&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;#        this name in NTLM negotiations.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# NOTE2: There are several reports that you can successfully use "foreign" host name&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;#        here. Say, if user may access a resource from 'host1' and may not from 'host2'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;#        then there is a chance that APS running on 'host2' with NT_HOSTNAME:host1 will&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;#        be able to be granted access to the restricted resource. However use this on&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;#        you own risk as such a trick may be considered as a hack or something.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;NT_HOSTNAME:abracadabra &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold; font-style: italic;"&gt;##Put your linux comps hostname here&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# Windows Domain.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# NOTE: it is not full qualified internet domain, but windows network domain.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;NT_DOMAIN:domain.com &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold; font-style: italic;"&gt;##Put the domain name here eg. people in IIT-M campus can use iitm.ac.in as domain name else you can leave it blank&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# What user's name to use during authorization. It may differ form real current username.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# If you enable NTLM_TO_BASIC, below, you can either leave this blank or simply&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# hash it out.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;USER:username &lt;span style="color: rgb(255, 0, 0);"&gt;## Your ADS username&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# Password. Just leave it blank here and server will request it at the start time,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# or, if you enable NTLM_TO_BASIC, below, you can either leave this blank or simply&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# hash it out, and you *won't* be prompted for a password at start time.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;PASSWORD:passwd &lt;span style="color: rgb(255, 0, 0);"&gt;## Your ADS password&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# These two options replace old FULL_NTLM option.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# NTLM authentication consists virtually of two parts: LM and NT. Windows95/98 use&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# only LM part, WindowsNT/2000 can use NT and LM or just NT part.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# Almost always using just LM part will be enough. I had several reports&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# about LM and NT requirement and no about just NT.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# So try to setup 1, 1 only if you have enough reasons to do so and when you understand&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# what you are doing.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# 0, 0 is an illegal combination&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# NOTE: if you change these options then you have to setup flag option accordingly.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;LM_PART:1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;NT_PART:0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# Highly experimental option. See research.txt for details.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# LM - 06820000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# NT - 05820000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# LM + NT - 07820000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;NTLM_FLAGS: 06820000&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# This option makes APS try to translate NTLM authentication to very usual "Basic"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# scheme. Almost all http clients know it. With this option set to 1 user will be requested&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# by his browser to enter his credentials and these username and password will be used by&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# APS for NTLM authentication at MS Proxy server or Web server.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# In such a case different users can use one runnig APS with their own credentials.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# NOTE1: currently translation works so it allows only one try for entering&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;#        username/password. If you make a mistake you will have to restart you browser.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# NOTE2: With debug:1 basic username/password will be written in log file in clear&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;#        text format. I could try hide it, but the basic scheme is so weak that anybody&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;#        who had access to APS would be able to get it.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;NTLM_TO_BASIC:0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;#========================================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;[DEBUG]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# Set this to 1 if you want to see debug info in many log files. One per connection.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;DEBUG:0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# Set this to 1 to get even more debug info.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;BIN_DEBUG:0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# Set this to 1 to see some strange activity on screen. Actually you won't want it.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;SCR_DEBUG:0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# Not actually a debug option but gives you some details on authentication process&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# into *.auth logs. Also see research.txt.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;AUTH_DEBUG:0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Once You are done with the configuration all you need to do is type&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;blockquote&gt;python path/to/main.py &lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After that you can use localhost as the proxy server and 5865 as your port for the various linux applications.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-1238871729562495405?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/1238871729562495405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/1238871729562495405'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2007/03/ads-and-linux-applications.html' title='ADS and Linux applications'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-6417985077498160641</id><published>2007-01-16T00:37:00.000+05:30</published><updated>2007-01-16T00:58:43.166+05:30</updated><title type='text'>Customized Kernel in Debian</title><content type='html'>&lt;span style="font-family: verdana;"&gt;This blog is intended to work as a guide for people who want to set up their own customized and flavored kernel without losing the debian touch a.k.a the dpkg method.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-weight: bold;"&gt;What do I need for it ?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Well first things first ! Of course you need a kernel source for it , go to &lt;/span&gt;&lt;a style="font-family: verdana;" href="http://www.kernel.org"&gt;www.kernel.org&lt;/a&gt;&lt;span style="font-family: verdana;"&gt; and get the latest one.You would also need to install &lt;/span&gt;&lt;span style="color: rgb(204, 0, 0); font-family: verdana;"&gt;fakeroot&lt;/span&gt;&lt;span style="font-family: verdana;"&gt; &amp; &lt;/span&gt;&lt;span style="color: rgb(204, 0, 0); font-family: verdana;"&gt;kernel-package&lt;/span&gt;&lt;span style="font-family: verdana;"&gt; on your system.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-weight: bold;"&gt;Steps to follow&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style="font-family: verdana;"&gt;&lt;li&gt;Install the kernel-package and fakeroot.&lt;/li&gt;&lt;li&gt;Get the Linux kernel tarball from some where.&lt;/li&gt;&lt;li&gt;Uncompress the tarball to a place of your choice.&lt;/li&gt;&lt;li&gt;cd into the kernel source directory.&lt;/li&gt;&lt;li&gt;Configure your kernel.Now do not expect me to dish out the details of kernel configuration in this blog as it in itself is a big topic and needs separate attention.I prefer to use&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(255, 0, 0);"&gt;&lt;blockquote&gt;make menuconfig&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style="font-family: verdana;"&gt;&lt;li&gt;Once you are done with configuring the kernel execute the following command in order to create your own .deb package&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(255, 0, 0);"&gt;&lt;blockquote&gt;fakeroot make-kpkg kernel_image&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul style="font-family: verdana;"&gt;&lt;li&gt;You will have a kernel deb in the parent directory of your kernel source now (e.g. /usr/src). Install it using dpkg&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(204, 0, 0);"&gt;&lt;blockquote&gt;dpkg -i file.deb&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;If you use grub here is what you need to do to get your menu.lst automatically updated.&lt;/span&gt; &lt;p style="font-family: verdana;"&gt; Create a file /etc/kernel-img.conf and add the following lines: &lt;/p&gt;&lt;br /&gt;&lt;pre style="font-family: verdana;"&gt;&lt;span style="font-style: italic; color: rgb(204, 0, 0);"&gt;&lt;blockquote&gt;postinst_hook = /sbin/update-grub postrm_hook = /sbin/update-grub do_bootloader = no&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; This will ensure update-grub is ran upon installation of any kernel packages, self-created or Debian-created.  &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-family: verdana;"&gt;&lt;/blockquote&gt;&lt;blockquote style="font-family: verdana;"&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-6417985077498160641?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/6417985077498160641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/6417985077498160641'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2007/01/customized-kernel-in-debian.html' title='Customized Kernel in Debian'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-4617158600405741046</id><published>2006-12-01T13:37:00.000+05:30</published><updated>2006-12-01T13:42:59.451+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='cue'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bin'/><category scheme='http://www.blogger.com/atom/ns#' term='iso'/><title type='text'>Convert .cue/.bin to .iso format</title><content type='html'>&lt;span style="font-family: verdana;"&gt;Ok now i will explain how to convert a bin/cue file into an iso image.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;install bchunk&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: times new roman; color: rgb(0, 0, 153); font-style: italic;"&gt;&lt;blockquote&gt;apt-get install bchunk&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;SO now to convert xxx.bin and xxx.cue to xxx.iso file type&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: times new roman; font-style: italic; color: rgb(0, 0, 153);"&gt;&lt;blockquote&gt;bchunk xxx.bin xxx.cue xxx.iso&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Then to mount the .iso image type the following commnad&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;code style="font-family: verdana;"&gt;&lt;span style="font-style: italic; font-family: times new roman; color: rgb(0, 0, 153);"&gt;&lt;blockquote&gt;mount -o loop -t iso9660 image.iso /mnt/image&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-4617158600405741046?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/4617158600405741046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/4617158600405741046'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2006/12/convert-cuebin-to-iso-format.html' title='Convert .cue/.bin to .iso format'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-3412598905609197889</id><published>2006-12-01T13:11:00.000+05:30</published><updated>2006-12-01T13:27:05.997+05:30</updated><title type='text'>Cedega</title><content type='html'>&lt;span style="font-family: verdana;"&gt;This is what Transgamin Corporation has to say about its product&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;&lt;span class="pn-content-page-body"&gt;&lt;a href="http://www.transgaming.com/index.php?module=ContentExpress&amp;file=index&amp;amp;func=display&amp;ceid=29"&gt;Cedega&lt;/a&gt; , TransGaming's flagship Linux portability product, allows Windows games to run on Linux seamlessly and transparently, right out of the box. With Cedega installed on your computer running Linux, you can simply insert your favorite Windows game CD, install and then play that game just as you would on a Windows system.&lt;br /&gt;&lt;br /&gt;While installing cedega on my debian machine i git the following error&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-style: italic;"&gt;cedega depends on &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: verdana;" class="postbody"&gt;&lt;span style="color: rgb(255, 0, 0); font-style: italic;"&gt;xlibs &gt; 4.1.0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-style: italic;"&gt;But xlibs is not installed&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;the problem with xlib files was that they would have conflicted with my other xorg files.In order to avoid it, i googled and came up with the following solution:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote style="color: rgb(0, 0, 153); font-family: verdana;"&gt;cd /directory-where-is-cedega.deb/&lt;br /&gt;mkdir cedega &lt;br /&gt;dpkg-deb --extract XXX.deb cedega &lt;br /&gt;dpkg-deb --control XXX.deb cedega/DEBIAN &lt;br /&gt;vim cedega/DEBIAN/control&lt;/blockquote&gt;  &lt;span style="font-family: verdana;" class="postbody"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;" class="postbody"&gt;&lt;br /&gt;Remove the Xlib part from the depends list. Save it and exit. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote style="color: rgb(0, 0, 153); font-family: verdana;"&gt;dpkg --build cedega &lt;br /&gt;sudo dpkg -i cedega.deb&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Thats is done, now go and play whatever game you want :)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Please not unlike other Linux goodies Cedega is not free ware , unluckily one needs to purchase it :(&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;" class="postbody"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: verdana;"&gt;&lt;span class="pn-content-page-body"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-3412598905609197889?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/3412598905609197889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/3412598905609197889'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2006/12/cedega.html' title='Cedega'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-369103307459193902</id><published>2006-12-01T11:44:00.000+05:30</published><updated>2006-12-01T13:10:02.996+05:30</updated><title type='text'>SYNAPTIC</title><content type='html'>&lt;span style="font-family:verdana;"&gt;As already mentioned in my previous blog, one can use apt-get command to do wonders, but for the lesser mortals, who want to use a GUI in order to install a package in Debian based distros we have something called &lt;/span&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;SYNAPTIC&lt;/span&gt;&lt;span style="font-family:verdana;"&gt; .Synaptic can be viewed as the GUI version of apt-get , has an easy to understand format as well as the powers of apt-get . To run synaptic&lt;/span&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt; &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;one must be root&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;blockquote style="color: rgb(51, 51, 255); font-style: italic; font-family: georgia;"&gt;&lt;span style="font-size:100%;"&gt;su&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;synaptic &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Once you have opened synaptic, it will refresh its file list from the repositories you have listed.Well i guess its Greek and Latin to you right now, let me tell you in a more simplified manner.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:verdana;" &gt;Damn wtf is a repository ?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="font-family: verdana;"&gt;We can define a repository as a server which acts as a database, containing all the .deb packages needed to install anything in Debian.You can think of it as a source of the .deb files you need.instead of searching all over the net the Debian guys thought it would be much cooler if they could place all the packages at the same place so they came up with the idea of repositories.There are many repositories all over the world which maintain numerous Debian packages.All you need to do is open synaptic and add these repositories in the list.&lt;/p&gt;&lt;p style="font-family: verdana;"&gt;To change or add repositories click on settings and then select repositories from that.A new window will open up, where you can add the repositories you like.&lt;/p&gt;&lt;br /&gt;&lt;p style="font-family: verdana;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger2/2441/2092/1600/420569/repo1.png"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/x/blogger2/2441/2092/400/973041/repo1.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="font-family: verdana;"&gt;&lt;span style="font-style: italic;"&gt;Ok now how do i get the repository address ?&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="font-family: verdana;"&gt;Well thats not a big thing , just hop on to web and Google for them , else just go on to &lt;a href="http://www.apt-get.org/"&gt;www.apt-get.org&lt;/a&gt; and search for the packages you need, and whoa you have a full list of repos with the packages you need :)&lt;/p&gt;&lt;p style="font-family: verdana; font-style: italic;"&gt;OK how do I install now ?&lt;/p&gt;&lt;p style="font-family: verdana;"&gt;Since you have already added the repos, and hopefully have configured your web settings for synaptic its installation time.But before we go ahead , just click on the reload button on top left to refresh the file list from the repos.Now you are ready for the force.Well everything is in front of you.Let me demonstrate the usage through an example.&lt;/p&gt;&lt;p style="font-family: verdana;"&gt;I want to install xmms player.So i click cltr+f, type in xmms and thats it, i end up with the list of the files with the word xmms in them.&lt;/p&gt;&lt;br /&gt;&lt;p style="font-family: verdana;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger2/2441/2092/1600/287859/search.png"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/x/blogger2/2441/2092/400/432153/search.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="font-family: verdana;"&gt;Now all you need to do is right click on the packages you want to install and select the install package option.All the dependencies would be automatically installed , you need not worry about them :-) Once you have marked the required packages just click on apply, whoa thats it done, you have installed xmms on your system.&lt;/p&gt;&lt;p style="font-family: verdana;"&gt;I hope that clears all your doubts regarding usage of synaptic.&lt;/p&gt;&lt;br /&gt;&lt;p style="font-family: verdana;"&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger2/2441/2092/1600/193036/select.png"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/x/blogger2/2441/2092/400/437860/select.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="font-family: verdana;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="font-family: verdana;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger2/2441/2092/1600/878556/Screenshot.png"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/x/blogger2/2441/2092/400/48876/Screenshot.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-369103307459193902?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/369103307459193902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/369103307459193902'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2006/12/synaptic.html' title='SYNAPTIC'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-1234620847724384549</id><published>2006-10-10T16:36:00.000+05:30</published><updated>2006-10-10T17:05:40.057+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='fedora'/><title type='text'>Package installation in Linux</title><content type='html'>Well this article is meant for novices in Linux .....&lt;br /&gt;For the starters most of the linux distros are classified based on the  package manager they use.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;RPM&lt;/span&gt;&lt;br /&gt;RPM of Red Hat Packagemanager is the package-manger for Red Hat, Fedora,Mandriva/Mandrake,Centos,Suse etc.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;DPKG&lt;/span&gt;&lt;br /&gt;DPKG or Debian package manager is the ladder for Debian,Ubuntu,Kubuntu,Dam Small Linux, Knoppix, E-Live etc.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Portage&lt;/span&gt;&lt;br /&gt;Well actually we can't define it as a package manger, its based on BSD's port system and is used by my favourite Gentoo :-)) ....Slackware is also of the same kind in terms that it compiles from source like gentoo but it dosen't use portage(well i have no idea wat is the package manger for slackware :O )....&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;OK WTF r all these ?&lt;/span&gt;&lt;br /&gt;In the beginning there was the .tar.gz.  Users had to compile each program that they wanted to use on their GNU/Linux systems(well gentoo n slackware users still do it) ..When Debian/Red Hat were created, it was deemed necessary that the system include a method of managing the packages installed on the machine.  The name &lt;code&gt;dpkg&lt;/code&gt; /rpm were given to the system. I'm not sure wheteher rpm came first or dpkg ..well its upto u to decide.&lt;br /&gt;These packages can be deemed as prepackaged binary stuff for a defined system ..for instance for an i3b6 system the rpm package will be different from that for an amd64 system.because they are filled with pre-defined data for a particular system, unlike the tar.gz package s which are the source codes , and hence can be compiled on any system .. :)(yohooo gentoo wins  here hands down)...but the problem with the source packages like tar.gz is that they take a lot of time to compile and install ...and above that manging different versions is a pain in arse ..hence the package managers became very famous ....as the rpm/deb packages are easy to handle and install compared to their lethargic source code bros ....&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ok how do I install an rpm package&lt;/span&gt;&lt;br /&gt;Download the rpm package u want to install, for instance if you want to install firefox just search for firefox1.5.i386.rpm package(considering that urs is an i386 machine) .... type the following command in terminal&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:130%;" &gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;&lt;blockquote&gt;rpm -i firefox1.5.i386.rpm&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;That's it , pardon me if there's any mistake since it has been ages since i worked on a red hat system ...&lt;br /&gt;i forgot to mention one can use an interface called yum if u don't wan't to manually download stuff from net ...unluckily i have never used it so i can't advice u on that ....&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Wat the fkcu to do with dpkg&lt;/span&gt;&lt;br /&gt;Well Debian users have a host of options to select from .Debian based user's should download a package with .deb extension just same as red hat users use.rpm package.Once u download the required .deb package type the following command in terminal&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(51, 102, 255);"&gt;&lt;blockquote&gt;dpkg -i *.deb&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;Well that's for active guys who wanna give some pain to their fingers by browsing net for packages.For lazy bumps and intellectually superior guys like me i would suggest using apt-get.&lt;br /&gt;&lt;br /&gt;more on apt on next blog ...... :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-1234620847724384549?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/1234620847724384549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/1234620847724384549'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2006/10/package-installation-in-linux.html' title='Package installation in Linux'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-115665661573441218</id><published>2006-08-27T10:52:00.000+05:30</published><updated>2006-09-01T10:45:10.613+05:30</updated><title type='text'>pam-login (is blocking sys-apps/shadow-4.0.15-r2)</title><content type='html'>&lt;p style="font-family: verdana;"&gt;&lt;span style="font-size:130%;"&gt;After doing an “emerge –puD world” on my Gentoo box, the following error appeared and wouldn’t let me update my system: &lt;em&gt;“&lt;span style="font-weight: bold; color: rgb(51, 102, 255);"&gt;sys-apps/pam-login (is blocking sys-apps/shadow-4.0.14-r2)&lt;/span&gt;”&lt;/em&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;"&gt;&lt;span style="font-size:130%;"&gt;So I searched the internet and tried a few things and found this solution, that seemed to help a lot of people:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: verdana; font-weight: bold; color: rgb(0, 102, 0);"&gt;&lt;span style="font-size:130%;"&gt;&lt;em&gt;&lt;blockquote&gt;emerge –buildpkgonly –nodeps shadow &amp;&amp;amp; emerge -C pam-login &amp;&amp;amp; emerge –usepkgonly shadow&lt;/blockquote&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;"&gt;&lt;span style="font-size:130%;"&gt;After executing the above, my system was ready to go again. Hope this one helps a few people.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: verdana;"&gt;&lt;span style="font-size:130%;"&gt;For more info on the above topic do check out the gentoo forums.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-115665661573441218?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/115665661573441218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/115665661573441218'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2006/08/pam-login-is-blocking-sys-appsshadow.html' title='pam-login (is blocking sys-apps/shadow-4.0.15-r2)'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-115641035149562863</id><published>2006-08-24T14:24:00.000+05:30</published><updated>2006-08-24T14:35:52.393+05:30</updated><title type='text'>CPU Naming schemes</title><content type='html'>Generally people always have a confusion regarding the nomenclature of CPU architectures , hence here I have tried to clear sum of those doubts her in this blog.&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight: bold;"&gt;X86&lt;/span&gt; processors started with the Intel 8086 processor way back in 1978.  Intel released the &lt;span style="font-weight: bold;"&gt;Intel 386 (i386)&lt;/span&gt; in 1980. That was then followed by he &lt;span style="font-weight: bold;"&gt;486 (i486&lt;/span&gt;), the Pentium (i586), and the &lt;span style="font-weight: bold;"&gt;Pentium Pro/2/3/4 (i686)&lt;/span&gt;. At the same time, rival AMD released their &lt;span style="font-weight: bold;"&gt;Athlon/Duron/T-bird (also i686)&lt;/span&gt;. So irrespective of the fact whether you have a P4 machine or an AMD athlon they have the same architecture as i686.&lt;br /&gt;&lt;br /&gt;The Pentium &lt;span style="font-weight: bold;"&gt;Celeron is also an X86 &lt;/span&gt;processor. The difference between a &lt;span style="font-weight: bold;"&gt;Pentium/Celeron&lt;/span&gt; and an &lt;span style="font-weight: bold;"&gt;Athlon/Duron or Athlon/Sempron&lt;/span&gt; is that Pentium and Athlon are the top-performing, more expensive models whereas the Celeron/Duron/Sempron are cheaper, less powerful chips. &lt;span style="font-style: italic;"&gt;They are not a different architecture however.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Since all these processors were based on the same architecture (basically they read/wrote 1's and 0's in the same way), and their names all contained "86", the whole family was collectively called "X86". &lt;span style="font-style: italic;"&gt;All the X86 processors including and after the 386 are 32-bit&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;The recent trend has been to move toward 64-bit processors, and several different architectures popped up. DEC's Alpha and Motorola's PPC chips have been 64-bit for a while, but Intel's Itanium and Xeon and AMD's Athlon64 are the new kids on the block.&lt;br /&gt;&lt;br /&gt;The difference between the Itanium (IA64) and PowerPC (PPC) versus the Athlon64 is that the Itanium and PPC have completely different architectures (they speak different 1 and 0 languages), whereas the Athlon64 speaks the same language as the 32-bit X86 processors, but adds 64-bit memory registers. Therefore the name of the Athlon64 in generic terms is "X86_64".&lt;br /&gt;&lt;br /&gt;Intel, not to be outdone, has since redesigned its 64-bit Xeon processors to use the same kind of architecture as the Athlon64, calling it "Intel Extended Memory 64 Technology" (EM64T). Basically they couldn't say they copied AMD without being laughed at in irony (since AMD got its start by simply copying Intel's chips). &lt;span style="font-weight: bold;"&gt;Both the AMD64 and the Intel EM64T processors are collectively called "X86_64"&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Hope this clears the confusion for most of you . in case you stll lingering with the thoughts of  what the hell went on ...then dude just chill out have a coffeee and dump your computer in sea.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-115641035149562863?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/115641035149562863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/115641035149562863'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2006/08/cpu-naming-schemes.html' title='CPU Naming schemes'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-115566690199590438</id><published>2006-08-15T23:56:00.000+05:30</published><updated>2006-08-16T00:05:03.116+05:30</updated><title type='text'>Debian 4.0</title><content type='html'>Great news for all Debian lovers, the Debian project confirms December 2006 as the date for the next release of its distribution which will be named &lt;blockquote&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 153, 0);"&gt;Debian GNU/Linux 4.0 alias 'etch'&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 153, 0);"&gt;&lt;/span&gt;. This will be the first official release to include the AMD64 architecture. The distribution will be released synchronously for 11 architectures in total.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;At this stage, the upcoming release will ship with Linux 2.6.17 as its default kernel. This kernel will be used across all architectures and on the installer. A later version may be selected during a review in October.&lt;/p&gt;  &lt;p&gt;New features of this release include the GNU Compiler Collection 4.1 as default compiler. X.Org will replace XFree86 as implementation of the X Window System X11. Secure &lt;a href="http://wiki.debian.org/SecureApt"&gt;APT&lt;/a&gt; will add extra security by easily supporting strong cryptography and digital signatures to validate downloaded packages.&lt;/p&gt;  &lt;h2&gt;&lt;br /&gt;&lt;/h2&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-115566690199590438?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/115566690199590438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/115566690199590438'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2006/08/debian-40.html' title='Debian 4.0'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-114899979971285929</id><published>2006-05-30T20:04:00.000+05:30</published><updated>2006-05-30T20:06:39.966+05:30</updated><title type='text'>Shifted 2 Gentoo</title><content type='html'>Dear friends , I have installed &lt;a href="http://www.gentoo.org"&gt;&lt;span style="font-style: italic; font-weight: bold; color: rgb(51, 102, 255);"&gt;Gentoo&lt;/span&gt;&lt;/a&gt; on my system in place of &lt;a style="font-style: italic; color: rgb(255, 102, 102);" href="http://www.debian.org"&gt;Debian&lt;/a&gt; and from now on it would be all about gentoo in my blogs unless until I change it again .......... :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-114899979971285929?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/114899979971285929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/114899979971285929'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2006/05/shifted-2-gentoo.html' title='Shifted 2 Gentoo'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-114801798789613942</id><published>2006-05-19T11:19:00.000+05:30</published><updated>2006-05-19T11:23:08.216+05:30</updated><title type='text'>Check ur Linux MAC address</title><content type='html'>On Linux, you can use the ioctl &lt;span style="color:#840000;"&gt;SIOCGIFHWADDR&lt;/span&gt;, an open socket and an &lt;span style="color:#840000;"&gt;ifreq&lt;/span&gt; structure to retrieve information on any network interface. The MAC address is stored on the &lt;span style="color:#840000;"&gt;ifr_hwaddr&lt;/span&gt; member of the &lt;span style="color:#840000;"&gt;ifreq&lt;/span&gt; structure:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#840000;"&gt;&lt;br /&gt;#include &lt;sys/types.h&gt;&lt;br /&gt;#include &lt;sys/socket.h&gt;&lt;br /&gt;#include &lt;sys/ioctl.h&gt;&lt;br /&gt;#include &lt;arpa/inet.h&gt;&lt;br /&gt;#include &lt;net/if.h&gt;&lt;br /&gt;#include &lt;string.h&gt;&lt;br /&gt;&lt;br /&gt;int main(int argc,char** argv)&lt;br /&gt;{&lt;br /&gt;int fd;&lt;br /&gt;struct ifreq ifbuf;&lt;br /&gt;struct sockaddr_in sa;&lt;br /&gt;unsigned char* hwaddr;&lt;br /&gt;&lt;br /&gt;fd = socket(AF_INET, SOCK_DGRAM, 0);&lt;br /&gt;&lt;br /&gt;strcpy(ifbuf.ifr_name,argv[1]?argv[1]:"eth0");&lt;br /&gt;ioctl(fd,SIOCGIFHWADDR,&amp;ifbuf);&lt;br /&gt;&lt;br /&gt;hwaddr = (unsigned char*) ifbuf.ifr_hwaddr.sa_data;&lt;br /&gt;&lt;br /&gt;printf("%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X\n",hwaddr[0],hwaddr[1],hwaddr[2],hwaddr[3],hwaddr[4],hwaddr[5]);&lt;br /&gt;&lt;br /&gt;return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;soumya@abracadabra:~/codes/cpp$ gcc -o sucket_out sucket.c&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(51, 102, 255);"&gt;soumya@abracadabra:~/codes/cpp$ ./sucket_out&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(51, 102, 255);"&gt;00:0E:A6:64:2D:39&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-114801798789613942?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/114801798789613942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/114801798789613942'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2006/05/check-ur-linux-mac-address.html' title='Check ur Linux MAC address'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-114771810964018491</id><published>2006-05-16T00:04:00.000+05:30</published><updated>2006-05-16T00:05:10.013+05:30</updated><title type='text'>Colourful GREP</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3034/1022/1600/Screenshot.1.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/3034/1022/400/Screenshot.0.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This is how GNU defines GREP&lt;br /&gt;" The &lt;tt&gt;grep&lt;/tt&gt; command searches one or more input files for lines containing a match to a specified pattern. By default, &lt;tt&gt;grep&lt;/tt&gt; prints the matching lines. "&lt;br /&gt;&lt;br /&gt;&lt;p&gt; grep basically searches. To be more precise, &lt;/p&gt; &lt;blockquote&gt; &lt;code&gt;grep bacteria food&lt;/code&gt;  returns all the lines that &lt;em&gt;contain&lt;/em&gt; a string matching the expression "bacteria" in the file "food".  &lt;/blockquote&gt; If we assume an expression as a string. So &lt;em&gt;grep&lt;/em&gt; returns all matching lines that contain bacteria as a substring.   &lt;p&gt; Another way of using &lt;em&gt;grep&lt;/em&gt; is to have it accept data through &lt;code&gt;STDIN&lt;/code&gt;. instead of having it search a file. For example, &lt;/p&gt; &lt;blockquote&gt; &lt;code&gt; ls |grep vindo &lt;/code&gt;   lists all files in the current directory whose names contain the string "vindo"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;   &lt;a name="compatibility"&gt; &lt;/a&gt; &lt;h2&gt;&lt;a name="compatibility"&gt;&lt;/a&gt;&lt;/h2&gt; Now I guess you know how grep works.In case you are still in doubt about GREP please ask Mr.Google. My main objective of writing this blog is to introduce the normal unix users to the colourful version of grep.So when u search for the term it will become automatically highlighted. Just check out the sreenshot on top.&lt;br /&gt;&lt;br /&gt;How can I do it ?&lt;br /&gt;&lt;br /&gt;Well one just needs to edit his/her .bashrc file and put up an alias for grep.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-style: italic;"&gt;alias &lt;/span&gt;&lt;span style="font-style: italic;"&gt;G&lt;/span&gt;&lt;span style="font-style: italic;"&gt;=' grep -ni --color=auto '&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;That's it done .Your colourfull grep is ready for use :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-114771810964018491?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/114771810964018491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/114771810964018491'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2006/05/colourful-grep.html' title='Colourful GREP'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-114751915637320172</id><published>2006-05-13T16:46:00.000+05:30</published><updated>2006-05-13T16:49:19.426+05:30</updated><title type='text'>Who copied whom</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3034/1022/1600/Screenshot.0.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/3034/1022/400/Screenshot.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3034/1022/1600/Yahoo.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/3034/1022/400/Yahoo.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Take a look at new Yahoo Mail beta version and  at the some other application called Zimbra. Who copied whom ??&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-114751915637320172?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/114751915637320172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/114751915637320172'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2006/05/who-copied-whom.html' title='Who copied whom'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-114717403129723843</id><published>2006-05-09T16:42:00.000+05:30</published><updated>2006-05-09T16:57:11.506+05:30</updated><title type='text'>Distcc and increasing compiling speed</title><content type='html'>Distcc allows you to easily distribute your compilation jobs over a number of machines, so even if u have an outdated system still u can compile huge codes pretty fast if u have hooked up ur system with some other using distcc.&lt;br /&gt;&lt;br /&gt;The requirments are minimal: &lt;ul style="font-style: italic; color: rgb(0, 0, 153);"&gt; &lt;li&gt;Install GCC and distcc on all the machines you wish to use for the "compile farm".&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;As you can see there are no onerous requirements, common with distributed work.  Specifically:&lt;/p&gt;  &lt;ul style="font-style: italic; color: rgb(0, 0, 153);"&gt; &lt;li&gt;You don't need to have the same libraries and development packages on all systems.&lt;/li&gt;&lt;li&gt;You don't need to have a single filesystem which all machines can access.&lt;/li&gt;&lt;li&gt;The clocks on all the machines don't need to be in sync.&lt;/li&gt; &lt;/ul&gt; Use apt-get 2 install distcc:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 153, 0);"&gt;apt-get install distcc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;When the package is installed you'll be asked two questions :&lt;/p&gt;  &lt;ul&gt; &lt;li&gt;&lt;span style="color: rgb(255, 0, 0); font-style: italic;"&gt;Should distcc be started on boot?&lt;/span&gt; &lt;ul style="color: rgb(0, 0, 153); font-style: italic;"&gt;&lt;li&gt;Answer yes if think you will wish to use the package often, or no if not.  (No is the default)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="font-style: italic; color: rgb(255, 0, 0);"&gt;Which machines should be allowed to connect to the distcc server?&lt;/li&gt;&lt;ul style="font-style: italic; color: rgb(0, 0, 153);"&gt;&lt;li&gt;Asnwer with the machines you wish to allow, and the localhost&lt;/li&gt;&lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;The answers you give will be stored away in the configuration file &lt;tt&gt;/etc/default/distcc&lt;/tt&gt;. &lt;/p&gt; &lt;p&gt;Install the package on all the other machines you wish to use  and make sure that each one is allowed to connect to the other.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;There are several ways you can specify the hosts which should be used to perform the compilation:&lt;/p&gt;  &lt;ul style="color: rgb(0, 0, 153); font-style: italic;"&gt; &lt;li&gt;Via the environmental variable "&lt;tt&gt;DISTCC_HOSTS&lt;/tt&gt;"&lt;/li&gt;&lt;li&gt;Via the a per-user configuration file &lt;tt&gt;~/.distcc/hosts&lt;/tt&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Assuming that you have two machines &lt;tt&gt;appy&lt;/tt&gt; and &lt;tt&gt;abracadabra&lt;/tt&gt; and wish to compile a job you could run using &lt;tt&gt;distcc&lt;/tt&gt; as follows:&lt;/p&gt;  &lt;pre&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 153, 0);"&gt;soumya@abracadabra:~/tmp$ export DISTCC_HOSTS="appy abracadabra"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 153, 0);"&gt;soumya@abracadabra:~/tmp$ make CC=distcc&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;  &lt;p&gt;This specifies the two machines you wish to use for the compilation, and runs &lt;tt&gt;make&lt;/tt&gt; telling it to use &lt;tt&gt;distcc&lt;/tt&gt; as the compiler.&lt;/p&gt;  &lt;p&gt;Once you do this you should find that the jobs are spread fairly evenly across the two machines.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;Once you've installed the distcc program on each machine  you must:&lt;/p&gt;  &lt;ul style="font-style: italic; color: rgb(0, 0, 153);"&gt; &lt;li&gt;Tell the local instance which machines it can contact to compile files upon remotely.&lt;/li&gt;&lt;li&gt;Make sure you use "distcc" instead of "gcc" as the compiler command in your Makefile / build system.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Tats it done, now u need not go for coffee while compiling codes :)&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-114717403129723843?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/114717403129723843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/114717403129723843'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2006/05/distcc-and-increasing-compiling-speed.html' title='Distcc and increasing compiling speed'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-114552779448677340</id><published>2006-04-20T12:52:00.000+05:30</published><updated>2006-04-20T15:39:54.893+05:30</updated><title type='text'>Installing Sun's Java  on Debian</title><content type='html'>&lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);"&gt;Why Sun's Java&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There are many applications in Debian which need Java SDK or JRE to function properly , specifically Sun's java environment.Most of these applications are as expected web based applications , and unluckily Sun's java packages are not available directly for debian systems.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-style: italic; font-weight: bold;"&gt;So what's the problem dude ?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sun's java environment package  for Linux is available in .bin format and not  in .deb format.Whie there is nothing wrong with installing software outside the control of the Debian packaging system, it's not something that should be undertaken lightly as it makes it hard to keep track of installations, and it complicates updating a number of machines from a centralised Debian package repository.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);"&gt;So wats the fucking solution ?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Thankfully there are facilities available which make it a simple job to install Sun's Java as a Debian package.&lt;/p&gt;  &lt;p&gt;Two packages we're going to need are java-package and fakeroot. These can be installed simply by typing the following in the terminal:&lt;/p&gt;  &lt;pre&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;apt-get install fakeroot java-package&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;  &lt;p&gt;Once the relevent packages have been installed you will need to download the Sun release of the Java package from &lt;a href="http://java.sun.com"&gt;http://java.sun.com&lt;/a&gt; .&lt;br /&gt;&lt;/p&gt; &lt;p&gt;Once you agreed to the license presented to you, and have downloaded the file you will have something like &lt;tt&gt;jre-1_5_0_03-linux-i586.bin&lt;/tt&gt;.&lt;/p&gt;  &lt;p&gt;To turn this into a Debian package you should run:&lt;/p&gt;  &lt;pre&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;fakeroot make-jpkg jre-1_5_0_03-linux-i586.bin&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;  This command will first prompt for confirmation, then :&lt;br /&gt;&lt;ul&gt; &lt;li&gt;Ask you for your name&lt;/li&gt;&lt;li&gt;Ask you for your email address&lt;/li&gt; &lt;li&gt;Display a license agreement: &lt;ul&gt;&lt;li&gt;Press &lt;tt&gt;Space&lt;/tt&gt; to scroll down, or &lt;tt&gt;q&lt;/tt&gt; to quit.&lt;/li&gt;&lt;li&gt;Type "yes" to indicate you agree with the terms.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;(The name, and email address, you give will be inserted into the Debian package information - and not sent to Sun.)&lt;/p&gt;  &lt;p&gt;Once these questions have been answered the process will inform you that your package has been built shortly afterwards. The final output you should expect to see will look something like this:&lt;/p&gt;  &lt;pre style="color: rgb(51, 51, 255);"&gt;The Debian package has been created in the current directory. You can&lt;br /&gt;install the package as root (e.g. dpkg -i sun-j2re1.5_1.5.0+update03_i386.deb).&lt;br /&gt;&lt;/pre&gt;  &lt;p&gt;As the instructions tell you it is now possible for you to install the package by becoming root and running:&lt;/p&gt;  &lt;pre&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;dpkg -i sun-j2re1.5_1.5.0+update03_i386.deb&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt; &lt;br /&gt;&lt;p&gt;One final step might be for you to ensure the Java software works for Mozilla Firefox, or the Mozilla browser.&lt;/p&gt;  &lt;p&gt;The package you've installed should include a plugin for your browser. At the time of writing the most recent Sun Java version we've been using will install a plugin for you at the following location:&lt;/p&gt;  &lt;pre&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;/usr/lib/j2re1.5-sun/plugin/i386/ns7/libjavaplugin_oji.so&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;  &lt;p&gt;Create a symlink to this directory in your home directory:&lt;/p&gt;  &lt;pre style="color: rgb(51, 51, 255);"&gt;ln -s /usr/lib/j2re1.5-sun/plugin/i386/ns7/libjavaplugin_oji.so  ~/.mozilla/plugins/&lt;br /&gt;&lt;/pre&gt;  &lt;p&gt;If you wish to do this for &lt;i&gt;all&lt;/i&gt; users on the current system instead run, as root:&lt;/p&gt;  &lt;pre&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;ln -s /usr/lib/j2re1.5-sun/plugin/i386/ns7/libjavaplugin_oji.so \&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;  /usr/lib/mozilla/plugins/&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;  &lt;p&gt;(You might find that the plugin has been automatically installed for all users - so it's worth checking whether you need to complete this last step yourself.)&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;PS&lt;br /&gt; All the above information was gathered by me from the following website &lt;a href="http://www.debian-administration.org/articles/142"&gt;http://www.debian-administration.org&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-114552779448677340?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/114552779448677340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/114552779448677340'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2006/04/installing-suns-java-on-debian.html' title='Installing Sun&apos;s Java  on Debian'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-114482645772138940</id><published>2006-04-12T12:22:00.000+05:30</published><updated>2006-04-12T12:50:58.120+05:30</updated><title type='text'>Restoring grub for debian</title><content type='html'>&lt;p&gt;Many Debian newbies often have to reinstall  f***ing Windows on the same machine where Debian is installed. Usually the Windows installation does not take care of the Debian  booting process, overwriting the master boot record with Windows.There are several ways to recover the grub , but here I will mention the method used by me when I had the same problem.&lt;/p&gt;&lt;br /&gt;    All that you would need for this is a live CD of any debian based Linux distro like Ubuntu or Knoppix.Once u have a live CD with you just follow the next few steps.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Boot from the Live CD( &lt;span style="font-style: italic;"&gt;I used Ubuntu CD&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;Once you are logged in open the terminal.&lt;/li&gt;&lt;li&gt;Login as root (type &lt;span style="color: rgb(51, 51, 255); font-style: italic;"&gt;sudo su&lt;/span&gt; in Ubuntu) and type &lt;span style="color: rgb(51, 51, 255);"&gt;&lt;span style="font-style: italic;"&gt;cfdisk&lt;/span&gt; &lt;/span&gt;and check out what is your boot partition (eg. hda8)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Make a new directory to mount the boot partition, for example /disk.&lt;/li&gt;&lt;li&gt;In case you don't have seperate /boot partition then mount the root partition or / to /disk using the following command&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;blockquote&gt;&lt;/blockquote&gt;mount /dev/hda&lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);"&gt;x&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;  /disk&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;x refers to teh boot or root partition.&lt;/li&gt;&lt;li&gt;Do a chroot to the root partition by typing&lt;br /&gt;&lt;br /&gt;  &lt;span style="color: rgb(51, 51, 255);"&gt;chroot /disk&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Type &lt;span style="color: rgb(51, 51, 255);"&gt;grub&lt;/span&gt; and enter grub shell.&lt;/li&gt;&lt;li&gt;Type in the root disk for grub, for example&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; root (hd0,7)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is /dev/hda8 on my system.&lt;/li&gt;&lt;li&gt;Type the following command to install grub on /dev/hda&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; setup (hd0)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Type quit, exit from chroot, unmount all disks and reboot.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-114482645772138940?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/114482645772138940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/114482645772138940'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2006/04/restoring-grub-for-debian.html' title='Restoring grub for debian'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-114129530849215053</id><published>2006-03-02T15:49:00.000+05:30</published><updated>2006-03-02T15:58:28.663+05:30</updated><title type='text'>vimrc</title><content type='html'>Generally vim is the preferred editor for experienced coders , but newbies always find it difficult to handle .Although the initial learning curve is pretty steep , but it resides  once you get used to it.By default there is no vimrc file ... u need to crete one and put it in the homefolder.The vimrc file helps to configure the properties of vim.A sample vimrc file has been put below ....&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;autocmd!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" * Terminal Settings&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" `XTerm', `RXVT', `Gnome Terminal', and `Konsole' all claim to be "xterm";&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" `KVT' claims to be "xterm-color":&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;if &amp;term =~ 'xterm'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " `Gnome Terminal' fortunately sets $COLORTERM; it needs &lt;bkspc&gt; and &lt;del&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " fixing, and it has a bug which causes spurious "c"s to appear, which can be&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " fixed by unsetting t_RV:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  if $COLORTERM == 'gnome-terminal'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    execute 'set t_kb=' . nr2char(8)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " [Char 8 is &lt;ctrl&gt;+H.]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    fixdel&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    set t_RV=&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " `XTerm', `Konsole', and `KVT' all also need &lt;bkspc&gt; and &lt;del&gt; fixing;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " there's no easy way of distinguishing these terminals from other things&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " that claim to be "xterm", but `RXVT' sets $COLORTERM to "rxvt" and these&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " don't:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  elseif $COLORTERM == ''&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    execute 'set t_kb=' . nr2char(8)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    fixdel&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " The above won't work if an `XTerm' or `KVT' is started from within a `Gnome&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " Terminal' or an `RXVT': the $COLORTERM setting will propagate; it's always&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " OK with `Konsole' which explicitly sets $COLORTERM to "".&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  endif&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;endif&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" * User Interface&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" have syntax highlighting in terminals which can display colours:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;if has('syntax') &amp;&amp;amp; (&amp;t_Co &gt; 2)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  syntax on&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;endif&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" have fifty lines of command-line (etc) history:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set history=50&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" remember all of these between sessions, but only 10 search terms; also&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" remember info for 10 files, but never any on removable disks, don't remember&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" marks in files, don't rehighlight old search patterns, and only save up to&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" 100 lines of registers; including @10 in there should restrict input buffer&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" but it causes an error for me:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set viminfo=/10,'10,r/mnt/zip,r/mnt/floppy,f0,h,\"100&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" have command-line completion &lt;tab&gt; (for filenames, help topics, option names)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" first list the available options and complete the longest common part, then&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" have further &lt;tab&gt;s cycle through the possibilities:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set wildmode=list:longest,full&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" use "[RO]" for "[readonly]" to save space in the message line:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set shortmess+=r&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" display the current mode and partially-typed commands in the status line:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set showmode&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set showcmd&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" when using list, keep tabs at their full width and display `arrows':&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;execute 'set listchars+=tab:' . nr2char(187) . nr2char(183)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" (Character 187 is a right double-chevron, and 183 a mid-dot.)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" have the mouse enabled all the time:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set mouse=a&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" don't have files trying to override this .vimrc:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set nomodeline&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" * Text Formatting -- General&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" don't make it look like there are line breaks where there aren't:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set nowrap&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" use indents of 2 spaces, and have them copied down lines:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set shiftwidth=2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set shiftround&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set expandtab&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set autoindent&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" normally don't automatically format `text' as it is typed, IE only do this&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" with comments, at 79 characters:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set formatoptions-=t&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set textwidth=79&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" get rid of the default style of C comments, and define a style with two stars&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" at the start of `middle' rows which (looks nicer and) avoids asterisks used&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" for bullet lists being treated like C comments; then define a bullet list&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" style for single stars (like already is for hyphens):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set comments-=s1:/*,mb:*,ex:*/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set comments+=s:/*,mb:**,ex:*/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set comments+=fb:*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" treat lines starting with a quote mark as comments (for `Vim' files, such as&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" this very one!), and colons as well so that reformatting usenet messages from&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" `Tin' users works OK:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set comments+=b:\"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set comments+=n::&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" * Text Formatting -- Specific File Formats&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" enable filetype detection:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;filetype on&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" recognize anything in my .Postponed directory as a news article, and anything&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" at all with a .txt extension as being human-language text [this clobbers the&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" `help' filetype, but that doesn't seem to prevent help from working&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" properly]:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;augroup filetype&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  autocmd BufNewFile,BufRead */.Postponed/* set filetype=mail&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  autocmd BufNewFile,BufRead *.txt set filetype=human&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;augroup END&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" in human-language files, automatically format everything at 72 chars:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;autocmd FileType mail,human set formatoptions+=t textwidth=72&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" for C-like programming, have automatic indentation:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;autocmd FileType c,cpp,slang set cindent&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" for actual C (not C++) programming where comments have explicit end&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" characters, if starting a new line in the middle of a comment automatically&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" insert the comment leader characters:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;autocmd FileType c set formatoptions+=ro&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" for Perl programming, have things in braces indenting themselves:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;autocmd FileType perl set smartindent&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" for CSS, also have things in braces indented:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;autocmd FileType css set smartindent&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" for HTML, generally format text, but if a long line has been created leave it&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" alone when editing:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;autocmd FileType html set formatoptions+=tl&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" for both CSS and HTML, use genuine tab characters for indentation, to make&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" files a few bytes smaller:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;autocmd FileType html,css set noexpandtab tabstop=2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" in makefiles, don't expand tabs to spaces, since actual tab characters are&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" needed, and have indentation at 8 chars to be sure that all indents are tabs&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" (despite the mappings later):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;autocmd FileType make set noexpandtab shiftwidth=8&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" * Search &amp; Replace&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" make searches case-insensitive, unless they contain upper-case letters:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set ignorecase&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set smartcase&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" show the `best match so far' as search strings are typed:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set incsearch&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" assume the /g flag on :s substitutions to replace all matches in a line:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set gdefault&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" * Spelling&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" define `Ispell' language and personal dictionary, used in several places&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" below:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;let IspellLang = 'british'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;let PersonalDict = '~/.ispell_' . IspellLang&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" try to avoid misspelling words in the first place -- have the insert mode&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" &lt;ctrl&gt;+N/&lt;ctrl&gt;+P keys perform completion on partially-typed words by&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" checking the Linux word list and the personal `Ispell' dictionary; sort out&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" case sensibly (so that words at starts of sentences can still be completed&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" with words that are in the dictionary all in lower case):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;execute 'set dictionary+=' . PersonalDict&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set dictionary+=/usr/dict/words&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set complete=.,w,k&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set infercase&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" correct my common typos without me even noticing them:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;abbreviate teh the&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;abbreviate spolier spoiler&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;abbreviate Comny Conmy&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;abbreviate atmoic atomic&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" Spell checking operations are defined next.  They are all set to normal mode&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" keystrokes beginning \s but function keys are also mapped to the most common&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" ones.  The functions referred to are defined at the end of this .vimrc.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" \si ("spelling interactive") saves the current file then spell checks it&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" interactively through `Ispell' and reloads the corrected version:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;execute 'nnoremap \si :w&lt;cr&gt;:!ispell -x -d ' . IspellLang . ' %&lt;cr&gt;:e&lt;cr&gt;&lt;cr&gt;'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" \sl ("spelling list") lists all spelling mistakes in the current buffer,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" but excludes any in news/mail headers or in ("&gt; ") quoted text:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;execute 'nnoremap \sl :w ! grep -v "^&gt;" &lt;bar&gt; grep -E -v "^[[:alpha:]-]+: " ' .&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  \ '&lt;bar&gt; ispell -l -d ' . IspellLang . ' &lt;bar&gt; sort &lt;bar&gt; uniq&lt;cr&gt;'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" \sh ("spelling highlight") highlights (in red) all misspelt words in the&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" current buffer, and also excluding the possessive forms of any valid words&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" (EG "Lizzy's" won't be highlighted if "Lizzy" is in the dictionary); with&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" mail and news messages it ignores headers and quoted text; for HTML it&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" ignores tags and only checks words that will appear, and turns off other&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" syntax highlighting to make the errors more apparent [function at end of&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" file]:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;nnoremap \sh :call HighlightSpellingErrors()&lt;cr&gt;&lt;cr&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;nmap &lt;f9&gt; \sh&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" \sc ("spelling clear") clears all highlighted misspellings; for HTML it&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" restores regular syntax highlighting:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;nnoremap \sc :if &amp;ft == 'html' &lt;bar&gt; sy on &lt;bar&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  \ else &lt;bar&gt; :sy clear SpellError &lt;bar&gt; endif&lt;cr&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;nmap &lt;f10&gt; \sc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" \sa ("spelling add") adds the word at the cursor position to the personal&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" dictionary (but for possessives adds the base word, so that when the cursor&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" is on "Ceri's" only "Ceri" gets added to the dictionary), and stops&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" highlighting that word as an error (if appropriate) [function at end of&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" file]:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;nnoremap \sa :call AddWordToDictionary()&lt;cr&gt;&lt;cr&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;nmap &lt;f8&gt; \sa&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" * Keystrokes -- Moving Around&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" have the h and l cursor keys wrap between lines (like &lt;space&gt; and &lt;bkspc&gt; do&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" by default), and ~ covert case over line breaks; also have the cursor keys&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" wrap in insert mode:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set whichwrap=h,l,~,[,]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" page down with &lt;space&gt; (like in `Lynx', `Mutt', `Pine', `Netscape Navigator',&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" `SLRN', `Less', and `More'); page up with - (like in `Lynx', `Mutt', `Pine'),&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" or &lt;bkspc&gt; (like in `Netscape Navigator'):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;noremap &lt;space&gt; &lt;pagedown&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;noremap &lt;bs&gt; &lt;pageup&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;noremap - &lt;pageup&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" [&lt;space&gt; by default is like l, &lt;bkspc&gt; like h, and - like k.]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" scroll the window (but leaving the cursor in the same place) by a couple of&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" lines up/down with &lt;ins&gt;/&lt;del&gt; (like in `Lynx'):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;noremap &lt;ins&gt; 2&lt;c-y&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;noremap &lt;del&gt; 2&lt;c-e&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" [&lt;ins&gt; by default is like i, and &lt;del&gt; like x.]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" use &lt;f6&gt; to cycle through split windows (and &lt;shift&gt;+&lt;f6&gt; to cycle backwards,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" where possible):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;nnoremap &lt;f6&gt; &lt;c-w&gt;w&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;nnoremap &lt;s-f6&gt; &lt;c-w&gt;W&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" use &lt;ctrl&gt;+N/&lt;ctrl&gt;+P to cycle through files:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;nnoremap &lt;c-n&gt; :next&lt;cr&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;nnoremap &lt;c-p&gt; :prev&lt;cr&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" [&lt;ctrl&gt;+N by default is like j, and &lt;ctrl&gt;+P like k.]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" have % bounce between angled brackets, as well as t'other kinds:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set matchpairs+=&lt;:&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" have &lt;f1&gt; prompt for a help topic, rather than displaying the introduction&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" page, and have it do this from any mode:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;nnoremap &lt;f1&gt; :help&lt;space&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;vmap &lt;f1&gt; &lt;c-c&gt;&lt;f1&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;omap &lt;f1&gt; &lt;c-c&gt;&lt;f1&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;map! &lt;f1&gt; &lt;c-c&gt;&lt;f1&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" * Keystrokes -- Formatting&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" have Q reformat the current paragraph (or selected text if there is any):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;nnoremap Q gqap&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;vnoremap Q gq&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" have the usual indentation keystrokes still work in visual mode:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;vnoremap &lt;c-t&gt; &gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;vnoremap &lt;c-d&gt; &lt;lt&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;vmap &lt;tab&gt; &lt;c-t&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;vmap &lt;s-tab&gt; &lt;c-d&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" have Y behave analogously to D and C rather than to dd and cc (which is&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" already done by yy):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;noremap Y y$&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" * Keystrokes -- Toggles&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" Keystrokes to toggle options are defined here.  They are all set to normal&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" mode keystrokes beginning \t but some function keys (which won't work in all&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" terminals) are also mapped.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" have \tp ("toggle paste") toggle paste on/off and report the change, and&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" where possible also have &lt;f4&gt; do this both in normal and insert mode:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;nnoremap \tp :set invpaste paste?&lt;cr&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;nmap &lt;f4&gt; \tp&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;imap &lt;f4&gt; &lt;c-o&gt;\tp&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set pastetoggle=&lt;f4&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" have \tf ("toggle format") toggle the automatic insertion of line breaks&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" during typing and report the change:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;nnoremap \tf :if &amp;fo =~ 't' &lt;bar&gt; set fo-=t &lt;bar&gt; else &lt;bar&gt; set fo+=t &lt;bar&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  \ endif &lt;bar&gt; set fo?&lt;cr&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;nmap &lt;f3&gt; \tf&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;imap &lt;f3&gt; &lt;c-o&gt;\tf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" have \tl ("toggle list") toggle list on/off and report the change:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;nnoremap \tl :set invlist list?&lt;cr&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;nmap &lt;f2&gt; \tl&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" have \th ("toggle highlight") toggle highlighting of search matches, and&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" report the change:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;nnoremap \th :set invhls hls?&lt;cr&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" * Keystrokes -- Insert Mode&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" allow &lt;bkspc&gt; to delete line breaks, beyond the start of the current&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" insertion, and over indentations:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;set backspace=eol,start,indent&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" have &lt;tab&gt; (and &lt;shift&gt;+&lt;tab&gt; where it works) change the level of&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" indentation:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;inoremap &lt;tab&gt; &lt;c-t&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;inoremap &lt;s-tab&gt; &lt;c-d&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" [&lt;ctrl&gt;+V &lt;tab&gt; still inserts an actual tab character.]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" abbreviations:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;iabbrev lfpg Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;iabbrev hse he/she&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;iabbrev sm Smylers&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" * Keystrokes -- For HTML Files&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" Some automatic HTML tag insertion operations are defined next.  They are&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" allset to normal mode keystrokes beginning \h.  Insert mode function keys are&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" also defined, for terminals where they work.  The functions referred to are&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" defined at the end of this .vimrc.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" \hc ("HTML close") inserts the tag needed to close the current HTML construct&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" [function at end of file]:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;nnoremap \hc :call InsertCloseTag()&lt;cr&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;imap &lt;f8&gt; &lt;space&gt;&lt;bs&gt;&lt;esc&gt;\hca&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" \hp ("HTML previous") copies the previous (non-closing) HTML tag in full,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" including attributes; repeating this straight away removes that tag and&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" copies the one before it [function at end of file]:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;nnoremap \hp :call RepeatTag(0)&lt;cr&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;imap &lt;f9&gt; &lt;space&gt;&lt;bs&gt;&lt;esc&gt;\hpa&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" \hn ("HTML next") does the same thing, but copies the next tag; so \hp and&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" \hn can be used to cycle backwards and forwards through the tags in the file&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" (like &lt;ctrl&gt;+P and &lt;ctrl&gt;+N do for insert mode completion):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;nnoremap \hn :call RepeatTag(1)&lt;cr&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;imap &lt;f10&gt; &lt;space&gt;&lt;bs&gt;&lt;esc&gt;\hna&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" there are other key mappings that it's useful to have for typing HTML&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" character codes, but that are definitely not wanted in other files (unlike&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" the above, which won't do any harm), so only map these when entering an HTML&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" file and unmap them on leaving it:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;autocmd BufEnter * if &amp;filetype == "html" | call MapHTMLKeys() | endif&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;function! MapHTMLKeys(...)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" sets up various insert mode key mappings suitable for typing HTML, and&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" automatically removes them when switching to a non-HTML buffer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " if no parameter, or a non-zero parameter, set up the mappings:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  if a:0 == 0 || a:1 != 0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " require two backslashes to get one:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    inoremap \\ \&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " then use backslash followed by various symbols insert HTML characters:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    inoremap \&amp; &amp;amp;amp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    inoremap \&lt; &amp;lt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    inoremap \&gt; &amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    inoremap \. &amp;middot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " em dash -- have \- always insert an em dash, and also have _ do it if&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " ever typed as a word on its own, but not in the middle of other words:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    inoremap \- &amp;#8212;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    iabbrev _ &amp;#8212;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " hard space with &lt;ctrl&gt;+Space, and \&lt;space&gt; for when that doesn't work:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    inoremap \&lt;space&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    imap &lt;c-space&gt; \&lt;space&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " have the normal open and close single quote keys producing the character&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " codes that will produce nice curved quotes (and apostophes) on both Unix&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " and Windows:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    inoremap ` &amp;#8216;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    inoremap ' &amp;#8217;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " then provide the original functionality with preceding backslashes:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    inoremap \` `&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    inoremap \' '&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " curved double open and closed quotes (2 and " are the same key for me):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    inoremap \2 &amp;#8220;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    inoremap \" &amp;#8221;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " when switching to a non-HTML buffer, automatically undo these mappings:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    autocmd! BufLeave * call MapHTMLKeys(0)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " parameter of zero, so want to unmap everything:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    iunmap \\&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    iunmap \&amp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    iunmap \&lt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    iunmap \&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    iunmap \-&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    iunabbrev _&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    iunmap \&lt;space&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    iunmap &lt;c-space&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    iunmap `&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    iunmap '&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    iunmap \`&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    iunmap \'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    iunmap \2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    iunmap \"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " once done, get rid of the autocmd that called this:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    autocmd! BufLeave *&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  endif " test for mapping/unmapping&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;endfunction " MapHTMLKeys()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" * `SLRN' Behaviour&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" when using `SLRN' to compose a new news article without a signature, the&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" cursor will be at the end of the file, the blank line after the header, so&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" duplicate this line ready to start typing on; when composing a new article&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" with a signature, `SLRN' includes an appropriate blank line but places the&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" cursor on the following one, so move it up one line [if re-editing a&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" partially-composed article, `SLRN' places the cursor on the top line, so&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" neither of these will apply]:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;autocmd VimEnter .article if line('.') == line('$') | yank | put |&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  \ elseif line('.') != 1 | -&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" when following up articles from people with long names and/or e-mail&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" addresses, the `SLRN'-generated attribution line can have over 80 characters,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" which will then cause `SLRN' to complain when trying to post it(!), so if&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" editing a followup for the first time, reformat the line (then put the cursor&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" back):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;autocmd VimEnter .followup if line('.') != 1 | normal gq${j&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" * Functions Referred to Above&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;function! HighlightSpellingErrors()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" highlights spelling errors in the current window; used for the \sh operation&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" defined above;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" requires the ispell, sort, and uniq commands to be in the path;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" requires the global variable IspellLang to be defined above, and to contain&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" the preferred `Ispell' language;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" for mail/news messages, requires the grep command to be in the path;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" for HTML documents, saves the file to disk and requires the lynx command to&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" be in the path&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" by Smylers  http://www.stripey.com/vim/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" (inspired by Krishna Gadepalli and Neil Schemenauer's vimspell.sh)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" 2000 Jun 1: for `Vim' 5.6&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " for HTML files, remove all current syntax highlighting (so that&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " misspellings show up clearly), and note it's HTML for future reference:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  if &amp;filetype == 'html'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    let HTML = 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    syntax clear&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " for everything else, simply remove any previously-identified spelling&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " errors (and corrections):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    let HTML = 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    if hlexists('SpellError')&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      syntax clear SpellError&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    endif&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    if hlexists('Normal')&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      syntax clear Normal&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    endif&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  endif&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " form a command that has the text to be checked piping through standard&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " output; for HTML files this involves saving the current file and processing&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " it with `Lynx'; for everything else, use all the buffer except quoted text&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " and mail/news headers:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  if HTML&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    write&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    let PipeCmd = '! lynx --dump --nolist % |'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    let PipeCmd = 'write !'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    if &amp;filetype == 'mail'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      let PipeCmd = PipeCmd . ' grep -v "^&gt; " | grep -E -v "^[[:alpha:]-]+:" |'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    endif&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  endif&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " execute that command, then generate a unique list of misspelt words and&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " store it in a temporary file:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  let ErrorsFile = tempname()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  execute PipeCmd . ' ispell -l -d '. g:IspellLang .&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    \ ' | sort | uniq &gt; ' . ErrorsFile&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " open that list of words in another window:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  execute 'split ' . ErrorsFile&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " for every word in that list ending with "'s", check if the root form&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " without the "'s" is in the dictionary, and if so remove the word from the&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " list:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  global /'s$/ execute 'read ! echo ' . expand('&lt;cword&gt;') .&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    \ ' | ispell -l -d ' . g:IspellLang | delete&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " (If the root form is in the dictionary, ispell -l will have no output so&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " nothing will be read in, the cursor will remain in the same place and the&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " :delete will delete the word from the list.  If the root form is not in the&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " dictionary, then ispell -l will output it and it will be read on to a new&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " line; the delete command will then remove that misspelt root form, leaving&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " the original possessive form in the list!)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " only do anything if there are some misspellings:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  if strlen(getline('.')) &gt; 0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " if (previously noted as) HTML, replace each non-alphanum char with a&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " regexp that matches either that char or a &amp;...; entity:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    if HTML&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      % substitute /\W/\\(&amp;\\|\&amp;amp;\\(#\\d\\{2,4}\\|\w\\{2,8}\\);\\)/e&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    endif&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " turn each mistake into a `Vim' command to place it in the SpellError&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " syntax highlighting group:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    % substitute /^/syntax match SpellError !\\&lt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    % substitute /$/\\&gt;!/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  endif&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " save and close that file (so switch back to the one being checked):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  exit&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " make syntax highlighting case-sensitive, then execute all the match&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " commands that have just been set up in that temporary file, delete it, and&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " highlight all those words in red:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  syntax case match&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  execute 'source ' . ErrorsFile&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  call delete(ErrorsFile)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  highlight SpellError term=reverse ctermfg=DarkRed guifg=Red&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " with HTML, don't mark any errors in e-mail addresses or URLs, and ignore&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " anything marked in a fix-width font (as being computer code):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  if HTML&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    syntax case ignore&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    syntax match Normal !\&lt;[[:alnum:]._-]\+@[[:alnum:]._-]\+\.\a\+\&gt;!&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    syntax match Normal&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      \ !\&lt;\(ht\|f\)tp://[-[:alnum:].]\+\a\(/[-_.[:alnum:]/#&amp;=,]*\)\=\&gt;!&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    syntax region Normal start=!&lt;pre&gt;! end=!&lt;/pre&gt;!&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    syntax region Normal start=!&lt;code&gt;! end=!&lt;/code&gt;!&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    syntax region Normal start=!&lt;kbd&gt;! end=!&lt;/kbd&gt;!&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  endif&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;endfunction " HighlightSpellingErrors()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;function! AddWordToDictionary()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" adds the word under the cursor to the personal dictonary; used for the \sa&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" operation defined above;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" requires the global variable PersonalDict to be defined above, and to contain&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" the `Ispell' personal dictionary;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" by Smylers  http://www.stripey.com/vim/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" 2000 Apr 30: for `Vim' 5.6&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " get the word under the cursor, including the apostrophe as a word character&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " to allow for words like "won't", but then ignoring any apostrophes at the&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " start or end of the word:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  set iskeyword+='&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  let Word = substitute(expand('&lt;cword&gt;'), "^'\\+", '', '')&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  let Word = substitute(Word, "'\\+$", '', '')&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  set iskeyword-='&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " override any SpellError highlighting that might exist for this word,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " `highlighting' it as normal text:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  execute 'syntax match Normal #\&lt;' . Word . '\&gt;#'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " remove any final "'s" so that possessive forms don't end up in the&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  " dictionary, then add the word to the dictionary:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  let Word = substitute(Word, "'s$", '', '')&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  execute '!echo "' . Word . '" &gt;&gt; ' . g:PersonalDict&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;endfunction " AddWordToDictionary()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;function! InsertCloseTag()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" inserts the appropriate closing HTML tag; used for the \hc operation defined&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" above;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" requires ignorecase to be set, or to type HTML tags in exactly the same case&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" that I do;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" doesn't treat &lt;p&gt; as something that needs closing;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" clobbers register z and mark z&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" by Smylers  http://www.stripey.com/vim/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" 2000 May 4&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  if &amp;filetype == 'html'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " list of tags which shouldn't be closed:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    let UnaryTags = ' Area Base Br DD DT HR Img Input LI Link Meta P Param '&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " remember current position:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    normal mz&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " loop backwards looking for tags:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    let Found = 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    while Found == 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      " find the previous &lt;, then go forwards one character and grab the first&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      " character plus the entire word:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      execute "normal ?\&lt;lt&gt;\&lt;cr&gt;l"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      normal "zyl&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      let Tag = expand('&lt;cword&gt;')&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      " if this is a closing tag, skip back to its matching opening tag:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      if @z == '/'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;        execute "normal ?\&lt;lt&gt;" . Tag . "\&lt;cr&gt;"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      " if this is a unary tag, then position the cursor for the next&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      " iteration:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      elseif match(UnaryTags, ' ' . Tag . ' ') &gt; 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;        normal h&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      " otherwise this is the tag that needs closing:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;        let Found = 1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      endif&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    endwhile " not yet found match&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " create the closing tag and insert it:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    let @z = '&lt;/' . Tag . '&gt;'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    normal `z&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    if col('.') == 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      normal "zP&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      normal "zp&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    endif&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  else " filetype is not HTML&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    echohl ErrorMsg&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    echo 'The InsertCloseTag() function is only intended to be used in HTML ' .&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      \ 'files.'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    sleep&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    echohl None&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  endif " check on filetype&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;endfunction " InsertCloseTag()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;function! RepeatTag(Forward)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" repeats a (non-closing) HTML tag from elsewhere in the document; call&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" repeatedly until the correct tag is inserted (like with insert mode &lt;ctrl&gt;+P&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" and &lt;ctrl&gt;+N completion), with Forward determining whether to copy forwards&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" or backwards through the file; used for the \hp and \hn operations defined&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" above;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" requires preservation of marks i and j;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" clobbers register z&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" by Smylers  http://www.stripey.com/vim/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;" 2000 May 4: for `Vim' 5.6&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  if &amp;filetype == 'html'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " if the cursor is where this function left it, then continue from there:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    if line('.') == line("'i") &amp;&amp;amp; col('.') == col("'i")&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      " delete the tag inserted last time:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      if col('.') == strlen(getline('.'))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;        normal dF&lt;x&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;        normal dF&lt;x&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;        if col('.') != 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;          normal h&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;        endif&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      endif&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      " note the cursor position, then jump to where the deleted tag was found:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      normal mi`j&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " otherwise, just store the cursor position (in mark i):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      normal mi&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    endif&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    if a:Forward&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      let SearchCmd = '/'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      let SearchCmd = '?'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    endif&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " find the next non-closing tag (in the appropriate direction), note where&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " it is (in mark j) in case this function gets called again, then yank it&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " and paste a copy at the original cursor position, and store the final&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    " cursor position (in mark i) for use next time round:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    execute "normal " . SearchCmd . "&lt;[^/&gt;].\\{-}&gt;\&lt;cr&gt;mj\"zyf&gt;`i"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    if col('.') == 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      normal "zP&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;      normal "zp&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    endif&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    normal mi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  else " filetype is not HTML&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    echohl ErrorMsg&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    echo 'The RepeatTag() function is only intended to be used in HTML files.'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    sleep&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;    echohl None&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;  endif&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;endfunction " RepeatTag()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To create the vimrc file type the following in the terminal&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255); font-style: italic;"&gt;touch ~/.vimrc&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-114129530849215053?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/114129530849215053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/114129530849215053'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2006/03/vimrc.html' title='vimrc'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-113929826432852908</id><published>2006-02-07T12:53:00.000+05:30</published><updated>2006-02-07T13:14:24.340+05:30</updated><title type='text'>Alias</title><content type='html'>Alias is a really useful command especially for lazy guys like me. Alias literally means "other name", and in linux also it serves the same purpose.When u don't wanna type long commands , what you can do is simply type an alias for it, it's just like making a shortcut.&lt;br /&gt; For example, considering the folowing line&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;alias movie='mplayer /mnt/win_e/movies/English/Documentary.avi'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt; If u wanna watch a movie called &lt;span style="font-style: italic;"&gt;Documentary&lt;/span&gt; which is in the folder &lt;span style="font-style: italic;"&gt;/mnt/win_e/movies/English&lt;/span&gt; using &lt;span style="font-style: italic;"&gt;mplayer&lt;/span&gt; , you have to type the full command &lt;span style="font-style: italic;"&gt;within the quotes&lt;/span&gt;, but if u set an alias like&lt;span style="font-style: italic;"&gt; movie&lt;/span&gt;, you just need to type movie in terminal.So simple and easy .The alias need not be a word , u can even put letters as  aliases.&lt;br /&gt;&lt;br /&gt;The  aliases which u type last only for the current session, so in order to make them permanent, u need 2 add these aliases in ur bashrc file.&lt;br /&gt;Go to the home folder of which ever user u wanna add the aliases.Using n-e editor open .bashrc file&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;vim ~/.bashrc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;just add the command in the above mentioned format in the .bashrc file and save it.Next time when u restart ur comp , the alias will be a permanent fixture in your path.&lt;br /&gt;&lt;br /&gt;few more examples for alias usage:&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;"&gt;alias byebye='logout'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So when u type byebye , the logout command is executed. So simple isn't it.&lt;br /&gt;For more info on bashrc and alias i would suggedt u Google.&lt;br /&gt;Else in console type&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 102, 255);"&gt;man alias&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-113929826432852908?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/113929826432852908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/113929826432852908'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2006/02/alias.html' title='Alias'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-113769502422700057</id><published>2006-01-19T23:29:00.000+05:30</published><updated>2006-01-19T23:53:44.243+05:30</updated><title type='text'>Freedom</title><content type='html'>In my previous blog I have mentioned about your-freedom.It is a pretty good software used for tunneling, and its GUI does help a lot.Generally the GCJ package available in most of the Linux distros( Fedora and Debian in particular ) do not support the your-freedom applet as well as the Sun's JDK package.Download the latest  JDK edition from the Sun's home page.follow the instructions given on that page.&lt;br /&gt;&lt;br /&gt;Follow the given instructions in order to make your-freedom work on ur PC&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I assume that you have installed it in /usr/local/java/&lt;br /&gt;&lt;/li&gt;&lt;li&gt;type &lt;span style="font-style: italic;"&gt;/usr/local/java/jdk1.5/bin/java -jar &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;your-freedom-folder&lt;/span&gt;&lt;span style="font-style: italic;"&gt;/freedom.jar&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;You can set an alias for the full command .Aliases are shortcuts, you can assign any command  to perform a given task, more on aliases later.Open ~/.bashrc file and add the following line&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;alias x='/usr/local/java/jdk1.5/bin/java -jar your-freedom-folder/freedom.jar'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The above command adds x in your commands list.Next time you open your terminal u just need to type "x".You need not ype x , you can put any other character as well , but make sure that its not a system command.&lt;br /&gt;&lt;br /&gt;Open gaim and in preferences change the proxy settings to SOCKS 5 and the server address as 127.0.0.1 and port 1080.In the yahoo pager address port you have to add 119 , and select proxy settings as SOCKS5&lt;br /&gt;&lt;br /&gt;Thats it over your gaim is up and running.&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-113769502422700057?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/113769502422700057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/113769502422700057'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2006/01/freedom.html' title='Freedom'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-113754854251104917</id><published>2006-01-18T06:50:00.000+05:30</published><updated>2006-01-18T07:12:22.530+05:30</updated><title type='text'>Your Freedom and Tunneling</title><content type='html'>In my campus access to several ports have been blocked via the proxy servers. in general this problem can be easily overcome by using something callled tunneling.One can always forward ports through SSH by tunneling.One software that dose it pretty easily is corkscrew.Debian users can easily obtain it by typing&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;apt-get install corkscrew&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After one install corkscrew, the ~/.ssh/config file needs to be edited( and created in case it dosen't exist). Add the following lines in the ~/.ssh/config file:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Host *&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;  ProxyCommand corkscrew &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;proxy_server port&lt;/span&gt;&lt;span style="font-style: italic;"&gt; %h %p&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;the host * command specifies that this is meant for all users,in case if you wanna use it only for present user remove this line. Replace the proxy_server with the name of the proxy server in use and the corresponding port. Once it is done , one has to just type&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;ssh server_address&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Server address refers to the host you wanna ssh through HTTP tunneling.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*********************&lt;br /&gt;&lt;br /&gt;now y am i writing all this crap.man is the laziest creature on Earth(at least me).If you download the java package of your-freedom from the site your-freedom.net you can peacefully execute the tunneling job and it can be easily used for IM clients.Dowload the file and unzip it.Browse to the folder and type the following command&lt;br /&gt;&lt;span style="font-style: italic;"&gt;java -jar freedom.jar&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;in order to make it happen u need to have latest version of Sun JDK/JRE/SDK.The GCJ package which comes by default with the OS cannot handle the java  work(Especially Debian and Fedora).Once you have done it ..... it will ask you the proxy settings and other things.When it is run for the first time it dose take a lot of time to look foe servers..so plz don't press the panic button in case u don't c ne thing happening........&lt;br /&gt;....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   TO BE CONTINUED.................&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-113754854251104917?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/113754854251104917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/113754854251104917'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2006/01/your-freedom-and-tunneling.html' title='Your Freedom and Tunneling'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-113754722565426109</id><published>2006-01-18T06:47:00.000+05:30</published><updated>2006-01-18T06:50:25.666+05:30</updated><title type='text'>y2k6</title><content type='html'>This is my first blog of the year  ..... hopefully I shall put up a lot more blogs than last year ..... new year new dreams and the same reult ..... I guess  these things sound familiar .... every time at the begining .... hope to convert my words into action&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-113754722565426109?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/113754722565426109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/113754722565426109'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2006/01/y2k6.html' title='y2k6'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-113240166779950027</id><published>2005-11-19T17:22:00.000+05:30</published><updated>2005-11-19T17:31:07.800+05:30</updated><title type='text'>cmatrix</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3034/1022/1600/Screenshot.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/3034/1022/320/Screenshot.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It is based on the screensaver from the movie's website. It works with terminal settings up to 132x300 and can scroll lines all at the same rate.It makes ur terminal look cool.Debian users can easily get this package by typing the following commands:&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255); font-weight: bold; font-style: italic;"&gt;apt-get install cmatrix cmatrix-xfont&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Please note that u need 2 b root in order 2 use the command for other distros I would suggest googling.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255); font-weight: bold; font-style: italic;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-113240166779950027?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/113240166779950027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/113240166779950027'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2005/11/cmatrix.html' title='cmatrix'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-113240103760543097</id><published>2005-11-19T17:19:00.000+05:30</published><updated>2005-11-19T17:20:37.606+05:30</updated><title type='text'>Gnome-Terminal Background Randomizer</title><content type='html'>&lt;pre&gt;Here's a nice script you can use in cron or elsewhere to change your&lt;br /&gt;gnome-terminal background.&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;#&lt;br /&gt;# Gnome-Terminal Random Background&lt;br /&gt;# -----------------------------------&lt;br /&gt;# Greg Harris &lt;gharris@minuteman.org&gt;&lt;br /&gt;# 6.13.05&lt;br /&gt;#&lt;br /&gt;# Run this script every time you want to update&lt;br /&gt;# your terminals background image.&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;# This is really all you need to setup. Point it to a directory&lt;br /&gt;# with all of your background images.&lt;br /&gt;BGPATH=/home/angrylogic/Documents/Backgrounds&lt;br /&gt;FILTERS="*.jpg *.JPG *.png *.PNG *.tiff *.TIFF *.gif *.GIF"&lt;br /&gt;PROFILE=Default&lt;br /&gt;&lt;br /&gt;# Set counters and lists to nothing&lt;br /&gt;NUM=0&lt;br /&gt;TOTAL_PICS=0&lt;br /&gt;PIC_LIST=&lt;br /&gt;&lt;br /&gt;# Generate the list of pictures depending on wither or not&lt;br /&gt;# we are doing extension filtering. If your directory has&lt;br /&gt;# non-image files, you want to use filtering.&lt;br /&gt;if [ -n FILTERS ]&lt;br /&gt;then&lt;br /&gt;       PIC_LIST=`ls -1 $BGPATH`&lt;br /&gt;else&lt;br /&gt;       for FITLER in FILTERS&lt;br /&gt;       do&lt;br /&gt;               PIC_LIST=$PIC_LIST `ls -1 $BGPATH/$FILTER`&lt;br /&gt;       done&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# Calculate the total amount of pictures, and then choose&lt;br /&gt;# a random picture from the total amount of pictures&lt;br /&gt;let TOTAL_PICS=`echo $PIC_LIST | wc -w`&lt;br /&gt;let RAND_PIC=$RANDOM%$TOTAL_PICS&lt;br /&gt;&lt;br /&gt;# FIXME:&lt;br /&gt;# If anyone knows a better way of extracting a certain element&lt;br /&gt;# from a list in bash please email me. I couldn't find anything in&lt;br /&gt;# my poking around and I couldn't get the cut utility to take&lt;br /&gt;# space as a delimiter&lt;br /&gt;for PICTURE in $PIC_LIST&lt;br /&gt;do&lt;br /&gt;       let NUM=$NUM+1&lt;br /&gt;       # Loop until we find our lucky picture in the list, and set&lt;br /&gt;       # that up as the background picture.&lt;br /&gt;       if [ $NUM -eq $RAND_PIC ]&lt;br /&gt;       then&lt;br /&gt;               # This updates the gconf key pointing to your profile&lt;br /&gt;               # and sets up your background image accordingly&lt;br /&gt;               gconftool-2 --type string --set&lt;br /&gt;/apps/gnome-terminal/profiles/$P ROFILE/background_image $BGPATH/$PICTURE&lt;br /&gt;       fi&lt;br /&gt;done&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-113240103760543097?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/113240103760543097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/113240103760543097'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2005/11/gnome-terminal-background-randomizer.html' title='Gnome-Terminal Background Randomizer'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-113198532577484412</id><published>2005-11-14T21:44:00.000+05:30</published><updated>2005-11-14T21:52:05.790+05:30</updated><title type='text'>Change mouse cursor theme in Gnome</title><content type='html'>f you don't like the default mouse cursors, here is how to change it:&lt;br /&gt;&lt;br /&gt; 1) Download "mouse theme" you like:&lt;br /&gt; - here is one place to download -&gt; &lt;a href="http://www.gnome-look.org/"&gt;gnome-look-org &lt;/a&gt;&lt;br /&gt; 2) Copy(as root) downloaded archived file in /usr/share/icons:&lt;br /&gt;&lt;span style="font-style: italic;"&gt; cp example.tar.bz2 /usr/share/icons/ &lt;/span&gt;&lt;br /&gt;&lt;br /&gt; 3) Go to that directory and unpack the archive:&lt;br /&gt;&lt;span style="font-style: italic;"&gt; tar xvfj example.tar.bz2 &lt;/span&gt;&lt;br /&gt; The directory with your icon name should be created here.(/usr/share/icons/Example)&lt;br /&gt;&lt;br /&gt; Note: Some icon themes come with two or three different colors, so extracted directory will contain subfolders name like "Black" "White" "Blue" ....&lt;br /&gt; You should move subfolder to /usr/share/icons/ directory like this:&lt;br /&gt;&lt;span style="font-style: italic;"&gt; mv /usr/share/icons/Example/Black /usr/share/icons/&lt;/span&gt;&lt;br /&gt; Now the /usr/share/icons/Black foder is here where it should be.&lt;br /&gt;&lt;br /&gt; 4) Edit the file with your text editor located in /usr/share/icons/default/index.theme&lt;br /&gt;&lt;span style="font-style: italic;"&gt; gedit /usr/share/icons/default/index.theme&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255); font-style: italic;"&gt; Change the line "Inherits=Bluecurve" to whatever your new mouse icon theme directory is named. (Inherits=Example, Inherits=Black, Inherits=Blue,...)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; 5) &lt;span style="font-weight: bold; font-style: italic;"&gt;Save the file&lt;/span&gt; and log out of your session.&lt;br /&gt; When you login, the new mouse icon theme should be in use.&lt;br /&gt; :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-113198532577484412?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/113198532577484412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/113198532577484412'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2005/11/change-mouse-cursor-theme-in-gnome.html' title='Change mouse cursor theme in Gnome'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-112932399691529103</id><published>2005-10-15T02:27:00.000+05:30</published><updated>2005-10-15T02:36:36.923+05:30</updated><title type='text'>Recover root password in FC4</title><content type='html'>I know this sounds wiered , I mean putting up a Fedora article in Debian blog.Hey but remember atlast they are the various versions of Linux.This procedure is meant for those who have by cahnce forgotten their root password and don't wanna reinstall the OS overall again.I know you would be reading this article only if you rare using Debian , but you may find it usefull while trying to help your freind who is using FC4.I found the following description in a forum.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;If you are using Red Hat 9 or Fedora Core4 then you're also probably using Grub.&lt;br /&gt;&lt;/span&gt; &lt;ul&gt;   &lt;li&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;When you get to the OS option screen, select Red Hat 9.0 and then press &lt;span style="color: rgb(255, 0, 0);"&gt;e&lt;/span&gt;.&lt;br /&gt;    &lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Go to the line containing kernel and press &lt;span style="color: rgb(255, 0, 0);"&gt;e&lt;/span&gt;.&lt;br /&gt;    &lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Write     &lt;span style="color: rgb(255, 0, 0);"&gt;-s&lt;/span&gt; at the end of the line.&lt;br /&gt;    &lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Press enter and then press &lt;span style="color: rgb(255, 0, 0);"&gt;b&lt;/span&gt;.&lt;br /&gt;    &lt;/span&gt;&lt;/li&gt; &lt;/ul&gt; &lt;span style="font-weight: bold; font-style: italic;"&gt;This should log you in in single-user mode. After that just change the password with passwd and reboot.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-112932399691529103?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/112932399691529103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/112932399691529103'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2005/10/recover-root-password-in-fc4.html' title='Recover root password in FC4'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-112913705490780493</id><published>2005-10-12T21:24:00.000+05:30</published><updated>2005-10-12T22:40:54.933+05:30</updated><title type='text'>Installation</title><content type='html'>Debian can be installed either directly using CD packages or through net.&lt;br /&gt;I did net installation hence would like to elaborate about it.&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;Get the net installation cd image n write it onto an rw cd.&lt;/li&gt;   &lt;li&gt;Type linux26 for the 2.6 kernel series or just press enter for the default 2.4 kernel series.i have installe dthe 2.4 kernel because as of now Debian has a lot of support for this family.Any way 2.6 is also good.More abbout kernel later on.&lt;/li&gt;   &lt;li&gt;It will configure the net and do everything, you just need to follow the instructions.When it asks for harddsik partition, choose Edit Manually ,if your hard disk is totally free.SATA drives have problem ....and so u can forget if urs is one.&lt;/li&gt; &lt;/ol&gt; to be comtinued ............&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-112913705490780493?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/112913705490780493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/112913705490780493'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2005/10/installation.html' title='Installation'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-17140105.post-112774250790255780</id><published>2005-09-26T19:03:00.000+05:30</published><updated>2005-09-26T19:18:27.906+05:30</updated><title type='text'>Introduction</title><content type='html'>I would like to start of this blog by stating that, the blogs to come in future will contain my experience with the OS Debian which I have installed on  my pc. Some other articles would be from net which I think are pretty handy. Ofcourse I would put it up only after i have tried out the tricks on my own machine so be rest assured about the stability and safety factor.I would also like your feedback as it would help me immensly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17140105-112774250790255780?l=debianrules.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/112774250790255780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17140105/posts/default/112774250790255780'/><link rel='alternate' type='text/html' href='http://debianrules.blogspot.com/2005/09/introduction.html' title='Introduction'/><author><name>Soumya</name><uri>http://www.blogger.com/profile/17721434634020738704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_gGx093lpy6Y/SKw-GzUfCrI/AAAAAAAABIY/-PxlTUsCPVA/S220/Soumya_final.jpg'/></author></entry></feed>
