質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

ウィンドウ

コンピューター用語において、ウィンドウとはユーザとプログラムのやり取りを可能にするGUIの枠組みのことをいいます。

Q&A

解決済

2回答

630閲覧

Vim 編集中のファイルを同じウィンドウでデバッグしたい

Ineda

総合スコア45

シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

ウィンドウ

コンピューター用語において、ウィンドウとはユーザとプログラムのやり取りを可能にするGUIの枠組みのことをいいます。

0グッド

1クリップ

投稿2020/06/29 18:07

編集2020/06/29 18:09

##環境
Windows10 pro
WSL Ubuntu 20.04 LTS
Vim 8.1

やりたいこと

Vimで現在編集中のシェルスクリプトをデバッグするような方法があれば知りたいです。

例として、私は通常以下の方法で自分の作成した、スクリプトの動作を確認しています。

ペイン「1」では下記図のようにteratail.shを編集中とします。
ペイン「2」は自分が作ったスクリプトを確認するためのものです。
現在の方法

ただ、これだと試すのにペインを移動しなければならないので、
少し手間に思います。

そのため理想としては...
1.編集ウィンドウで(デバッグ)コマンド実行
2.ウィンドウが分割される。
3.分割されたウィンドウで編集中のシェルファイルが実行される

という流れでできないのか?と考えています。

コマンド的に言えば、Terminalコマンドを実行するとVimの画面が分割されますが、
そこに、編集中のファイルを渡してあげて、実行させるようなことがしたいのです。
やりたい方法

やり方を知っている方

もし、方法があれば教えて欲しいと思います。
私の考え方が違う場合も教えて頂ければ幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

:terminal は引数で実行するコマンドを指定できます。無指定の場合は $SHELL が使われるので、通常はシェルが立ち上がります。
つまり以下のようなコマンドを実行すれば、現在のバッファを bash に渡して実行できます。% は現在バッファの名前に置き換えられて実行されます。

vim

1:terminal bash %

投稿2020/06/30 01:12

thinca

総合スコア1864

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Ineda

2020/06/30 02:19

教えて頂いた方法で、実現したいことが確認できました。 ありがとうございました。 フォローさせて頂きます。
thinca

2020/07/01 15:40

解決したのであれば解決済みにしましょう。
guest

0

手動で保存してterminalに移動して直前のコマンドを選択して実行して元のウィンドウに戻ってくるってそれほど手間ではないかなと思いますが。
その一連の操作をキーに割り付けてしまうとか。
以下はCTRL+Hに割り付けてます。
Terminalは常に開いておいて、上のウィンドウにTerminal、下のウィンドウに編集中のコードの前提です。

nmap <C-H> :w<CR><C-W>k./teratail.sh<CR><C-W>j

Ubuntu環境では試してないのでできなかったらすみません。

投稿2020/06/30 00:28

ttyp03

総合スコア16998

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問