VIM 레지스터 사용 전 모드에서 사용됩니다
-
18-09-2019 - |
문제
잠재적으로 2 개의 질문이 있습니다. 전 모드에서 레지스터를 참조하는 방법을 알고 싶습니다.
예를 들어, 파일을 편집하고 있으며 타임 스탬프 (또는 Datestamp)가 추가 된 파일을 저장하고 싶습니다.
다음을 사용하여 쉘 명령 출력의 값에 등록을 설정할 수 있다는 것을 알고 있습니다.
:let @a = system("date +\"%Y-%m-%d\"")
이 레지스터를 반박하고 그 값을 전 사령부에 삽입 할 수 있습니까? 같은 것 :
:w testfile.<value of "a register>
시스템 클립 보드와 붙여 넣기에 복사하는 것이 좋지만 앞으로 다른 명령을 구축하기위한보다 일반적인/프로그램 방식으로 수행하는 것이 좋을 것입니다.
해결책
이 작업에 대한 두 가지 접근 방식이 있지만 아마도 당신이 원하는 것도 아닙니다.
사용
<CTRL-R>a
현재 명령 줄에 내용을 삽입합니다. 보다:help c_CTRL-R
더 많은 정보를 위해서.사용
exe
표현식에 변수를 삽입 할 수 있습니다. 보다:help :exe
그리고:help 41.3
.:exe 'w testfile.' . @a
다른 팁
레지스터 "A"를 가정하면 다음을 입력 할 수 있습니다.
<CTRL-R>a
해당 시점에서 레지스터 값의 값을 입력합니다. 삽입 모드에서도 사용할 수 있습니다.
제휴하지 않습니다 StackOverflow