vi: 한 줄을 명령으로 사용하는 방법은 무엇입니까?

vi: 한 줄을 명령으로 사용하는 방법은 무엇입니까?
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

선택한 줄을 실행하고 결과로 바꿉니다.

아래 데모에서 어떤 일이 일어나는지 확인할 수 있습니다.

                      데모 페이지

관련 정보