운영체제/Linux

[Linux] vi/vim 관련 | 마우스 드래그 시 비주얼 모드로 진입 해제방법

louky 2018. 9. 17. 15:24
반응형

 

 

[Linux] vi/vim 관련 |

마우스 드래그 시 비주얼 모드로 진입 해제방법 

 

최근 vi/vim에서 특정 code를 복사하기 위해 마우스로 드래그하여 선택하려는 순간 vi/vim편집창이 비주얼 모드로 변경된다. 정말 신경이 쓰인다.... 

짧은 단어나 라인은 괜찮은데 그렇지 않을 경우 정말 짜증난다. 그렇다고 모든 시스템이 동일하지 않으니 내가 환경에 맞추는 수밖에 없을꺼 같았지만

검색을 해보니 옵션으로 설정이 가능했다.

 

vi/vim을 사용하는 엔지니어/개발라면 공감할 수 있을꺼 같고 

내 기억이 그리 좋지 않기 때문에 vi/vim 옵션 설정 관련해서 정리하고자 한다. 

(태클은 사양!!! 그러나 오타/잘못된 정보에 대한 지적은 언제나 환영입니다.)

 

 

 

 리눅스 vi/vim상에서 마우스를 이용하여 특정 코드 또는 전체, 단어 등을 선택하고 복사/붙여넣기를 할때 비주얼모드(visual)로 계속 전환이 된다면 아래와 같이 vi/vim옵션을 통해 쉽게 설정을 변경을 할 수 있다. 

 

 

변경 전 예 ) 마우스로 원하는 위치를 선택하면 visual 모드로 전환

 

 

 

  • 옵션 

vi 편집창 안에서 ":set mouse= or :set mouse-=a " 실행     

     -  vi/vim 편집창안에서만 사용가능, 편집창 종료 후 다시 편집창 사용시 재설정 필요 

 

영구 반영 $HOME/.vimrc파일에 "set mouse= or set mouse-=a "추가 

 

 

변경 후 예 ) 마우스로 원하는 위치를 선택해도 visual mode로 전환 되지 않음

 

 

 

 

mouse 옵션은 vi/vim 편집창 안에서도 마우스를 인식시키기 위한 옵션으로 기능을 설정하면 마우스를 클릭하는 곳으로 커서가 이동되고 드래그 시 비주얼모드로 동작을 한다.

또한 마우스의 휠을 통해 스크롤 기능도 지원한다. 

 

 

vi/vim에서도 메크로 기능(?)을 제공하는거 같으며, 아래와 같이 설정을 할 수 있다. 

 

ex) vi ~/.vimrc

 

map <F5> <ESC>:set mouse=a<CR>                : 설정

map <F6> <ESC>:set mouse-=a<CR>              : 설정 해제

 

이 두 줄을 추가 하고 vi/vim 편집창을 다시 실행하면 다음과 같이 동작한다.

 

<F5>을 누르면 마우스 옵션 기능을 활성화 하고 

 

<F6>을 누르면 해제된다.

 

설명을 하자면...

map <F5> <ESC>:set mouse=a<CR>

 |   |     ↳  ③  실행 command

 |    ↳  ② 입력키

  ↳ ① map (mapping)

 

 

다음 "입력키"을 누르면 "③  실행 command" 작동된다 라고 보면 된다.

 

<F5>을 누르면 <ESC>키를 누르고 :set mouse=a를 입력한 후 <CR> 캐리지 리턴을 하게 되면 vi/vim내 마우스 옵션을 사용할수 있는 것이고, <F6>을 누르면  :set mouse=a을 설정하게 되는 것이다.

 

 

반응형