나는 종종 gedit에서 작은 스크립트를 변경한 다음 터미널에서 실행합니다. "실행" 버튼이나 이를 간소화할 수 있는 간단한 텍스트 편집기가 없나요? Eclipse에서도 이는 사소한 일이 아닙니다. 어떤 텍스트 편집기가 이를 지원하는지 또는 이를 지원하기 위해 확장할 수 있는 방법에 대한 구체적인 제안을 찾고 있습니다.
답변1
옵션 1: vim, emacs, geany 등을 사용하세요!
에서 vim
사용 :!bash file.sh
하거나 바로가기를 만드세요..vimrc
Emacs에서는 M-!
. 따라서 을 누른 Alt다음 을 누르 세요 !. 명령에 전달할 항목을 선택한 다음 를 눌러 현재 버퍼의 텍스트를 명령에 전달할 수도 있습니다 M-|
. 따라서 코드를 강조 표시하고 명령에 전달할 수 있습니다 bash
.
모든 도구에는 고유한 방식이 있습니다!
옵션 2: 사용 find
및entr
다음 명령을 실행하면 .sh
디렉터리의 파일이 변경될 때마다 자동으로 다시 실행됩니다.
find . -name '*.sh' | entr -cs file.sh
옵션 3: 라이브 코딩에 tmux
, vim
및 조합 사용entr
나는 이것을 오래 전에 썼고 c++
다른 언어에서 더 많이 사용했으며 이제는 쉘 프로그래밍에도 사용할 수 있습니다.
다음과 같이 표시됩니다.
프로그램을 실행하려면 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
.
스크립트를 실행하려면 다음 세 가지 방법을 사용할 수 있습니다.
- 간단한 테스트의 경우: ( 명령을
ide
사용하여 임시 디렉터리를 생성합니다.mktemp -d
- 파일을
~/cppshell/[something]/
dir에 저장하려면 다음을 수행하십시오.ide -n=something
- 다른 템플릿을 사용하려면(시작점):
ide -t=not-simple -n=some_name
내가 말했듯이 이 스크립트를 사용하여 Python, C++, bash를 실행하기 위한 도구와 같은 쉘을 만들거나 직접 추가할 수도 있습니다.
업데이트: 이 답변을 작성한 이후 새로운 기능과 더 광범위한 지원으로 내 버전을 여러 번 업데이트했습니다. 여기이 셸 스크립트에 대한 GitHub 페이지 링크. 자세한 내용은 에서도 보실 수 있습니다.읽어보기 페이지.
답변2
에서:
Gedit 플러그인
gedit
외부 터미널 플러그인 사용
gedit
터미널 플러그인과 함께 사용할 수 있습니다 . 단계는 매우 간단합니다.
- "유니버스" 저장소 활성화
- 설치하다
gedit-plugins
- "내장 터미널" 활성화
- Ctrl+를 사용하여 F9터미널을 엽니다.
- 기타
gedit
플러그인
1단계. "유니버스" 저장소 활성화
첫 번째 단계는 -> -> Universe
에서 저장소가 활성화되었는지 확인 하고 세 번째 옵션이 선택되었는지 확인하는 것입니다.Settings
Software & Updates
Ubuntu Software
2단계. 설치gedit-plugins
gedit-plugs
다음 명령을 사용하여 설치하십시오 .
sudo apt install gedit-plugins
3단계. "내장 터미널" 활성화
열고 gedit
(사용하지 않음 sudo
) Edit
-> Preferences
->를 선택하고 Plugins
확인하십시오 Embedded Terminal
.
4단계. Ctrl+를 사용하여 F9터미널을 엽니다.
아래 GIF에서는 Ctrl+를 사용하여 F9명령 프롬프트가 있는 작은 창을 표시합니다. 마우스를 사용하여 구분선을 위로 드래그합니다.
5단계. 기타 gedit
플러그인
4단계에서 언급한 대로 구분 막대를 잡고 터미널 창을 더 크게 만들 수 있습니다. 일반 사진((GIF 아님))의 모습은 다음과 같습니다.
현재 코딩 창에서 사용하는 세 가지 다른 플러그인이 있습니다 gedit
.
- 다른 배경색으로 잘린 80자를 표시하는 플러그인
- 전체 문서를 썸네일로 표시하는 플러그인으로 드래그하여 코드 섹션으로 빠르게 이동할 수 있습니다.
- 일치하는 괄호 강조 표시
자세한 내용은 다음을 참조하세요.
답변3
vim에 익숙하다면 실행할 수 있습니다.
:w !bash
(선택한 쉘 하위) 그러면 현재 버퍼에서 스크립트가 실행됩니다.
그래픽 환경에서는 VS Code를 사용합니다. 확장 가능하고 GIT 지원 기능이 내장되어 있으며 터미널이 통합된 경량 IDE입니다.
답변4
Ctrl-C
Ctrl-X
Emacs에서는 이를 사용할 수 있습니다 .