
Vim에서 세 번째 줄의 9개와 11개 기호를 삭제할 수 있는 명령을 작성하려고 합니다. 이렇게 했지만 3s/9, 11///
예상했던 대로 아무 일도 일어나지 않았습니다. 귀하의 제안에 따라 이 작업을 수행해 주시면 감사하겠습니다. 더 정확하게 말하면 세 번째 줄에서 9번째 기호와 11번째 기호를 제거하고 싶습니다. 예를 들어 세 줄이 있습니다
- 바다 위 3미터
- 바다 아래 3미터
- vim에서 도움이 필요해요
그래서 "some" 단어의 "e" 문자인 세 번째 줄의 9번째 기호와 "help" 단어의 "h" 문자인 11번째 기호를 삭제하고 싶습니다.
답변1
여러 번 일치하는 방법은 27.4 Matching multiple times
사용자 설명서의 27장 섹션에 설명되어 있습니다( 참조 :help usr_27.txt
).
다음 명령은 줄에 9자 이상이 포함된 경우 줄 3의 처음 9, 10 또는 11자를 삭제합니다. 줄에 더 적은 문자가 포함되어 있으면 반환됩니다.E486: Pattern not found:
:3s/.\{9,11}//
그것이 당신이 원하는 것인지 확실하지 않은 경우 질문을 업데이트하십시오.
답변2
편집 모드에서 다음을 입력합니다.
08lxl.
0
커서를 줄의 시작 부분으로 이동8l
커서를 8자 앞으로 이동x
커서 아래 문자 삭제l
커서를 한 문자 앞으로 이동.
마지막 명령 반복(x)
이를 키(예: )에 바인딩하려면 다음을 수행하세요 ,
.
:map , 08lxl.
그 후 편집 모드에서 누를 때마다 ,
해당 명령이 실행됩니다.