문제

잠재적으로 2 개의 질문이 있습니다. 전 모드에서 레지스터를 참조하는 방법을 알고 싶습니다.

예를 들어, 파일을 편집하고 있으며 타임 스탬프 (또는 Datestamp)가 추가 된 파일을 저장하고 싶습니다.

다음을 사용하여 쉘 명령 출력의 값에 등록을 설정할 수 있다는 것을 알고 있습니다.

:let @a = system("date +\"%Y-%m-%d\"")

이 레지스터를 반박하고 그 값을 전 사령부에 삽입 할 수 있습니까? 같은 것 :

:w testfile.<value of "a register>

시스템 클립 보드와 붙여 넣기에 복사하는 것이 좋지만 앞으로 다른 명령을 구축하기위한보다 일반적인/프로그램 방식으로 수행하는 것이 좋을 것입니다.

도움이 되었습니까?

해결책

이 작업에 대한 두 가지 접근 방식이 있지만 아마도 당신이 원하는 것도 아닙니다.

  1. 사용 <CTRL-R>a 현재 명령 줄에 내용을 삽입합니다. 보다 :help c_CTRL-R 더 많은 정보를 위해서.

  2. 사용 exe 표현식에 변수를 삽입 할 수 있습니다. 보다 :help :exe 그리고 :help 41.3.

    :exe 'w testfile.' . @a
    

다른 팁

레지스터 "A"를 가정하면 다음을 입력 할 수 있습니다.

<CTRL-R>a 해당 시점에서 레지스터 값의 값을 입력합니다. 삽입 모드에서도 사용할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top