일부 응용 프로그램에는 "session" 개념이 있는데 , 여기서 응용 프로그램의 기존 인스턴스에 파일을로드하는 명령을 실행할 수 있습니다.
예를 들어, 내가 입력하면 :
$ firefox http://vi.stackexchange.com
Firefox는 새 Firefox 프로세스를 작성하지 않고 기존 Firefox 프로세스를 재사용합니다.
Vim에서 가능합니까?
일부 응용 프로그램에는 "session" 개념이 있는데 , 여기서 응용 프로그램의 기존 인스턴스에 파일을로드하는 명령을 실행할 수 있습니다.
예를 들어, 내가 입력하면 :
$ firefox http://vi.stackexchange.com
Firefox는 새 Firefox 프로세스를 작성하지 않고 기존 Firefox 프로세스를 재사용합니다.
Vim에서 가능합니까?
답변:
vim으로 컴파일 +clientserver
한 다음 명령 vim --servername SERVER
을 사용하여 vim 인스턴스를 시작 vim --servername SERVER --remote FILE
하고 이름이 지정된 vim 인스턴스에서 파일을 열 수 있습니다.
MacVim은 기본적으로 서버를 실행 mvim --remote-tab-silent
합니다. 기존 MacVim 인스턴스의 새 탭에서 mvim --remote-silent
파일을 열거 나 동일한 탭의 새 버퍼에서 파일을 여는 데 사용할 수 있습니다.
@ craigp의 대답은 정확하지만 --remote-silent
서버 이름에 대해 걱정하지 않고 간단히 추가하는 것이 가장 편리하다는 것을 알았습니다
(이것은 명명 된 vim 인스턴스를 처리하고 싶지 않다고 가정합니다) .
서버가 시작되거나 아직 시작되지 않은 경우 서버가 사용됩니다.
다음과 같이 호출 할 수 있습니다.
gvim --remote-silent '+cal cursor(line,col)' some_file
예 :
gvim --remote-silent '+cal cursor(102,4)' src/code.c
이 원격 초기화로 인해 커서를 움직이는 다른 방법을 사용해야했습니다.