옵션 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, vim및 조합 사용entr

나는 이것을 오래 전에 썼고 c++다른 언어에서 더 많이 사용했으며 이제는 쉘 프로그래밍에도 사용할 수 있습니다.

다음과 같이 표시됩니다.

cppshell

프로그램을 실행하려면 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.shide~/bin/templates/

/home/$USER/bin실행할 수 있도록 경로에 추가하세요 ide.

스크립트를 실행하려면 다음 세 가지 방법을 사용할 수 있습니다.

  • 간단한 테스트의 경우: ( 명령을 ide사용하여 임시 디렉터리를 생성합니다.mktemp -d
  • 파일을 ~/cppshell/[something]/dir에 저장하려면 다음을 수행하십시오.ide -n=something
  • 다른 템플릿을 사용하려면(시작점):ide -t=not-simple -n=some_name

내가 말했듯이 이 스크립트를 사용하여 Python, C++, bash를 실행하기 위한 도구와 같은 쉘을 만들거나 직접 추가할 수도 있습니다.

업데이트: 이 답변을 작성한 이후 새로운 기능과 더 광범위한 지원으로 내 버전을 여러 번 업데이트했습니다. 여기이 셸 스크립트에 대한 GitHub 페이지 링크. 자세한 내용은 에서도 보실 수 있습니다.읽어보기 페이지.

답변2

에서:

Gedit 플러그인

gedit외부 터미널 플러그인 사용

gedit터미널 플러그인과 함께 사용할 수 있습니다 . 단계는 매우 간단합니다.

  1. "유니버스" 저장소 활성화
  2. 설치하다gedit-plugins
  3. "내장 터미널" 활성화
  4. Ctrl+를 사용하여 F9터미널을 엽니다.
  5. 기타 gedit플러그인

1단계. "유니버스" 저장소 활성화

첫 번째 단계는 -> -> Universe에서 저장소가 활성화되었는지 확인 하고 세 번째 옵션이 선택되었는지 확인하는 것입니다.SettingsSoftware & UpdatesUbuntu Software

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 아님))의 모습은 다음과 같습니다.

현재 코딩 창에서 사용하는 세 가지 다른 플러그인이 있습니다 gedit.

  • 다른 배경색으로 잘린 80자를 표시하는 플러그인
  • 전체 문서를 썸네일로 표시하는 플러그인으로 드래그하여 코드 섹션으로 빠르게 이동할 수 있습니다.
  • 일치하는 괄호 강조 표시

gedit 최종 라인 Wrap.png

자세한 내용은 다음을 참조하세요.

답변3

vim에 익숙하다면 실행할 수 있습니다.

:w !bash

(선택한 쉘 하위) 그러면 현재 버퍼에서 스크립트가 실행됩니다.

그래픽 환경에서는 VS Code를 사용합니다. 확장 가능하고 GIT 지원 기능이 내장되어 있으며 터미널이 통합된 경량 IDE입니다.

답변4

Ctrl-C Ctrl-XEmacs에서는 이를 사용할 수 있습니다 .

관련 정보