Vim의 popup window에서 터미널 사용

3936 단어 Vim

소개



안녕하세요. 고릴라입니다.

작년에 Vim에 popup window의 기능이 들어간 후, 필자는 그들을 사용하여 몇 가지 플러그인을 만들었습니다.
  • translate.vim
  • docker.vim

  • popup window는 일반적으로 버퍼와 동일하지만 몇 가지 제한 사항이있었습니다. 그 중 하나는 터미널을 사용할 수없는 곳입니다. (원래 커서 조작을 할 수 없다)
    그러나 요 전날이 커밋이 들어가면 popup window에서도 터미널을 사용할 수있게되었습니다.

    가볍게하는 방법에 대해 설명합니다. 덧붙여 필자의 환경은 다음이 됩니다.
    ❯❯❯ vim --version
    VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Feb  4 2020 20:59:42)
    Included patches: 1-205
    (省略)
    

    방법



    다음 명령줄에서 실행해 보십시오.
    :call popup_create(term_start([&shell], #{ hidden: 1, term_finish: 'close'}), #{ border: [], minwidth: winwidth(0)/2, minheight: &lines/2 })
    

    그러면 이미지처럼 popup window에서 터미널을 사용할 수 있게 됩니다.


    exit 어쨌든 터미널을 종료하면 popup window도 닫히게 되어 있습니다만, 이것은 term_finishclose 설정하지 않으면 popup window가 닫히지 않고 커서가 popup windows에 붙습니다. 이것을 듣고 불안해진 당신, 괜찮습니다, 제대로 term_finish 로 닫힙니다.

    명령을 만들어 둡니다.



    이런 긴 명령을 치고 싶지 않다고 생각하므로 vimrc에 명령을 정의해 둡시다.
    필자는 우선 잡하게 이런 느낌으로 정의했습니다.
    command! Terminal call popup_create(term_start([&shell], #{ hidden: 1, term_finish: 'close'}), #{ border: [], minwidth: winwidth(0)/2, minheight: &lines/2 })
    

    Matryoshka



    모처럼 터미널 사용할 수 있게 되었으므로, Vim 안에서 Vim 안에서 Vim의…를 해 봅시다.
    :q 에서 터미널을 열면 Vim을 열고 터미널을 여는 것을 반복합니다.



    마지막으로



    Vim 점점 진화하고 있네요. Vim script 9도 왔고 앞으로도 기대됩니다.

    좋은 웹페이지 즐겨찾기