찾다

 >  Q&A  >  본문

vim 여러 줄 일치하는 줄의 시작 부분 삭제

문제 설명
더 큰 파일을 처리해야 하며 각 줄에서 일치하는 문자열 이전의 내용이 삭제됩니다. 파일 내용 형식은 다음과 같습니다.

으아악

segmentfault가 각 줄에서 처음으로 나타나기 전의 내용은 줄의 시작 부분까지 삭제될 수 있을 것으로 예상됩니다. 예상되는 처리 결과는 다음과 같습니다. 으아악

현재 솔루션매크로를 사용하여 실행
으아악

단점: 효율성이 낮고 시간이 많이 소요됩니다

예상 해결책각 행의 일치하는 위치를 행의 시작 부분까지 삭제하려면 직접 열 편집(ctrl + v)을 기대하세요.
어떻게 달성하나요?

ringa_leeringa_lee2774일 전653

모든 응답(3)나는 대답할 것이다

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 16:36:34

    정기적인 교체 및 열 편집을 시도해 보세요. 키워드의 위치가 다르므로 직접 편집할 수 없습니다

    으아아아

    회신하다
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 16:36:34

    @ixx 정규 표현식이 맞습니다
    하지만 더 간단한 해결책이 있습니다

    으아아아

    ze 마크 매칭 모드 종료

    회신하다
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 16:36:34

    질문 작성자가 vim의 열 모드(Ctrl-v)를 사용한 다음 세그먼트 단어 앞 부분과 일치하도록 여러 줄을 선택하고 싶어하는 것 같습니다.
    하지만 할 수 없기 때문에 작동하지 않습니다
    1) 열 모드에서는 줄의 시작이나 끝에서 매칭하는 것이 더 좋으며, 불규칙한 매칭 블록을 형성하는 것은 다른 위치에서는 불가능합니다.
    2) 라인의 시작부터 첫 번째 라인의 세그먼트까지의 s는 3W이고, 두 번째, 세 번째 라인부터 세그먼트까지의 s는 2W입니다. 이는 한번에 하기 쉽지 않습니다. (같은 이유로 W를 w로 바꾸는 것도 작동하지 않습니다)

    열 모드는 텍스트를 깔끔하게 배열하거나 쉽게 배치 할 수 있는 경우 처리에 더 적합합니다.

    ==========
    또 다른 답변은 정규식을 사용하여 일치시키고 바꾸는 것이 매우 유용하다고 말했습니다.

    회신하다
    0
  • 취소회신하다