2013-12-20 5 views
4

최근 버전의 byobu에서 변경되었지만 현재 새 화면을 만들 때 새 화면이 현재 창과 동일한 디렉토리에 있습니다. . 처음에는 이것이 너무 짜증나는 것이 아니었고, 단순한 "cd ~"는 내가 원했던 곳으로 나를 데려갔습니다. 하지만 이상한 일들을 눈치 챘습니다. gem을 설치하는 동안 새로운 창을 만들면 gem이 설치 될 디렉토리 (rbenv를 사용할 때)에서 끝납니다.Byobu가 홈 디렉토리의 새 화면을 엽니 다.

나는 이것을 멈추고 싶다. byobu/tmux를 설정하여 홈 디렉토리의 모든 새 창을 열 수 있습니까?

몇 가지 파일을 살펴 보았습니다. 그러나이 문제의 원인이 될만한 명령 (예 : 잘못된 'chdir')을 볼 수 없습니다.

답변

5

우분투, 나는 $ {HOME} /에 다음 줄을 추가하여 원하는 동작을 얻을 수 있습니다 byobu/.tmuxrc :.

set-option -g default-path $HOME 

이 옵션은 TMUX의 매뉴얼 페이지에 문서입니다 :

set-option [-agoqsuw] [-t target-session | target-window] option value 
       (alias: set) 
     Set a window option with -w (equivalent to the set-window-option 
     command), a server option with -s, otherwise a session option. 

     If -g is specified, the global session or window option is set. 
     With -a, and if the option expects a string, value is appended 
     to the existing setting. The -u flag unsets an option, so a session 
     inherits the option from the global options. It is not possible to 
     unset a global option. 

     The -o flag prevents setting an option that is already set. 

     The -q flag suppresses the informational message (as if the quiet 
     server option was set). 

     Available window options are listed under set-window-option. 

     value depends on the option and may be a number, a string, or a flag 
     (on, off, or omitted to toggle). 

     Available server options are: 

     <snip> 

     default-path path 

     Set the default working directory for new panes. If empty (the 
     default), the working directory is determined from the process running 
     in the active pane, from the command line environment or from the 
     working directory where the session was created. Otherwise the same 
     options are available as for the -c flag to new-window. 

나는 처음 set-option -g default-path ~로했지만, TMUX 그 별칭을 이해하지 않는 것 같습니다.

업데이트 : tmux가 default-path 옵션을 제거 했으므로 위의 내용은 byobu 5.92 (다른 버전 일 수도 있음) 및 tmux 1.9에서는 작동하지 않습니다. byobu dev는 CWD에서 새 창이 열리는 동작을 얻으려는 것으로 보이지만, 나는 질문자가 기본적으로 HOME 디렉토리에서 열길 원했습니다.

bind-key -n F2 new-window -c "#{pane_current_path}" \; rename-window "-" 
bind-key -n C-F2 display-panes \; split-window -h -c "#{pane_current_path}" 
bind-key -n S-F2 display-panes \; split-window -v -c "#{pane_current_path}" 

는 항상 홈 디렉토리에 새 화면을 열 byobu 만드는 원하는 동작을 얻으려면, ~/.byobu/keybindings.tmux에 다음을 추가합니다 :

bind-key -n F2 new-window -c "$HOME" \; rename-window "-" 
bind-key -n C-F2 display-panes \; split-window -h -c "$HOME" 
bind-key -n S-F2 display-panes \; split-window -v -c "$HOME" 
+0

게으름을 위해서 /usr/share/byobu/keybindings/f-keys.tmux의 새로운 기본 바인딩에서 나는이 발견 각 행의'-c "# {pane_current_path}"또는'-c "$ HOME"섹션을 제거 할 수 있으며 기본값은'$ HOME'입니다. – pauricthelodger