Linux gedit配置

编辑-首选项-插件 里打开外部工具

编译:

#!/bin/sh
name=$GEDIT_CURRENT_DOCUMENT_NAME
name2=${name%.*}
g++ $name -o $name2 -g

运行:

#!/bin/sh
name=$GEDIT_CURRENT_DOCUMENT_NAME
name2=${name%.*}
ulimit -s unlimited
g++ $name -o $name2 -g
gnome-terminal -x bash -c "time ./$name2;echo;read;"

#!/bin/sh

加高亮(?

name=$GEDIT_CURRENT_DOCUMENT_NAME

找到当前的文件名.cpp(可以在 工具-构建 里找到DIR=$GEDIT_CURRENT_DOCUMENT_DIR,改成NAME)

name2=${name%.*}

https://www.cnblogs.com/chengd/p/7803664.html

${string%ch*},意思是去掉string中最后一个ch及其后面的部分

所以name=文件名.cpp,name2=文件名

ulimit -s unlimited

解除栈空间限制

g++ $name -o $name2 -g

编译,-o前面的是cpp后面是可执行文件,-g添加gdb

gnome-terminal -x bash -c "time ./$name2;echo;read;"

gnome-terminal是打开终端(可以在 工具-在此处打开终端 里找到)

直接写是只打开,gnome-terminal -x表示打开并执行后面的所有命令,不用加其他符号

https://blog.csdn.net/zong596568821xp/article/details/78623130

问题是直接写gnome-terminal -x ./$name2运行结束后会直接退,所以再加上bash

http://www.xckey.com/971.html

bash -c "string"表示运行命令string,echo+空 是换行,read等于pause,命令用分号隔开

加上time看运行时间

然后就可以用♂了


改一下得到一键gdb:

#!/bin/sh
name=$GEDIT_CURRENT_DOCUMENT_NAME
name2=${name%.*}
ulimit -s unlimited
g++ $name -o $name2 -g
gnome-terminal -x bash -c "gdb $name2"

初始:

#!/bin/sh
printf '%s\n' '#include <bits/stdc++.h>'
printf '%s\n' '#define fo(a,b,c) for (a=b; a<=c; a++)'
printf '%s\n' '#define fd(a,b,c) for (a=b; a>=c; a--)'
printf '%s\n' '#define ll long long'
printf '%s\n' '#define file'
printf '%s\n' 'using namespace std;'
printf '%s\n' ''
printf '%s\n' 'int main()'
printf '%s\n' '{'
printf '%s\n' '	freopen("a.in","r",stdin);'
printf '%s\n' '	#ifdef file'
printf '%s\n' '	freopen("a.out","w",stdout);'
printf '%s\n' '	#endif'
printf '%s\n' '	'
printf '%s\n' '	fclose(stdin);'
printf '%s\n' '	fclose(stdout);'
printf '%s\n' '	return 0;'
printf '%s' '}'

数据:

#!/bin/sh
printf '%s\n' '#include <bits/stdc++.h>'
printf '%s\n' '#define fo(a,b,c) for (a=b; a<=c; a++)'
printf '%s\n' '#define fd(a,b,c) for (a=b; a>=c; a--)'
printf '%s\n' '#define ll long long'
printf '%s\n' 'using namespace std;'
printf '%s\n' ''
printf '%s\n' 'int random(int x,int y) {return (233333ll*rand()+rand())%(y-x+1)+x;}'
printf '%s\n' ''
printf '%s\n' 'ifstream f1;'
printf '%s\n' 'ofstream f2;'
printf '%s\n' 'int Seed;'
printf '%s\n' ''
printf '%s\n' 'int main()'
printf '%s\n' '{'
printf '%s\n' '	f1.open("test.txt");'
printf '%s\n' '	f1>>Seed;'
printf '%s\n' '	f1.close();'
printf '%s\n' '	srand(time(NULL)+Seed);rand();'
printf '%s\n' '	f2.open("test.txt");'
printf '%s\n' '	f2<<random(1,1000000000);'
printf '%s\n' '	f2.close();'
printf '%s\n' '	freopen("a.in","w",stdout);'
printf '%s\n' '	'
printf '%s\n' '	fclose(stdin);'
printf '%s\n' '	fclose(stdout);'
printf '%s\n' '	return 0;'
printf '%s' '}'

对拍:

#!/bin/sh
printf '%s\n' '#include <bits/stdc++.h>'
printf '%s\n' '#define fo(a,b,c) for (a=b; a<=c; a++)'
printf '%s\n' '#define fd(a,b,c) for (a=b; a>=c; a--)'
printf '%s\n' '#define ll long long'
printf '%s\n' '#define file'
printf '%s\n' 'using namespace std;'
printf '%s\n' ''
printf '%s\n' 'int tot;'
printf '%s\n' ''
printf '%s\n' 'int main()'
printf '%s\n' '{'
printf '%s\n' '	while (1)'
printf '%s\n' '	{'
printf '%s\n' '		system("./_data");'
printf '%s\n' '		system("./_bl");'
printf '%s\n' '		system("./");'
printf '%s\n' '		if (system("diff a.out .out -b")) return 0;'
printf '%s\n' '		++tot;'
printf '%s\n' '		cout<<tot<<endl;'
printf '%s\n' '	}'
printf '%s' '}'

diff加个-b可以忽略空格的不同(windows/linux)

神必1:

#!/bin/bash
st='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()-_=+[]{}\;:/?,.<>1234567890'
aa=$(($RANDOM%89))
bb=$(($RANDOM%89))
ch1=${st:$aa:1}
ch2=${st:$bb:1}
sed s/$ch1/$ch2/

其他以后再加

posted @ 2021-05-25 16:45  gmh77  阅读(226)  评论(0编辑  收藏  举报