여러 파일 탐색


11

예를 들어 명령 행에 여러 개의 파일과 I 열려 정력, 경우 vim debug.log*부하 debug.log, debug.log.1그리고 debug.log.2내가 그들 사이를 탐색 할 수 있습니다, 여러 개의 창 (에 할당 :split/ :vsplit) 또는?

이 작동 모드에 대해 내가 아는 유일한 바로 가기 :n는 목록에서 다음 파일을로드합니다. 이 다중 파일 작업 모드에서 무엇을 더 할 수 있습니까? (또는 어떤 주제를 다루는가?)


3
:previous(또는 :prev)는의 역수이며 :n파일로 되돌아갑니다.
Rich

답변:


13

가장 관련성이 높은 도움말 항목은 또는 :ls로도 알려져 있습니다 .:files:buffers

당신에 vim debug.log*당신이 준 예, :ls명령을, 당신은 볼 것이다 :

:ls
  1 %a   "debug.log"                    line 1
  2      "debug.log.1"                  line 0
  3      "debug.log.2"                  line 0
Press ENTER or type command to continue

… 첫 번째 버퍼가 활성 버퍼임을 나타냅니다.

debug.log.2현재 창에서 열려면 버퍼 3을 표시 하도록 :b 3or :b debug.log.2명령을 제공하십시오 .

창을 분할하고 그 안에 버퍼 2를 열려면 :sb 2명령을 내립니다. 그 수직 분할 버전은입니다 :vert sb 2.

:b명령 에는 많은 변형이 있습니다 . 여기에 인용 된 도움말 항목을 살펴보고 이에 대한 느낌을 얻으십시오.


또한 vim -o debug.log*모든 파일을 개별 분할 vim -O debug.log*하여 열거 나 세로 분할에서 각각 열도록 호출 할 수 있습니다 .


6

200_success가 언급 한 원시 vim 기능 외에도 Vim의 생태계는 다음과 같은 추가 기능을 제공하는 플러그인으로 가득합니다.

그러나 플러그인을 사용하기 전에 vim의 버퍼와 창을 완전히 이해하는 것이 가장 좋습니다.


1
플러그인 권장 답변에 대한 정책을 읽고 이러한 플러그인이 사용자에게 정확히 어떻게 도움이되는지에 대한 세부 정보를 추가하십시오.
200_success

6

다른 매개 변수로 vim을 열 수도 있습니다.

탭에서 파일을 엽니 다.

vim -p debug.log*

세로 분할로 파일을 엽니 다.

vim -o debug.log*

CtrlSpace라는 시원하고 강력한 플러그인이 있습니다.

https://github.com/szw/vim-ctrlspace

많은 파일로 작업해야하는 경우 매우 편리합니다. 단순히 ctrl-space를 모든 탭에 대한 자체 버퍼 목록으로 상상할 수 있습니다. 작성자가 다음과 같이 파일을 탐색하는 매우 쉬운 방법을 제공합니다.

Vim-CtrlSpace는 Vim에서 작업 공간을 제어하고 구성하는 Vim 플러그인입니다. 버퍼, 파일, 탭, 세션 및 프로젝트 관리를 포함합니다. 그 접근 방식은 다소 독특하지만 특히 이미 분할 된 창, 탭, 버퍼 등을 사용하는 경우 집에서 느낄 것입니다.


Vi / Vim에 오신 것을 환영합니다! 플러그인 권장 답변에 대한 정책을 읽고 플러그인이 질문을 정확히 어떻게 처리하는지에 대한 세부 정보를 추가하십시오.
200_success


4

를 거치지 않고 특정 파일을 열려면 :ls다음 중 하나를 사용할 수 있습니다.

  • :vs filename 파일을 세로 분할로 엽니 다
  • :sp filename 동일하지만 수평 분할에서
  • :tabe filename 새 탭에서 열립니다

파일 이름을 지정하지 않으면 현재 파일의 새로운 분할 / 탭이 열리므로 긴 파일에 유용 할 수 있습니다.


2
:t복사 명령입니다. 들어 :tabedit당신이 최소한 필요합니다 :tabe.
tommcdo

오 댕, 당신 말이 맞아 고마워, 내가 편집 할게!
Tom

0

여러 파일을 탐색하는 데 유용한 단축키는 거의 없습니다.

  • CTRL-^( N버퍼 번호는 어디에 있습니까 ) 이전에 편집 한 파일로 이동합니다.
  • N CTRL-^(단, N특정 버퍼로 점프 버퍼 개수이다).

    예를 들면 다음과 같습니다.

    • 1Control+^ -첫 번째 버퍼로 이동
    • 2Control+^ -두 번째 버퍼로 이동
    • 기타

    이는에 해당합니다 :buffer N.

  • 사용 :Ex/ :Sex/은 :Vex현재 디렉토리를 탐색합니다.

  • 다음 과 같은 일부 사용자 정의 단축키와 함께 :tabs대신 ( vim -p)을 사용하십시오 .vimrc.

    " TABS
    " To create a new tab (Control-T)
    nnoremap <C-t> :tabnew<CR>
    inoremap <C-t> <Esc>:tabnew<CR>
    " Tab Navigation (Control+Left <-> Control-Right, Shift+H <-> Shift+L).
    nnoremap <S-h> gT
    nnoremap <S-l> gt
    nnoremap <A-Left> gT
    nnoremap <A-Right> gt
    nnoremap <C-S-Tab> gT
    nnoremap <C-Tab> gt
    " Tab Close (Control-W)
    nnoremap <C-BS> :tabclose<CR>
    inoremap <C-BS> <Esc>:tabclose<CR>
    " Close All (Control-Q)
    nnoremap <C-q> :qa<CR>
    inoremap <C-q> <Esc>:qa<CR>
    
  • 사용이 :ba/ :vert ba분할을 통해 선택된 버퍼에 점프 Control+w, w/ W, 다음 그것을 현재 창을 ( :on).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.