문제

VIM에서 원격 기능을 사용하면 VIM 인스턴스를 재사용하여 필요에 따라 여러 파일을로드 할 수 있습니다.

동일한 터미널 인스턴스 내에서 해당 시설을 갖는 것이 좋을 것입니다.

VIM 7+에서 사용할 수있는 탭 기반 인터페이스를 갖고 싶어합니다. 시나리오는

  1. 열린 터미널
  2. vim file1.cpp
  3. 편집 - 저장 -Ctrl+z를 프롬프트하려면 ctrl+z
  4. 다른 파일을 엽니 다
    • vim file2.cpp
  5. 이제 동일한 편집기에 File1.cpp 및 File2.cpp가 열려 있습니다.

가능합니까?!

도움이 되었습니까?

해결책

나는 당신이 말하는 것도 정확히 말하지는 않지만 당신을위한 몇 가지 제안이 있습니다. 첫 번째는입니다 괴상한 나무, 다른 파일을 열기위한 멋진 트리 기반 파일 브라우저를 제공합니다. 매우 편리합니다. 나는 또한 뜨거운 열쇠를 설정했다 (ctrl+o) 열기 위해 괴상한 나무 나를 위한. 나는 내가있는 모든 프로젝트의 별칭을 유지합니다. ~/curr/trunk, 그래서 이것은 항상 나에게 적합합니다.

map <C-O> :NERDTreeToggle ~/curr/trunk/<CR>

내가 제안 할 또 다른 것은 Ctrl+z를 없애는 것입니다. 그것은 다소 어리 석고, 그 방법을 사용하는 사람을 아는 모든 사람은 길을 잃고 3 ~ 4 Vim이 백그라운드에서 달리는 경향이 있습니다. 직접 쉘을 열는 방법을 살펴보십시오. 쉘 스크립트를 실행하기 위해 맵을 사용합니다.

map ;s :!~/.vim/shell.sh<CR>

실행 :

#!/bin/sh
/usr/local/bin/bash -l;

나는 또한 내 .profile에 약간의 마법이 있습니다.

if [ "$VIMRUNTIME" != "" ] ; then
    export PS1="\u@\h \W \t$ vim> "
fi

u003C/2 cents>

다른 팁

이것이 당신이 지정하는 방식으로 정확하게 수행 할 수 있는지 확실하지 않지만 로컬 컴퓨터에서 실행되는 VIM 서버를 사용하여 매우 유사한 작업을 수행 할 수 있습니다.

살펴보십시오 :help remote.txt vim에서.

VIM 버전이 컴파일 된 경우 +clientserver vim을 사용하여 vim 서버를 작성한 다음 다른 파일을 열기 위해 명령을 실행할 수 있습니다.
그만큼 --servername 스위치는 새 서버를 생성 할 수 있습니다 --remote 스위치는 추가 명령이나 파일을 보낼 수 있습니다.

예를 들어

vim --servername test file1.txt
vim --servername test --remote file2.txt

나는 보았고, 내 컴퓨터 중 하나의 Xubuntu에서 표준으로 사용하는 Vim은 그것을 가지고 있지 않지만 몇 가지 지침이 있습니다. 여기 당신이 그것을 편집 한 경우 도움이 될 수 있습니다. 그렇지 않은 경우 GVIM 및 Symlinking을 설치하는 것은 분명히 옵션 (GVIM이 기본적으로 포함 된 것처럼) 또는 소스에서 바이너리를 컴파일하는 것입니다.

편집하다:
나는 GVIM과 더 많은 놀이를 가지고 있었고 이것은 터미널 내에서 이것을 할 수없는 것처럼 보이지 않습니다. Control-Z는 프로세스 수준에서 작업을 중단합니다. 화면에서 작동 할 수 있다고 생각했지만 GVIM이 그래픽 창에서 시작되지 않으면 커뮤니케이션이 발생하지 않는 것 같습니다.

VIM을 컴파일하면 쉽게 할 수 있습니다. +clientserver, 처럼 Andy는 이전 답변에서 제안했습니다.

나는 다음을했다 :

나는 서버로 vim을 시작했습니다.

vim --servername abc

나는 그것을 정지했다 CTRL+Z 그리고 그랬습니다 :

vim --servername abc --remote ~/.cshrc
fg 

이제 Vim이 있었다 ~/.cshrc 열려 있는.

그럼 나는했다 :

vim --servername abc --remote ~/.aliases
fg 

이제 Vim은 하나의 버퍼를 가지고있었습니다 ~/.cshrc 그리고 또 다른 ~/.aliases.

그럼 나는했다 :

vim --servername abc --remote-tab ~/foo_bar
fg 

그리고 지금 나는 vim이 이전 버퍼 두 개를 열고 다른 탭이있는 하나의 탭을 가지고있었습니다. ~/foo_bar 열려 있는.

콜 케이스의 경우 Vim은 GUI가 아닌 터미널에서 실행되었습니다.

현재 화면을 분할하고 다음과 같은 방식으로 두 개 (또는 그 이상) 파일을 열 수 있습니다.

수평 분할의 경우 :

:sp 'filename'

그리고 수직 분할을 위해 : do :

:vsp 'filename'

둘 사이의 탭을 탭하려면 Ctrl+W를 누른 다음 화살표 키를 사용하여 편집 할 파일을 탐색하십시오.

또한 파일을 전환하려면 (그리고 하나만 열려있는 경우) 다음을 수행 할 수 있습니다.

:e 'filename'

g'day,

또는 여러 파일을 갖고 싶지만 한 번에 하나의 파일에 전체 vim 창을 사용하려면 입력 할 수 있습니다.

:e 'filename'

새 파일을 엽니 다. 이 작업을 여러 번 수행 할 수 있습니다. 현재 열린 내용을 보려면 입력하십시오

:ls

열린 파일 사이를 반사하려면 CNTL-^ (Shift-CNT-6)를 사용할 수 있으며 메인 파일과 보조 파일 사이를 번갈아 가며 (파일 목록에 %와 #가 표시됨)

또는 입력 할 수 있습니다

:n b

여기서 n은 'ls'command에 표시된 목록에 원하는 파일의 시작 부분에있는 숫자입니다.

HTH

건배,

당신은 설정할 수 있습니다 hidden VIM의 기능, 여러 파일을 열 수 있도록 :

:set hidden

그런 다음 "버퍼"를 전환 할 때마다 저장하지 않고 원하는만큼 많은 파일을 열 수 있습니다.

:e 'filename'

버퍼를 탐색하기위한 몇 가지 명령이 있습니다.

:bnext
:bprev
:buffers

물론 Samoz가 언급했듯이 화면을 분할하여 동일한 창에서 여러 버퍼를 볼 수 있습니다.

나는 읽을 것을 제안한다 이것 VIM에 대한 좋은 소개를 위해 많은 시간을 절약 할 수 있습니다.

행운을 빕니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top