<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://kb.rvmgroup.it/index.php?action=history&amp;feed=atom&amp;title=Capitalizzazione_parole</id>
	<title>Capitalizzazione parole - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://kb.rvmgroup.it/index.php?action=history&amp;feed=atom&amp;title=Capitalizzazione_parole"/>
	<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Capitalizzazione_parole&amp;action=history"/>
	<updated>2026-05-07T04:03:02Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Capitalizzazione_parole&amp;diff=3611&amp;oldid=prev</id>
		<title>Gabriele.vivinetto at 08:48, 1 August 2005</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Capitalizzazione_parole&amp;diff=3611&amp;oldid=prev"/>
		<updated>2005-08-01T08:48:30Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category: Vi]]&lt;br /&gt;
&lt;br /&gt;
Preso da [http://www.vim.org/tips/tip.php?tip_id=617 Fun with case twiddling]&lt;br /&gt;
&lt;br /&gt;
Someone came on #vim asking about &amp;quot;sentence case&amp;quot;, meaning Capitalization Of Every Word.&lt;br /&gt;
&lt;br /&gt;
I came up with some bad solutions before learning this:&lt;br /&gt;
&lt;br /&gt;
 :s/\(^\|\s\)\([a-z]\)/\1\U\2/g&lt;br /&gt;
&lt;br /&gt;
This inspired me to come up with a silly script for rotating between ALL CAPS, all lower, and Sentence Case.&lt;br /&gt;
&lt;br /&gt;
MiXed Case is set to UPPER.&lt;br /&gt;
&lt;br /&gt;
Then I mapped it (in visual mode) to ~, thus breaking the wonderful tilde :)&lt;br /&gt;
&lt;br /&gt;
Here&amp;#039;s the script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fun! TwiddleCase(str)&lt;br /&gt;
if a:str == toupper(a:str)&lt;br /&gt;
let ans = tolower(a:str)&lt;br /&gt;
elseif a:str == tolower(a:str)&lt;br /&gt;
let ans = substitute(a:str,&amp;quot;\\(^\\|\\s\\)\\([a-z]\\)&amp;quot;,&amp;quot;\\1\\U\\2&amp;quot;,&amp;quot;g&amp;quot;)&lt;br /&gt;
else&lt;br /&gt;
let ans = toupper(a:str)&lt;br /&gt;
endif&lt;br /&gt;
return ans&lt;br /&gt;
endfun&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And the mapping:&lt;br /&gt;
&lt;br /&gt;
 vmap ~ x:call setreg(&amp;#039;&amp;quot;&amp;#039;, TwiddleCase(getreg(&amp;#039;&amp;quot;&amp;#039;)))^MP&lt;br /&gt;
&lt;br /&gt;
Found an easier way to upper / lower case the whole file/part file.&lt;br /&gt;
&lt;br /&gt;
 do a visual select of the lines you want to do the modifications and&lt;br /&gt;
 gU ==&amp;gt; uppercase and    gu  ==&amp;gt; lowercase&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
</feed>