Real Vim ninjas count every keystroke - do you?

Pick a challenge, fire up Vim, and show us what you got.

Changelog, Rules & FAQ, updates: @vimgolf, RSS.

Your VimGolf key: please sign in

$ gem install vimgolf
$ vimgolf setup
$ vimgolf put 9v006705493c000000000513

Change class fields from snake case to camel case

Change the class fields in this Scala class from snake case to camel case

Start file
case class User(
  id: Long,
  username: String,
  email: String,
  first_name: String,
  last_name: String,
  age: Int,
  gender: String,
  phone_number: String,
  address: String,
  city: String,
  country: String,
  postal_code: String,
  occupation: String,
  company: String,
  salary: Double,
  is_active: Boolean,
  registration_date: java.time.LocalDate,
  last_login_date: java.time.LocalDateTime,
  preferences: Map[String, String],
  roles: List[String]
)
End file
case class User(
  id: Long,
  username: String,
  email: String,
  firstName: String,
  lastName: String,
  age: Int,
  gender: String,
  phoneNumber: String,
  address: String,
  city: String,
  country: String,
  postalCode: String,
  occupation: String,
  company: String,
  salary: Double,
  isActive: Boolean,
  registrationDate: java.time.LocalDate,
  lastLoginDate: java.time.LocalDateTime,
  preferences: Map[String, String],
  roles: List[String]
)

View Diff

5,6c5,6
<   first_name: String,
<   last_name: String,
---
>   firstName: String,
>   lastName: String,
9c9
<   phone_number: String,
---
>   phoneNumber: String,
13c13
<   postal_code: String,
---
>   postalCode: String,
17,19c17,19
<   is_active: Boolean,
<   registration_date: java.time.LocalDate,
<   last_login_date: java.time.LocalDateTime,
---
>   isActive: Boolean,
>   registrationDate: java.time.LocalDate,
>   lastLoginDate: java.time.LocalDateTime,

Solutions

The best way to learn is to practice. Below, you will find some of the solutions other golfers have entered. To unlock higher ranked solutions, submit your own entry which does as well or better than the solutions you can currently see - climb the ladder!

Check out these helpful resources to improve your Vim skills... Game on.

Unlock 90 remaining solutions by signing in and submitting your own entry
#91 mike / @mikevux262 - Score: 263 - 04/25/25 @ 13:01
<Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up>:<50-53><50-53>:%s/\(_\)\(\w\)/\u\2/g<<Esc>[201~<CR>:<BS><50-53>:%s/\(_\)\(\w\)/\u\2/g<Esc>[201~u:<50-53>:%s/\(_\)\(\w\)/\u\2/g<Esc>[201~<Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><BS><BS><BS><Right><Insert><BS><Right><Left><Left><Left><.<BS><BS><BS><BS><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS>:<BS>:<50-53>:%s/\(_\)\(\w\)/\u\2/g<Esc>[201~<Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Down><BS><CR>:wq!<CR>

0 comments


Created by: @pacuna

91 active golfers, 240 entries

Leaderboard (lowest score wins):
13
#31 - M S Dheeraj Murthy / @Dheeraj-Murthy

11/14/2024 at 06:46AM

13
#32 - Danilo J. S. Bellini 🥊🇧🇷 / @danilobellini

11/23/2024 at 02:02AM

13
#33 - DavidJArnold / @DavidJArnold

11/26/2024 at 11:12AM

13
#34 - Realia / @realia

12/13/2024 at 01:54AM

13
#35 - 0xf00ff00f / @0xf00ff00f

01/09/2025 at 11:56PM

13
#36 - Magnus Wahlstrand / @magnuswahlstrand

01/12/2025 at 08:34AM

13
#37 - George Golubev / @george-gol

01/17/2025 at 04:04PM

13
#38 - Pa7shohG / @Pa7shohG

01/25/2025 at 03:49PM

13
#39 - Alexander Cai / @adzcai

02/01/2025 at 05:08PM

13
#40 - Paroxyss / @Paroxyss

02/12/2025 at 01:16PM

13
#41 - chujDK / @chujDK

03/05/2025 at 02:09AM

13
#42 - Abdelrahman Madkour / @a3madkour

04/04/2025 at 12:15PM

13
#43 - Zsanett Ferenczi / @ferenczizsani

04/10/2025 at 09:53AM

13
#44 - mojito04 / @mojito04

04/25/2025 at 08:54PM

13
#45 - Gigo / @GiggioG

04/29/2025 at 09:14AM

13
#46 - Christof Gehrig / @christofgehrig

04/29/2025 at 04:24PM

13
#47 - Trendt / @Trendt

05/08/2025 at 02:53PM

13
#48 - jimmymills / @jimmymills

05/10/2025 at 04:52AM

13
#49 - Chiaso / @Chikalona

05/16/2025 at 08:09PM

13
#50 - Damien Baldy / @dbaldy

05/19/2025 at 01:12PM

13
#51 - Leon Kacowicz / @leonkacowicz

05/22/2025 at 12:08PM

13
#52 - winter-loo / @winter-loo

05/29/2025 at 04:33AM

13
#53 - greg-asc / @greg-asc

06/06/2025 at 11:00PM

13
#54 - raylmorris / @raylmorris

06/20/2025 at 04:06AM

14
#55 - slash-7 / @slash-7

10/11/2024 at 07:13AM

14
#56 - MatFriend / @MatFriend

10/15/2024 at 12:38AM

14
#57 - Sandro / @ksandro

10/16/2024 at 10:23PM

14
#58 - luke37842 / @luke37842

11/05/2024 at 06:40PM

14
#59 - Philipp Schilk / @schilkp

12/03/2024 at 12:18PM

14
#60 - Swaraj Dash / @swarajdash

01/03/2025 at 06:01PM