[解決済み] バッシュ Vim.NET」が表示されたらVimを終了させる Warning: 出力先が端末でない"
2022-01-30 09:38:21
質問
たまにコマンドラインを間違えて、サブシェルでvimを使うことがあります。
もちろん、これはそのターミナルウィンドウをロックして、たくさんのエラーを出力します。
Vim: Warning: Output not to a terminal
この現象が発生したときに自動的に終了し、ターミナルがハングアップしないようにvimを設定する方法はありますか?
私はおそらくこのvimインスタンスのプロセスIDを見つけ出し、それを殺すことができることを知っていますが、私は異なるtmuxペイン/ウィンドウで多くの異なるvimインスタンスを実行する傾向があるので、可能であればより良い解決策が欲しいと思っています。ありがとうございます。
解決方法は?
そもそも起動しないようにすることは簡単にできます。次のような関数定義を
.bashrc
:
vim() {
[ -t 1 ] || { echo "Not starting vim without stdout to TTY!" >&2; return 1; }
command vim "$@"
}
は
command
この組み込み関数は、(単に関数を再度呼び出すのではなく)外部コマンドを呼び出すようにすることで、再帰を防止します。
同様に、スクリプトを作成することができます
$HOME/bin/vim
:
#!/bin/sh
if [ -t 1 ]; then
exec /usr/bin/vim "$@"
else
echo "Not starting vim without stdout to TTY!" >&2
exit 1
fi
...する
$HOME/bin
の中で、最初に
PATH
そして、シェルの関数に頼ることなく、そのシムに仕事をさせるのです。
関連
-
[解決済み】firebase-tools "-bash: firebase: command not found".
-
[解決済み] スクリプトからのエラーメッセージを含むすべての端末出力をログファイルにパイプする方法
-
[解決済み] MINGW64 "make build" エラー。"bash: make: コマンドが見つかりません"
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] Bashで標準出力と標準エラーの両方をファイルにリダイレクトして追記する方法
-
[解決済み] vimにテキストをペーストする際の自動インデントをオフにする
-
[解決済み] bashと正規表現を使って1行でプロセスを検索してkillする
-
[解決済み] 複数行の出力をBash変数に取り込む
-
[解決済み] Vimの中で端末を動かすにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】シェルスクリプトで整数式が期待されるエラーが発生する
-
[解決済み】if [](角括弧)の「[: 引数が多すぎる」エラーの意味)
-
[解決済み] osx find exec rm find: exec: 不明な主またはオペレータ
-
[解決済み] MacOSのbashターミナルでexport PS1="\u[\033[m]@[\033[32m]\h:\[\033[33;1m]\w[\033[m]\$" は何を意味していますか?
-
[解決済み] Homebrewは最新ですが、`could not link` + `delete path` のエラーは気にしなくていいのでしょうか?
-
[解決済み] Bashでの動的な変数名
-
[解決済み] 値がベースに対して大きすぎる(エラートークンは "08")[重複]
-
[解決済み] cshスクリプトをbashでソースして環境を設定する方法 [終了しました]。
-
[解決済み] nohupプロセスを終了させる方法を教えてください。
-
[解決済み] BashでDo-whileループをエミュレートする