답변:
INSERT 모드를 한 번만 (끝에) 종료해도 괜찮 으면이 시퀀스가 작동합니다.
Ctrl+o 80i- Esc
80 반복 i 삽입- 삽입하려는 캐릭터INSERT 모드를 떠나지 않은 다른 하나 :
Ctrl+o :norm 8ia Return
<C-o>Ctrl+의 줄임말입니다 o.
:normal명령 프롬프트에서 그들을 발행 할 수 있습니다 명령. 때때로 매우 유용합니다.
Escnic Esc Esc.
예 Esc4iJEsc Esc를 들어 출력 JJJJ합니다.
<ESC>
<the number of times you want to repeat>
i
<the char you want to repeat>
<ESC>
for example: <ESC>12ia<ESC> will insert 12 a's.
단일 반복을 통해 :
Insert mode
-
Esc
80.
단일 반복에 대한 자세한 내용 : :help .
당신은 또한 할 수 있습니다 Escnihello there EscEsc
여기서 n은 반복 횟수입니다.
예를 들어 Esc5ihello there EscEsc
Esc나중에 두 번 눌러야한다는 것을 깨달았습니다 . 감사합니다 @prashant
다른 많은 방법이 있지만 AFAIK는 가장 짧은 방법입니다. vim 에서는 대부분 명령 모드에서 시간을 보내야하므로 3 번의 키 입력 + 반복 횟수 (80i-)입니다.
그러나이 반복적 인 일을 자주 사용한다는 것을 알게되면 그 목적에 맞는 기능이나 매크로를 만들 수 있습니다. 아마도 다음과 같은 것 :
:function Repeat(char)
: let counter = input("How many times?: ")
: call feedkeys("i")
: call feedkeys(repeat(a:char,counter))
:endfunction
:imap <C-U> <ESC>h"ryl :call Repeat(@r)<CR>
당신은 '삽입'모드로 유지하는 것이 '좋은'것이라고 말했지만, 명령 모드에서는 다음과 같은 방법으로 2 차를 피할 수 있습니다 ESC:-
이 게시물이 오래되었다는 것을 알고 있지만 '잘라 내기 / 복사하여 붙여 넣기'옵션을 놓치는 것은 부끄러운 일입니다 ...
x ...절단
80 ... 매수
p 풀
참고 : 이것은 Martin Beckett이 제안한 방법과 비슷하지만 명령을 실행할 때 지연이 발생합니다. 아마도 여러 번 모드를 전환하기 때문에이 명령이 즉시 실행됩니다.
v y비주얼 모드로 들어간 다음, k 다음 80 p80 번 붙여 넣기 위해 사용해야 했습니다. 뭔가 빠졌습니까, 아니면 단계를 잊었습니까?
답변을 늦었지만 그만한 가치가 있다면, 스팸 메일을 보내려면 "repeat last command"명령을 사용할 수 있습니다. .
i"구문" Esc -i to insert, enter phrase/character, esc to go normal mode
. - Spam till you are satisfied. Will repeatedly input the phrase you typed (it repeats your last command).
반복하고 싶은 반복 횟수를 정확히 모르지만 원하는 시간을 시각적으로 알 때 특히 유용합니다. 기본적으로 .내 눈이 만족할 때 까지 폭파합니다 .
이러한 쉬운 작업을 abbreviation위해서는 트릭을 수행 해야합니다. 에 다음을 추가하십시오.vimrc
iab <expr> -- repeat('-', 80)
그리고 지금부터 입력 한 --다음 공백이 있으면 (삽입 모드에 --있을 때)이 자동으로 -80 번 으로 변환됩니다 .
이 기능 repeat을 사용 하면 원하는만큼 문자열을 반복 할 수 있습니다.
모드로 .vimrc들어가서 command다음을 발행하여 를 업데이트하기 전에 테스트 할 수 있습니다.:iab <expr> -- repeat('-', 80)