수직 분할에서 Vim을 어떻게 열 수 있습니까?


18

나는 보통 25 자 정도의 드롭 다운 터미널에서 일한다. 창 1보다 탭을 선호하기 때문에 일반적으로 터미널 너비의 절반 정도에 많은 수평 공간이 낭비됩니다.

helpheight뿐만 아니라 기본 설정 인 Vim 은 도움말 창을 열 때 파일 내용의 두 줄 정도만 남겨 둡니다.

여기에 이미지 설명을 입력하십시오

:h수직 분할 을 사용 하는 방법이 있습니까?

나는 할 수 있었다 :

  • 감소 helpheight
  • <C-W>L창을 수동으로 이동하는 데 사용
  • 나를 위해 위의 작업을 수행하는 맵이나 사용자 정의 명령을 만드십시오.

더 간단한 방법이 있습니까?

1 내가 내가 함께 여러 파일을 살펴볼 필요가있을 때 사용하는 창을. 그러나 일반적으로 각 파일은 자체 (정신적) 컨텍스트에있는 것을 선호합니다.


@statox 죄송합니다. 내가 썼을 때 내가 생각했던 것을 Dunno.
muru

아아, 그것은 또한 최고의 사람들에게도 미안할 필요가 없습니다 ;-)
statox

답변:


16

:vert h [your topic]도움말을 세로로 여는 데 사용할 수 있습니다 .

다음 명령을 사용할 수 있습니다 :

cnoreabbrev H vert h

명령 줄에서 vim Hvert h자동으로 바꾸려면 .

또한이 약어를 사용할 수 있습니다.

cnoreabbrev HR vert bo h

화면 오른쪽에서 도움말 창을 엽니 다. (에 :h :botright대한 자세한 내용 은 참조 bo)


따라서 구성 가능한 옵션이 없습니까? 같은 splitright:help?
muru

무슨 뜻인지 잘 모르겠습니다. 도움말 창을 배치 할 위치를 선택할 수 있습니까?
statox

나는 당신이 :rightbelow대신 의미 를 생각합니다 :botright.
muru

2
당신이 기대하는 행동에 따라 음,하자 당신이 노는 것을 말한다 :lefta[bove], :rightb[elow], :to[pleft]그리고 :bo[tright]당신이 좋아하는 일을 참조하십시오. 내가 선호 :botright이상 :rightbelow이제까지 내 레이아웃이 무엇 때문에, 나는 화면의 전체 높이의 도움말 창을 얻을 것이다. 함께 :rightbelow이미 수평 분할이 있으므로 내 도움말 창이이 분할 높이에 있습니다.
statox

2
안타깝게도 올바른 cabbrev명령을 작성하려면 의식이 필요 합니다.
사토 카츠라

7

이것은 junegunn의 vimrc 에서 영감을 얻었습니다 .

augroup vimrc_help
  autocmd!
  autocmd BufEnter *.txt if &buftype == 'help' | wincmd L | endif
augroup END

1
궁금합니다 : 어떻게 다른 autocmd FileType help wincmd L가요? 어떤 에지 케이스?
muru

나는 적어도 때때로 두 번 트리거된다고 생각합니다 (에코를 추가하십시오). 특정 도움말 태그로 이동하는 것보다 도움말 창을 여는 것과 관련이있을 수 있습니다. 따라서 BufEnter조금 더 효율적입니다. 두 번 트리거되면 "실행 취소"(취소)되는 명령을 추가하는 것은 말할 것도 없습니다.
VanLaser

6

수직 또는 비 선택을 수행하는 사용자 정의 명령을 사용할 수 있습니다. 이것은 현재 창 너비와 높이를 기반으로 할 수 있습니다.

function! s:ShowHelp(tag) abort
  if winheight('%') < winwidth('%')
    execute 'vertical help '.a:tag
  else
    execute 'help '.a:tag
  endif
endfunction

command! -nargs=1 H call s:ShowHelp(<f-args>)

참고 문헌 :

  • :h winheight
  • :h <f-args>

우수한. 이것은 화면의 수직 절반을 덮고있는 gvim을 연 시간에 매우 유용합니다.
muru

0

이것은 세로로 분할되지는 않지만 자체 탭에서 도움이되는 것이 좋습니다.

augroup HelpInTabs
autocmd!
   autocmd BufEnter *.txt call HelpInNewTab()
augroup END

으악. 나는 전체 답을 붙여 넣었다고 생각했다. 나머지 코드는 다음과 같습니다.

" only apply to help files...
function! HelpInNewTab ()
  if &buftype == 'help'
    " convert help window to a tab
    execute "normal \<C-W>T"
  endif
endfunction

1
HelpInNewTab()내장 기능이 아니기 때문에 솔루션을 실제로 테스트 할 수 없기 때문에 함수 가 무엇인지 보여주는 것도 좋은 생각 입니다.
statox

"도움말 파일에만 적용 ... 기능! HelpInNewTab () if & buftype == 'help'"도움말 창을 탭으로 변환하여 "정상 \ <CW> T"endif endfunction
Mark Nichols
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.