オプション 1: vim、emacs、geany などを使用します。

オプション 1: vim、emacs、geany などを使用します。

私はよく、gedit で小さなスクリプトを変更し、それをターミナルから実行します。これを効率化するために、「実行」ボタンなどを備えたシンプルなテキスト エディターはありませんか? Eclipse でも簡単ではありません。どのテキスト エディターがこれをサポートしているか、またはこれをサポートするためにテキスト エディターを拡張する方法についての具体的な提案を探しています。

答え1

オプション 1: vim、emacs、geany などを使用します。

vim使用したり:!bash file.sh、ショートカットを作成したりすることもできます。.vimrc

Emacs では、 を使用しますM-!。つまり、 をAlt押したまま を押します!。コマンドに渡したいものを選択して を押すと、現在のバッファ内のテキストをコマンドに渡すこともできますM-|。つまり、コードを強調表示して、コマンドに渡すことができますbash

すべてのツールには独自の方法があります。

オプション2: 使用しfindentr

このコマンドを実行すると、.shディレクトリ内の任意のファイルが変更されるたびに、自動的に再実行されます。

find . -name '*.sh' | entr -cs file.sh

オプション3:ライブコーディングに、、tmuxの組み合わせを使用するvimentr

私はこれをずっと前に のために書きc++、その後他の言語で使用しましたが、今ではシェル プログラミングにも使用できます。

それは次のようになります:

cppシェル

プログラムを実行するには、vim ( :w) に保存するだけで実行されます。

保存先~/bin/ide:

#!/usr/bin/bash

tmpdir=""
template="simple"

for i in "$@"
do
case $i in
    -t=*|--template=*)
        template="${i#*=}"
    shift # past argument=value
    ;;

    -n=*|--name=*)
    dir="${i#*=}"
    mkdir -p ~/cppshells/$dir
    tmpdir=~/cppshells/$dir
    shift
    ;;

    -h|--help)
    echo "-n=*|--name=* \t\t the name of the project"
    echo "-t=*|--template \t\t the template to use"
    exit;
    ;;


    *)
        # nothing to do
    ;;
esac
done

if [ -z "$tmpdir" ]; then
    tmpdir=$(mktemp -d)
fi;

tmpdir=$(realpath ${tmpdir});
window="cpp-$1-$((1 + RANDOM % 10000000))"

if [ -z "$EDITOR" ]; then
    EDITOR="nvim";
fi;

template_dir="$(dirname $0)/templates/${template}"

if [ ! -d $template_dir ]; then
    echo "The specified template ($template) does not exists."
    exit;
fi;

tmux new -s ${window} -d -c "${tmpdir}"
tmux split-window -t ${window} -h
tmux select-pane -t ${window}.right
tmux resize-pane -t ${window}.right -R 18
tmux send-keys -t ${window}.left "cd ${tmpdir}" C-m
tmux send-keys -t ${window}.right "cd ${tmpdir}" C-m


