IT story

Vim에서 분할 창 취소

hot-time 2020. 4. 30. 07:36
반응형

Vim에서 분할 창 취소


창문을 가로로 나눕니다. 이제 어떻게 열려있는 모든 창을 취소하지 않고 하나의 창만 분할 창없이 정상 모드로 돌아갈 수 있습니까? 5가 있고 "종료"하고 싶지 않고 분할 창에서 나가고 싶습니다.


Control+ w를 누른 다음 한 번 q에 각 창을 닫으려면 누르십시오 .

업데이트 : 또한 :on한 번에 하나의 창을 원하지 않는 경우 (아래 읽기) 와 관련하여 더 유용한 eckes 답변을 고려하십시오 .


모든 스플릿을 닫으려면, 나는 보통이어야한다 창에 커서 위치 할 다음 -ly 볼 하나 :on하여 현재 창 만드는 -ly 볼 수 창을여십시오. 기억하기 좋은 니모닉.


편집 : :help :on 이 명령이 동일하다는 것을 보여주었습니다.

  • :on
  • :only
  • CTRL-w CTRL-o
  • 그리고 네, CTRL-W o동일한 효과가 있습니다 ( 나단이 대답 한 것처럼 ).

이 4 개 각각은 활성 창을 제외한 모든 창을 닫습니다.


현재 창을 제외한 모든 창을 닫으려면

CTRL+ w,o

즉, 먼저 CTRL+ wo.


현재 창을 닫는 두 가지 대안은 ZZ및이며 ZQ, 표시된 버퍼에 변경 사항을 각각 저장하고 저장하지 않습니다.


: hide 명령은 현재 초점이 맞춰진 창을 숨 깁니다. 나는 이것이 당신이 찾고있는 기능이라고 생각합니다.

창 사이를 이동하려면 Ctrl + w를 입력 한 다음 탐색 키 (h, j, k, l 또는 화살표 키)를 입력하십시오.

자세한 내용은 실행의 경우 :help window:help hide정력한다.


에서 :help opening-window( "창 닫기"검색- /Closing a window)

  • :q[uit]현재 창과 버퍼를 닫습니다. 마지막 창이라면 vim을 종료합니다.
  • :bd[elete] 현재 버퍼를 언로드하고 현재 창을 닫습니다
  • :qa[all]또는 :quita[ll]모든 버퍼와 창을 닫고 vim을 종료합니다 ( :qa!변경 사항을 저장하지 않고 강제 실행).
  • :clo[se]현재 창을 닫고 버퍼를 열어 둡니다. 창이 하나만 있으면이 명령이 실패합니다
  • :hid[e]현재 창에서 버퍼를 숨 깁니다 (에서 더 읽기 :help hidden)
  • :on[ly] 다른 모든 창을 닫고 모든 버퍼를 열어 둡니다

닫으려는 창에서 ctrl+ w찾았 습니다 :q. 이것은 나를 위해 작동합니다.


다른 사람들이 말한 것처럼이 작업을 수행하기 전에 ctrl+ w를 누른 다음 을 누르는 것 o입니다. 다른 창은 닫으면서 현재 창을 "최대화"합니다. 당신이 그것을 "최대화"하고 싶다면 ZoomWin 이라는 플러그인 이 있습니다. 그렇지 않으면 창 설정을 처음부터 다시 만들어야합니다.


나는 당신의 의도를 잘 이해하고 버퍼도 독점적으로 사용하며 때로는 필요한 경우 분할됩니다.

아래는 내 발췌 .vimrc

" disable macro, since not used in 90+% use cases
map q <Nop>
" q,  close/hide current window, or quit vim if no other window
nnoremap q :if winnr('$') > 1 \|hide\|else\|silent! exec 'q'\|endif<CR>
" qo, close all other window    -- 'o' stands for 'only'
nnoremap qo :only<CR>
set hidden
set timeout
set timeoutlen=200   " let vim wait less for your typing!

내 워크 플로에 잘 맞는

만약 q누른

  • 창이 여러 개 열려 있으면 현재 창을 숨기고, 그렇지 않으면 vim을 종료하십시오.

qo눌렀 다면

  • 다른 모든 창을 닫으십시오. 하나의 창만 있으면 효과가 없습니다.

물론, 당신은 수있는 기능으로 그 지저분한 부분 포장 , 예를 들어,

func! Hide_cur_window_or_quit_vim()
    if winnr('$') > 1
        hide
    else
        silent! exec 'q'
    endif
endfunc
nnoremap q :call Hide_cur_window_or_quit_vim()<CR>

Sidenote: I remap q, since I do not use macro for editing, instead use :s, :g, :v, and external text processing command if needed, eg, :'{,'}!awk 'some_programm', or use :norm! normal-command-here.


Okay I just detached and reattach to the screen session and I am back to normal screen I wanted

참고URL : https://stackoverflow.com/questions/4809729/cancel-split-window-in-vim

반응형