cat a.txt
echo hi
echo hu
echo ha
묻다:vi를 사용하여 a.txt를 열 때 ex.:?의 두 번째 줄을 실행하는 방법은 무엇입니까?
따라서 "vi a.txt" -> SOMEMAGICCOMMAND -> "echo hu"가 명령으로 실행됩니다. 어떻게?
답변1
현재 라인을 실행하고 해당 라인을 대체하는 파일의 출력을 캡처합니다.
:. !sh
2~4행을 실행하고 파일에 출력을 캡처하여 이 행을 대체합니다.
:2,4 !sh
전체 파일을 실행하고 모든 줄을 바꾸는 파일의 출력을 캡처합니다.
:% !sh
위와 동일하지만 출력을 파일로 캡처하는 대신 인쇄하면 됩니다.
:.w !sh
:2,4w !sh
:%w !sh
답변2
vim을 사용한다고 가정하면
텍스트( Shift+ V)가 포함된 줄을 선택한 다음 다음 명령을 실행하면 알 수 있습니다.
:!sh
선택한 줄을 실행하고 결과로 바꿉니다.
예
아래 데모에서 어떤 일이 일어나는지 확인할 수 있습니다.