Vim에서 창당 버퍼 목록을 유지하려면 어떻게해야합니까?


15

나는 이것에 대한 답변을 찾을 수 없다는 것에 놀랐지 만, 아마도 뭔가 분명한 것을 놓치고 있습니다 : 창 당 버퍼 목록을 유지할 수 있습니까? 나는 종종 약 4 개의 스플릿을 가지고 있으며 각각은 일반적으로 하나의 CSS, 다른 하나의 JS, 다른 일부의 HTML 등 특정 목적을 제공합니다.

내가 찾고있는 것은 이것을 달성하는 플러그인입니다. 최근에 BufExplorer를 사용했습니다. 탭당 버퍼 목록을 유지할 수 있지만 창 별로는 버퍼 목록을 유지할 수있는 설정이 있습니다.

BufExplorer가 보유한 MRU 목록을 정말 좋아하지만 글로벌 버퍼 목록을 기반으로한다는 것이 짜증납니다. 내가 원하는 것은 창 당 MRU 기록입니다.


아직 빌드되지 않았으므로 찾을 수 없습니다. 이 Q & A에서 가장 가까운 이웃이 확인되었습니다
New Alexandria

답변:


1

IMHO, 정말로 필요한 것은 작업 공간 관리자입니다.

vim @ http://www.vim.org/scripts/script.php?script_id=1410에 대한 것을 찾을 수 있습니다

다음과 같은 명령을 제공합니다.

:WsAddFile              Add a new file to the workspace.                  
:WsAddGroup             Add a new group to the workspace.                 
:WsClose                Close the workspace window.                       
:WsInsertFile           Insert a file.                                    
:WsInsertGroup  Insert a group.                                           
:WsOpen         Open a workspace and display it in a window.              
:WsRun          Run a command using the selected unquoted file names.     
:WsRunq         Run a command using the selected quoted file names.       
:WsSave         Save the workspace.                                       
:WsSessionOpen  Open the workspace and Vim session.                       
:WsSessionSave  Save the workspace and the Vim session.                   
:WsToggle               Open or Close the workspace window. 

fb 에 4 개 이상의 창이 게시 된 Workspace 관리자 작업의 스크린 샷을 볼 수 있습니다 (공개).

정확히 원하는 버퍼 목록은 아니지만 다른 창과 같은 창에서 여러 버퍼에서 파일을 열 수 있습니다.

후자의 경우, 작업 공간 관리자는 버퍼 목록으로 사용됩니다. 스크린 샷에서 볼 수 있듯이 파일을 다른 그룹으로 그룹화했습니다.

AFIK, 이것은 당신이 얻을 수있는만큼 가깝습니다.

좋은 날.


0

왜 그런 수준의 창 관리를 vim으로 끌어들입니까? 때때로 분할 창을 사용합니다. Ctrl-F가 분할 창에 나타나는 파일에서 찾기 스타일 grep 명령에 매핑되어 있으며 가끔 vimdiff를 사용하기도합니다.

그러나 vim에서 영구적으로 창 관리를 원하십니까? PuTTY 연결 관리자 및 모든 종류의 터미널 에뮬레이터를 사용하면 원하는 방식으로 터미널을 분할 한 다음 각각에 별도의 vim 세션을 실행할 수 있습니다.


vim 인스턴스간에 레지스터를 공유 할 수 있습니까? 이것은 항상 vim의 여러 인스턴스를 실행하지 않으려는 가장 큰 이유 yank중 하나 put입니다.
brianmearns

0

왼쪽에 NERDTree가 열려 있습니다. >

여러 개의 버퍼가 열려 있습니다 (메인 뷰에서 하나만 볼 수 있습니다 ... "버퍼 1"이라고 부름)

이제 NERDTree로 가서 정말 빠르게 보거나 무언가를 복사하려는 다른 파일을 선택하십시오. 그래서 NERDTree에서 해당 파일을 열면 buffer1이 올바르게 숨겨져 방금 연 버퍼를보고 있습니다 (버퍼 2라고 부릅니다)

이제이 버퍼 2를 완전히 종료하고 버퍼 1 편집으로 돌아갑니다.하지만 버퍼 2에서 : q를 수행하면 하나의 큰 NERDTree를보고 버퍼 1을 다시 표시해야합니다. ... [견적의 나머지 표시]

Nerdtree를 사용하지 않지만 Ctrl-^ (아마도 Ctrl + 6 키)를 입력하여 buffer1로 다시 전환해야합니다.


0

나는 그런 플러그인을 모른다.

특정 파일의 버퍼를 여는 빠른 방법 중 하나는 FuzzyFinder의 : FufBuffer 명령을 사용하는 것입니다. 쉽게 액세스 할 수 있도록 열려있는 모든 버퍼 목록 (현재 창에서 제외)을 엽니 다. 나는 fn에 묶여있다. 예를 들어, fncss가있는 모든 CSS 파일 또는, fnjs가있는 모든 js 파일을 빠르게 볼 수 있습니다. FuzzyFinder는 최소한의 노력으로 원하는 특정 파일 / 버퍼 / 디렉토리 / 등에 도달하는 데 유용합니다 (이 특정 사용 사례 만이 아님).

그러나, 당신은 당신이 당신의 버퍼 사이를 전환하기 위해 : bn 및 : bN (또는 매핑 된 것이 무엇이든 ctrl-n / p가 기본값인지 또는 내 사용자 정의인지 기억할 수 없음)을 사용할 수있는 것을 찾고 있다고 생각합니다. 특정 파일 형식

아마도 현재 창에서 현재 버퍼 파일과 동일한 유형의 이전 / 다음 버퍼로 전환 할 수있는 명령을 제공하는 플러그인을 만들 수 있습니다.


BTW, 나는 이러한 별도의 버퍼 목록을 관리하는 것이 더 고통 스러울 것이라고 생각합니다.
Hannes

-1

이것은 완전한 대답은 아니지만 vim이 각 창마다 별도의 # 및 % 버퍼를 유지하는 것 같습니다. 따라서 한 창에서 두 파일 (CTRL- ^ 사용)과 다른 창에서 두 개의 다른 파일을 빠르게 바꿀 수 있습니다. 버퍼 목록은 여전히 ​​추가 한 모든 버퍼입니다.


이것은 실제로 의견이지만 아직 의견을 말할 수 없으므로 질문에 대답하지 않기 때문에 투표에 실패한 답변을 게시합니다. 그림을 이동.
mondaugen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.