VI를 통해 복사된 파일을 여는 방법

VI를 통해 복사된 파일을 여는 방법

"a.txt"가 있다고 가정해 보겠습니다. 파일을 복사한 후 VI를 사용하여 새로 복사된 파일을 열고 싶습니다.

cp a.txt b.txt
vi b.txt

두 명령을 하나의 명령으로 결합하는 방법은 무엇입니까?

답변1

a.txt를 열고 내용을 b.txt에 저장한 다음(효과적으로 복사) b.txt로 전환하여 vi 자체를 사용하여 복사할 수 있습니다.

함께 넣어보세요:

vi -c 'w b.txt' -c 'e#' a.txt

이는 (내부적으로 ) 내용을 b.txt라는 파일에 저장하는 명령을 실행 vi a.txt한 후 실행하는 것과 같습니다 . 그러나 이 시점에서 vi는 여전히 a.txt를 편집하고 있으므로 "대체 파일 편집"(또는 "마지막 파일 편집")을 의미하는 명령을 계속 진행하고 vi가 b.txt를 방금 건드린 경우 다음으로 전환합니다. 문서를 편집 중입니다.:w b.txtvi:e#

답변2

&&연산자 사용

cp a.txt b.txt && vi b.txt

답변3

자신만의 함수를 작성하여 사용할 수 있습니다. 다음 예에서는 cp1을 명령으로 사용합니다.

예:

$ cat test.txt
function cp1() {
  source_file=$1
  destination_file=$2
  cp "${source_file}" "${destination_file}"
  vi "${destination}"
}

$ . ./test.txt    
$ cp1 a.txt b.txt 

답변4

입력을 저장하는 방법을 원한다면 bash 내장 기능을 사용하여 이전 명령의 마지막 단어를 반복할 수 있습니다. 당신은 이것을 할 수 있습니다ALT+.

> cp a.txt b.txt
> vi ALT+.

매우 유용하며 vim의 도트 연산자를 생각나게 합니다.

행복한 골프.

관련 정보