# copy files if the directory does not exists
if [ `ls -A ${tmpdir} | wc -m` == "0" ]; then
    cp -nr $template_dir/* ${tmpdir}/.
fi;

# run build commands
if [ -f ${template_dir}/Makefile ]; then # make
    tmux send-keys -t ${window}.right "find . -name '*.cpp' | entr -cs 'make -j8 && ./a.out'" C-m
        tmux send-keys -t ${window}.left "${EDITOR} ${tmpdir}/main.cpp" C-m
elif [ -f ${template_dir}/CMakeLists.txt ]; then # CMake
    mkdir -p ${tmpdir}/build
    cmake -G "Unix Makefiles" -B${tmpdir}/build -S${tmpdir}
    tmux send-keys -t ${window}.right "find . -name '*.cpp' | entr -cs 'make -j8 -Cbuild/ && ./build/a.out'" C-m
        tmux send-keys -t ${window}.left "${EDITOR} ${tmpdir}/main.cpp" C-m
elif [ -f ${template_dir}/main.py ]; then # Python
        chmod +x ${tmpdir}/main.py
    tmux send-keys -t ${window}.right "find . -name 'main.py' | entr -cs '${tmpdir}/main.py'" C-m
        tmux send-keys -t ${window}.left "${EDITOR} ${tmpdir}/main.py" C-m
elif [ -f ${template_dir}/main.sh ]; then # Bash
        chmod +x ${tmpdir}/main.sh
    tmux send-keys -t ${window}.right "find . -name 'main.sh' | entr -cs '${tmpdir}/main.sh'" C-m
        tmux send-keys -t ${window}.left "${EDITOR} ${tmpdir}/main.sh" C-m
fi;


tmux select-pane -t ${window}.left
tmux attach -t ${window}

次に、~/bin/templates/simpleディレクトリを作成し、コマンドmain.shを実行する際の開始点となる単純なファイルをその中に配置しますide。また、さらに多くのテンプレートを作成することもできます (各テンプレートはディレクトリ内の異なるディレクトリに作成されます~/bin/templates/)。

/home/$USER/binを実行できるようにパスに追加しますide

スクリプトを実行するには、次の 3 つの方法を使用できます。

  • 簡単なテストの場合: (コマンドideで一時ディレクトリを作成しますmktemp -d
  • ファイルを~/cppshell/[something]/dir に保存するには:ide -n=something
  • 別のテンプレート(開始点)を使用するには:ide -t=not-simple -n=some_name

前述したように、このスクリプトを使用して、Python、C++、bash を実行するためのシェルのようなツールを作成したり、独自のツールを追加したりすることもできます。

アップデート: この回答を書いてから、私は何度も自分のバージョンを更新し、新機能やサポートの拡大を図ってきました。このシェルスクリプトのGitHubページへのリンク詳細は、Readmeページ

答え2

から:

Gedit プラグイン

gedit外部端末プラグインを使用する

ターミナルプラグインで使用できますgedit。手順は非常に簡単です:

  1. 「Universe」リポジトリを有効にする
  2. インストールgedit-plugins
  3. 「埋め込み端末」を有効にする
  4. Ctrl+を使用しF9てターミナルを開きます
  5. その他のgeditプラグイン

ステップ1. 「Universe」リポジトリを有効にする

最初のステップは、UniverseリポジトリがSettings-> Software & Updates->からアクティブ化されていることを確認しUbuntu Software、3 番目のオプションがチェックされていることを確認することです。

gedit プラグイン リポジトリ.png

ステップ2.インストールgedit-plugins

gedit-plugs次のコマンドでインストールします:

sudo apt install gedit-plugins

ステップ3.「埋め込みターミナル」を有効にする

を開いてgedit( は使用しないでくださいsudo)、Edit-> Preferences->を選択してPlugins、 をチェックしますEmbedded Terminal:

gedit 埋め込みターミナル.png

ステップ4. Ctrl+を使用してF9ターミナルを開きます

下の GIF では、Ctrl+を使用してF9コマンド プロンプトの小さなウィンドウを表示しています。マウスを使用して分割線を上にドラッグします。

gedit ターミナルプラグイン.gif

ステップ5. その他のgeditプラグイン

ステップ 4 で説明したように、セパレーター バーをつかむとターミナル ウィンドウを大きくすることができます。通常の画像 (GIF ではない) では次のようになります。

現在、コーディング ウィンドウで使用しているプラ​​グインは他に 3 つありますgedit

  • 80 文字の切り捨て部分を異なる背景色で表示するプラグイン
  • ドキュメント全体をサムネイルで表示するプラグイン。ドラッグするとコードセクションに素早く移動できます。
  • 一致する括弧を強調表示

gedit 終端行折り返し.png

詳細については以下を参照してください。

答え3

vimに慣れているなら、

:w !bash

(選択したシェルをサブします) すると、現在のバッファ内のスクリプトが実行されます。

グラフィカル環境では、VS Code を使用します。これは、拡張可能で、GIT サポートが組み込まれ、ターミナルが統合された軽量 IDE です。

答え4

Emacs では、そのために を使用できますCtrl-C Ctrl-X

関連情報