2016-07-12 13 views
2

私のお気に入りのPythonの開発効率向上環境があるVIRTUALENVアクティブ:vimの tmuxのウィンドウを分割し、Pythonが

  • のための大規模な左パンインタラクティブコンソールの右側にある2つの小さなパン
  • 各パン

    • ワンshoudはpython virtualenvを実行します(virtualenvwrapperを使用)。

      ➜ ~ workon some_env 
      ➜ ~ tmux splitw -h -l90 
      ➜ ~ workon some_env 
      ➜ ~ tmux splitw -v -p50 
      ➜ ~ workon some_env 
      

      スクリプトにこれらのコマンドを置くと、ファイルが、残念ながら、同じ皿の上にではなく何度も各皿にworkon some_env 3回を実行します調達:だから、ここで私はセットアップ私の環境に入力したコマンドのリストがあります。

      私は作業環境をセットアップしたいと思うたびに、シンプルですが、かなり退屈です。 dev-sessionが含まれてい

      bind a source-file ~/.config/tmux/dev-session 
      

      このファイル:

      splitw -h -l90 
      splitw -v -p50 
      

      は、しかし、私は自動的に各皿にworkon some_envを実行することができないんだ

      は、私は窓のcorrectyを分割するためのショートカットを結合しました。私はあらゆる面で問題を回した、私はそれを働かせることができない。

      splitw "workon some_env" 
      # Exits immediately as `workon` function terminates 
      
      splitw "echo 'workon some_env' | source /dev/stdin" 
      # Exits immediately as `source` terminates 
      
      splitw "workon_args=some_env zsh -f .some_custom_zshrc" 
      # Where .some_custom_zshrc contains: 
      # workon $workon_args 
      # Does not work since running `workon some_env` from a script 
      # has no effect on the script caller 
      
      splitw "zsh -c 'workon some_env' -i" 
      # `workon some_env` seems to be executed in a separate environment 
      # and the virtualenv is no more activated within the interactive shell 
      

      私はさらにエキゾチックなものを試しましたが、ここでは固執しています。

    答えて

    4

    最初にすべてのペインを作成します。

    send-keysを使用して、指定したペインにコマンドを書き込み、C-mを使用して実行します。たとえば:

    tmux new-session -s development -n editor -d 
    
    tmux split-window -h -t development 
    
    tmux select-pane -t development:0.1 
    
    tmux split-window -v -t development 
    
    tmux send-keys -t development:0.0 "emacs -nw" C-m 
    
    tmux send-keys -t development:0.0 f8 
    
    tmux send-keys -t development:0.1 "ptpython" C-m 
    

    This bookが持っている:あなたは3つのペインがある場合

    tmux send-keys -t development:0.1 "workon some_env" C-m

    は、次に、第2と第三はSESSION_NAME:0.1ここで

    SESSION_NAME:0.2は私の構成の一例であるだろうTmuxを使用した環境のセットアップに関する素晴らしい章。

    関連する問題