Vimを使用中に端末にアクセスする方法はありますか?
別のターミナルを開いたり、現在のターミナルを保存して終了したりしません。
Vimを使用中に端末にアクセスする方法はありますか?
別のターミナルを開いたり、現在のターミナルを保存して終了したりしません。
回答:
vimにSIGTSTPシグナルを送信できます。これを行うには、ctrl+ を押しzます。Vimはバックグラウンドで中断され、ターミナルを使用できます。fg
ターミナルを入力して、vimで再開します。
ボーナスのヒント:これは、ほぼすべてのターミナルアプリケーションで機能します。を使用bg
して、アプリケーションがバックグラウンドで実行を継続できるようにします。
%
代わりにfg
。それとも%1
、%2
などあなたは、多くのバックグラウンドジョブを持っている場合。jobs
コマンドはそれらをリストします。(bash
シェルと仮定します。)
vimで、次のように入力します。
:!sh
:!
外部プロセス(この場合sh
は別のシェル)を起動します。シェルを終了すると、制御はvimに戻ります。vimと同時にシェルを使用する場合&
は、shコマンドの最後に追加します。
:!sh&
:shell
。
http-server
ですか?ファイルに切り替えて編集し、ログに戻すことができるようにしたいと思います。
最近のvim以降、次のことができるようになりました。
:terminal
これは当初Vim 8.0.693で追加されましたが、多くのバグがありました。参照:help terminal
:
WARNING: THIS IS ONLY PARTLY IMPLEMENTED, ANYTHING CAN STILL CHANGE
The terminal feature is optional, use this to check if your Vim has it:
echo has('terminal')
If the result is "1" you have it.
[...]
The terminal feature requires the +multi_byte, +job and +channel features.
==============================================================================
1. Basic use terminal-use
This feature is for running a terminal emulator in a Vim window. A job can be
started connected to the terminal emulator. For example, to run a shell:
:term bash
Or to run a debugger:
:term gdb vim
The job runs asynchronously from Vim, the window will be updated to show
output from the job, also while editing in any other window.
すべての答えに加えて。
ConqueTermプラグインをインストールできます
このプラグインは、vimバッファー内で対話型プログラムを実行する機能を提供します。
インストール後、次の2行をに追加できます.vimrc
。
:nnoremap <S-w> :q!<CR>
:nnoremap <S-t> :ConqueTermSplit bash<CR>
そして、あなたは実行することができますbash
押してShift+をT、と押して、現在のConqueタブ近いですShift+W
高速な開閉が必要な場合に適していますbash
。
ここにあるGIFは、それがどのように見えるであるかを示すこと
screenまたはbyobuの別のオプションは、それらのプログラム内でタブを開くことです。これらのプログラムを使用すると、ターミナルセッションのcqシェルを開いたままにして、キーボードでそれらの画面を切り替えることが非常に簡単になります。