나는 다음을 따르려고 노력했다 :
그러나
5dd
준다
E492 : 편집기 명령이 아님 : 5dd
그런 다음 시도했습니다.
5d
한 줄만 삭제합니다. 여러 줄을 삭제하려면 어떻게해야합니까?
나는 다음을 따르려고 노력했다 :
그러나
5dd
준다
E492 : 편집기 명령이 아님 : 5dd
그런 다음 시도했습니다.
5d
한 줄만 삭제합니다. 여러 줄을 삭제하려면 어떻게해야합니까?
답변:
명령 모드 (일명 "Ex 모드")에서 명령을 입력하는 것처럼 들립니다. 그 맥락에서 :5d
5 번 줄을 제거 할 것입니다. 내용은 5dd
즉, 커서에서 시작하여 다섯 개 결과의 줄을 제거 - - 의도 한대로 작업을 일반 모드에서 입력으로 명령을 접두사하지 않습니다 :
.
나는 이것이 더 쉽다고 생각한다
/superuser/170795/how-can-i-select-and-delete-lines-of-text-in-vi
줄 번호를 알고 있으면 여러 (범위) 줄을 삭제할 수 있습니다.
:[start_line_no],[end_line_no]d
참고 : d는 삭제를 나타냅니다.
여기서
start_line_no는 삭제할 시작 줄 번호이고 end_line_no는 삭제할 끝 줄 번호입니다. 시작과 끝을 포함하여 시작과 끝 사이의 줄이 삭제됩니다.
예 :
:45,101d
45와 101을 포함하여 45와 101 사이의 행이 삭제됩니다.
$
하여 파일의 마지막 줄도 표시 할 수 있습니다 . 따라서 :45,$d
45에서 끝까지 모든 줄을 삭제합니다.
/<\/div>/
:.,[end_line_no]d
일반 모드에서 사용하기 위해 나열된 명령 ( :명령 모드의 접두사 ).
Vim에서 테스트되었습니다.
라인 금액별 :
줄 번호로 :
Backwards range given, OK to swap (y/n)?
비 시각적 모드를 선호하고 줄 번호를 인정한다면 또 다른 간단한 방법을 제안하고 싶습니다.
예
45 행에서 101 행까지의 텍스트를 삭제하고 싶습니다.
내 방법은 명령 모드에서 아래 명령을 입력하는 것이 좋습니다.
45Gd101G
읽습니다.
45 행 (
45G
)으로 이동 한 다음d
현재 행에서 101 행 ( )까지 텍스트 ( )를 삭제합니다101G
.
에 있습니다 vim
당신이 사용할 수있는 gg
대신에 G
.
@Bonnie Varghese의 대답과 비교하십시오.
:45,101d[enter]
그의 대답에서 위의 명령은를 포함하여 9 번 입력 enter해야하며 내 대답에는 8-10 번 입력해야합니다. 따라서 내 방법의 속도는 비슷합니다.
개인적으로, 나는 나 자신이 선호 45Gd101G
이상 :45,101d
이 경우가에서 VI의 명령 구문에 스틱처럼 때문에 :
+---------+----------+--------------------+
| syntax | <motion> | <operator><motion> |
+---------+----------+--------------------+
| command | 45G | d101G |
+---------+----------+--------------------+
Esc키를 눌러 편집 모드가 아닌지 확인하십시오. 삭제할 첫 번째 줄에 커서를 놓습니다. 를 입력하십시오 :5dd
. 현재 줄과 다음 네 줄을 삭제해야합니다.
또는 줄 번호 매기기가 켜져있는 경우 ...
Esc키를 눌러 편집 모드가 아닌지 확인하십시오. :#,#d
'#'은 삭제할 시작 및 끝 줄 번호를 나타내는 곳에 입력 합니다.
모든 줄을 삭제하려면-ESC gg dG 몇 줄을 삭제하려면 5라고 말하고 ESC 5dd를 사용하십시오.