우분투를 사용하고 vi
편집기 에서 100 줄을 모두 삭제하려고하는데 한 명령 으로이 작업에 대한 인터뷰 질문이 있습니다.
답변
일반 모드에서는
100dd
dd
현재 줄을 삭제합니다. 해당 명령 앞에 붙으면 100
100 번 반복됩니다.
현재 행에서 시작하여 파일에 100 개 미만의 행이있는 경우 vi
구현 에 따라 임의의 행을 삭제하거나 삭제하지 않습니다. 의 경우 aka 옵션의 vim
설정 여부에 따라 다릅니다 .cp
compatible
답변
-
현재 행에서 100 행 앞으로 삭제
-
dd (현재 줄 삭제)를 100 번 반복하십시오.
100dd
-
현재 행에서 99 행 앞으로 삭제
d99j
-
-
현재 줄을 포함하여 100 줄 뒤로 삭제
d99k
-
라인 번호로 특정 범위의 라인을 삭제
:1,100d
-
현재 줄로 시작하는 범위에서 줄을 삭제
:.,.+99d
등
답변
경우 모든 파일의 행을 삭제할 수 있으며,이 VI 명령은 삭제의 범위를 지정합니다 :
:1,$d
1
첫 번째 줄을
$
나타내고 마지막 줄을 나타냅니다
답변
파일의 모든 줄을 삭제 하시겠습니까? 로 파일을 엽니 다 vi
. 파일을 열 때 커서의 기본 위치 인 첫 번째 줄의 시작 부분에을 누른 Esc다음을 누릅니다 dG.
참고로 작업 d
은 삭제를 G
나타내며 파일의 마지막 줄을 나타냅니다. 따라서 어떤 행에서든을 누르면 dG현재 행에서 시작하여 마지막 행까지 모든 행이 삭제됩니다.
삭제할 연속 행 (예 : 101 ~ 200 행)을 알고있는 경우 다음 키 시퀀스를 입력하십시오
Esc:101,200d.
답변
파일의 어디에 있든지 상관없이 할 수 있습니다 ggdG
:%d
적은 키를 누르면 더 잘 작동합니다. 음, 계산 shift
및 enter
실제로, 위의 것보다 두 개 더 키 입력을 키를.
같은 수행 100dd
에만 삭제할 것 까지 당신이 곳에서 100 선을, 그리고 현재 라인의 위치에 따라, 파일에서 모든 행을 삭제하지 않을 수 있습니다.