예를 들어 다음과 같은 텍스트가 있다고 가정해 보겠습니다.
/ apple
/ orange
/ banana
/ bread
열에 연속된 정수를 효율적으로 추가하는 방법은 무엇입니까?
/1 apple
/2 orange
/3 banana
/4 bread
실제 문제에서는 목록 길이가 20줄, 50줄 또는 그 이상일 수 있습니다.
답변1
vim
한 가지 아이디어는 매크로 기능을 사용하는 것입니다 . 커서를 /
첫 번째 위치 에 놓고 / apple
다음을 수행합니다.
a1<Esc>
모든 것을 시작하려면 첫 번째 숫자를 삽입하십시오( <Esc>
Escape 키로). 그런 다음 새로 삽입된 항목에 커서를 놓고 1
매크로를 기록합니다(슬롯에 q
).
qqyiwj0p<C-a>q
이제 처음 두 행에 번호가 매겨져 있어야 합니다. 이제 매크로를 n-2
여러 번 실행할 수 있습니다. 여기서 n
총 행 수는 다음과 같습니다. 예를 들어, 50개의 행이 있는 경우 2개의 행을 수동으로 채웠기 때문에 매크로를 48번 실행합니다.
48@q
답변2
vim의 "외부 명령을 통한 파이프" 기능을 사용할 수 있습니다. vim에서 파일을 열고 다음을 수행하십시오.
:%!cat -n | awk '{print $2, $1, $3;}' | sed 's/ //'
영리한 awk 코드를 사용하면 sed를 사용하지 않아도 됩니다(각 줄의 첫 번째 공백만 제거함). 30초 안에 작동이 안되서 sed를 사용했습니다.