Vim, 22 , 18 키 스트로크
O <esc>J:h r<cr>lyEZZ<C-v>{@"
내가 확장 한 멋진 vim 답변 을 생각해 낸 @Udioica 에게 큰 신뢰 . 현상금을 얻기 위해이 답변에는 별표가 없습니다.
설명:
입력은 프로그램의 나머지 부분보다 먼저 입력됩니다. Udioica는이 멋진 트릭을 생각해 냈습니다. 입력 <n>O <esc>
하면 사용 가능한 한 피라미드 피라미드와 빈 줄이 생성됩니다 :set autoindent
. 이 옵션은 기본적으로 vim 8 및 neovim에서 제공되지만 이전 버전의 vim은 아닙니다. 이것은 또한 추가 라인을 생성 J
하기 때문에이 라인을 다음 라인과 결합 하는 데 사용 합니다.이 라인은 효과적으로 우리 아래 라인을 제거합니다.
이제이 공간을 모두 별표로 바꿔야합니다. 내 코드에서 별표를 사용하는 것에 대해 걱정하지 않으면 선택 항목의 각 문자를 별표로 대체 하는 전체 항목 <C-v>{
과 유형을 시각적으로 선택합니다 r*
. 그러나 나는 그것을 할 수 없습니다.
도움말 페이지가 열립니다 :h r
. 이것에 대한 흥미로운 점은 vim 창에서이 페이지가 다음과 같이 표시된다는 것입니다.
r
r{char} Replace the character under the cursor with {char}.
...
첫 번째 'r'에 커서를 놓습니다. 그러나 파일 자체에는 실제로 다음 텍스트가 포함됩니다.
*r*
r{char} Replace the character under the cursor with {char}.
...
꽤 편리합니다. 따라서 우리는로 한 문자 위로 이동 하고 ([y] nd to the this word)로 l
텍스트 r*
를 잡아 yE
당깁니다.
이 버퍼를 닫으려면 바로 가기를 사용하여 파일을 저장하십시오 ZZ
. 이제 공간을 시각적으로 선택하고 마치 마치 텍스트를 입력 한 것처럼 생겼습니다 @"
. "@"은 vim-keystrokes로 다음 레지스터를 실행하고 "yanking의 기본 레지스터"이기 때문에 작동합니다.