`:function FunctionName`의 에코 코드 내용을 현재 파일로 리디렉션하는 방법은 무엇입니까?

`:function FunctionName`의 에코 코드 내용을 현재 파일로 리디렉션하는 방법은 무엇입니까?

이것을 이용하여 파일에 변수값을 넣는 방법을 배웠습니다.스택 오버플로 링크.

예: L = [1,2,3] :put string(L)

[1, 2, 3]

위 링크에 언급된 메소드는 표현식의 반환 값을 처리하는 것 같습니다.
하지만 명령이 에코하는 내용을 어떻게 캡처합니까 echo? 나는 이것이 function FunctionName함수의 내용을 화면에 반영하는 방식 이라고 생각합니다 .
내 vim 인터페이스에 에코가 표시되는 것처럼 레지스터나 다른 종류의 버퍼로 이동하지 않습니까?
이러한 에코 내용을 캡처하여 vim의 파일로 리디렉션할 수 있습니까?

답변1

나만의 솔루션:

:function Echo_to_file(expr_str)
:    redir => zen_temp | exe a:expr_str | redir END | put=zen_temp
:endfunction


:call Echo_to_file("function Echo_to_file")

   function Echo_to_file(expr_str)
1      redir => zen_temp | exe a:expr_str | redir END | put=zen_temp
   endfunction

1잘 작동하는데 왜 결과가 이상한지 모르겠습니다 .

관련 정보