Neovim 또는 Vim으로 복사하는 방법

2665 단어 neovimVimMac리눅스
최근 Neovim으로 이동했지만 Macvim에서 가능했던 시각 모드에서 범위를 지정하고 Ctrl-C를 사용하여 클립 보드에 복사 할 수 없습니다.
그래서 Neovim 열린 파일을 클립 보드에 복사하는 방법을 살펴 보았습니다.

vim의 레지스터



vim에서는 양크 또는 삭제하면 레지스터에 값이 저장됩니다. 레지스터에는 다음과 같은 종류가 있습니다.

익명 레지스터



특히 레지스터 이름을 지정하지 않을 때 사용되는 레지스터.yy에서는 커서가있는 행을 익명 레지스터에 저장하고 p에서는 익명 레지스터에서 값을 가져와 붙여 넣습니다.

지정된 레지스터



저장할 레지스터 이름을 지정하고 양도 할 수 있습니다. 지정된 방법은 "レジスタ名입니다.
예를 들어, 레지스터 r에 양입하고 싶을 때는 "ryy입니다.

0 (제로) 레지스터



또, vim에는 특수한 레지스터로서, 0(제로) 레지스터라고 하는 것이 존재합니다. 지정된 방법은 "0입니다.
이 레지스터는 양호한 값을 저장하지만 삭제 된 값은 저장하지 않습니다.
아래의 gif는 그 동작 예입니다.
  • yy -> {익명 = "first line", 0 = "first line"}
  • dd -> {익명 = "second line", 0 = "first line"}

  • 이와 같이 레지스터의 값이 천이하고 있습니다.



    클립보드 레지스터



    그런 다음 레지스터로 클립 보드를 지정할 수 있습니다. 지정 방법은 "*입니다.
    다음 맵을 ~/.config/init.vim 또는 .~/vimrc에 추가하면 vim에서 클립 보드를 사용할 수 있습니다.

    init.vim
    " copy & paste map
    nnoremap <Space>d "*dd
    vnoremap <Space>d "*dd
    nnoremap <Space>y "*yy
    vnoremap <Space>y "*yy
    nnoremap <Space>p "*p
    vnoremap <Space>p "*p
    
    :r!pbpaste는 각각
  • :r 명령 출력 삽입
  • !pbpaste 클립 보드 값을 출력하는 Mac 명령

  • 그리고 클립 보드를 활용할 수 있음을 확인할 수있었습니다.



    인서트 모드로 클립보드로부터 paste 하고 싶을 때는, <C-r>*로 할 수 있습니다만, 보통 Command-v에서도 paste 할 수 있으므로 특히 map 하지 않아도 좋을까라고 생각했습니다.

    참고



    Vim으로 복사 할 때 Tips

    좋은 웹페이지 즐겨찾기