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 74 remaining solutions by signing in and submitting your own entry
#75 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

75 active golfers, 192 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

14
#45 - slash-7 / @slash-7

10/11/2024 at 07:13AM

14
#46 - MatFriend / @MatFriend

10/15/2024 at 12:38AM

14
#47 - Sandro / @ksandro

10/16/2024 at 10:23PM

14
#48 - luke37842 / @luke37842

11/05/2024 at 06:40PM

14
#49 - Philipp Schilk / @schilkp

12/03/2024 at 12:18PM

14
#50 - Swaraj Dash / @swarajdash

01/03/2025 at 06:01PM

14
#51 - jonas-grobe / @jonas-grobe

04/16/2025 at 06:23PM

14
#52 - Austin / @austinlongmn

04/24/2025 at 01:13PM

15
#53 - Philippe Carphin / @PhilippeCarphin

10/15/2024 at 01:35AM

15
#54 - Justin Fisher / @justinfisherr

11/01/2024 at 08:49PM

16
#55 - thedvd98 / @thedvd98

11/05/2024 at 09:18PM

16
#56 - Biswajit / @biswajitpatra

01/26/2025 at 03:15PM

18
#57 - anatolepain / @anatolepain

10/18/2024 at 01:09PM

18
#58 - Ivan Prikaznov / @Prikaz98

11/01/2024 at 03:52PM

19
#59 - Yen-Chun Chen / @YenChunChen4

10/10/2024 at 08:58PM

19
#60 - kramff / @kramff

10/18/2024 at 04:56PM