Anonim

vi는 잘 알려진 화면 지향 텍스트 편집기로 유닉스 초기로 거슬러 올라갑니다. 가장 인상적인 특징은 두 가지 모드로 작동 할 수 있다는 것입니다.

삽입 모드에서 텍스트는 파일의 일부가됩니다. 일반 모드에서 키 입력은 직접 명령으로 이해됩니다. 따라서 파일을 편집하는 데 필요한 작업량을 줄이기 위해 다양한 키보드 명령이 사용됩니다.

그러나 명령이 너무 다른 경우 키 입력 명령을 사용하여 행을 제거하거나 편집하는 것이 더 쉬운가요? - 알아 보자.

선 또는 블록 절단

빠른 링크

  • 선 또는 블록 절단
        • 제거하려는 텍스트 줄 앞에 커서를 놓습니다.
        • v를 누르고 문자 시각적 선택을 시작하십시오
        • 전체 줄을 선택하려면 V를 누르십시오
        • 블록을 선택하려면 Ctrl + v 또는 Ctrl + q를 누르십시오
        • 텍스트 줄 끝에 커서를 놓습니다.
        • d를 눌러 자르십시오
  • 라인을 통한 편집
  • 여러 줄 삭제
  • 일반 모드에서 문자, 단어 및 줄 사용
    • dd
    • 배반
    • dw
  • 마지막 생각
  1. 제거하려는 텍스트 줄 앞에 커서를 놓습니다.

  2. v를 누르고 문자 시각적 선택을 시작하십시오

  3. 전체 줄을 선택하려면 V를 누르십시오

  4. 블록을 선택하려면 Ctrl + v 또는 Ctrl + q를 누르십시오

  5. 텍스트 줄 끝에 커서를 놓습니다.

  6. d를 눌러 자르십시오

이제 해당 행을 다른 곳에 붙여 넣으려면 커서를 새 위치로 옮기고 p를 누르십시오. p를 누르면 커서 위치 다음에 선이나 블록이 붙여집니다. 커서 위치 앞에 붙여 넣으려면 P를 눌러야합니다.

라인을 통한 편집

6 단계에서 c를 누르면 선택한 텍스트를 변경할 수도 있습니다. d를 누르면 잘라 내고 y를 누르면 k거나 복사하며 c를 누르면 새 텍스트를 추가 할 수있는 삽입 모드가 열립니다. 이를 통해 전체 라인 또는 블록을 먼저 절단하지 않아도 교체 할 수 있습니다.

여러 줄 삭제

vi에서 둘 이상의 행을 삭제하려는 경우 두 가지 좋은 옵션이 있습니다.

“:%d”

이 명령은 모든 줄을 삭제합니다. ':'는 vi를 명령 모드로 설정합니다. '%'문자는 모든 행에 'd'(삭제 명령)를 적용하도록 지시합니다.

“:1, $d”

이것은 더 인기있는 대안입니다. 다시 ':'은 명령을 도입합니다. '1, $'는 vi에게 어떤 라인을 목표로할지 알려줍니다. 이 예에서는 1 행부터 시작하여 마지막 행이됩니다. 'd'는 삭제를 나타냅니다.

그러나이 명령이 첫 번째 명령보다 나은 이유는 무엇입니까? – 이것은 적응 가능합니다. 한 줄씩 삭제하지 않고 한 줄씩 삭제할 수 있습니다.

“:4, $-2d” 와 같은 것을 사용하면 vi는 마지막에서 세 번째와 두 번째 사이의 모든 행을 삭제합니다. 행은 0이 아니라 1로 시작하므로 처음 세 개는 그대로 유지됩니다. 그리고이 예에서 4를 삭제하려는 첫 번째 행을 지정합니다.

'-2'는 기본적으로 마지막 줄부터 시작하여 1까지 계산되는 줄 수를 나타냅니다.

일반 모드에서 문자, 단어 및 줄 사용

먼저, Escape를 눌러 일반 모드로 들어가고 싶을 것입니다. 그 후 다음 vi 명령을 사용하여 특정 정보를 삭제할 수 있습니다.

dd

이 명령은 전체 줄을 삭제합니다. 단어 나 빈 공간에 상관없이 줄의 어느 곳에 나 커서를 놓을 수 있습니다. 선과 점유 된 모든 공간이 지워집니다.

배반

한 줄에서 한 문자 만 제거하려면 x를 사용할 수 있습니다. 문자 뒤에 커서를 놓고 x를 누르십시오. 캐릭터와 캐릭터가 차지한 공간이 제거됩니다. 이것은 또한 근처에있는 다른 모든 문자들이 틈을 메우기 위해 함께 모일 것이라는 것을 의미합니다.

x를 사용하여 줄에서 빈 공간을 삭제할 수도 있습니다. 문자 위로 마우스를 가져 가서 문자를 제거하려면 x 대신 X를 누르십시오.

dw

커서가 단어의 시작 부분에있을 때 dw를 누르면 해당 단어가 삭제됩니다. 이것은 또한 단어가 차지하는 공간을 제거합니다. 또는 단어의 일부만 제거 할 수도 있습니다.

삭제하려는 부분의 왼쪽에 커서를 놓습니다. dw를 눌러 해당 문자와 ​​줄에서 차지한 공간을 제거하십시오. 이렇게하면 인접한 문자가 모여 간격을 메 웁니다.

마지막 생각

vi가 모달 편집기만큼 재미 있고 독창적이기 때문에 익숙해지기까지 시간이 걸립니다. 모드 간 전환시 피드백은 거의 없습니다. 따라서 명령을 내릴 때 실수로 코드 텍스트를 쉽게 입력 할 수 있으며 그 반대도 마찬가지입니다.

Vi에서 모든 줄을 삭제하는 방법