参考链接
Q:sublime在Ubuntu环境下配置好,能使用gcc编译运行程序后,发现cin,scanf 这样的命令不执行
A:sublime自带的控制台不支持这样的输入操作,解决办法就是调用Linux本地终端,在终端上执行程序,
网上关于windows下调用cmd的例子已经好多了,可是却很少找到Linux环境下的配置方法,
以下是我自己总结的方法,自己感觉很好用,希望可以帮到需要的朋友。
1.Sublime界面-->Tools-->Build System-->New Build System,弹出一个简单的文件,把以下代码粘贴进去,
最后结果如下所示:
复制代码
{
“cmd”: ["g++ ${file} -o
f
i
l
e
b
a
s
e
n
a
m
e
"
]
,
"
f
i
l
e
r
e
g
e
x
"
:
"
(
.
.
[
:
]
∗
)
:
(
[
0
−
9
]
+
)
:
?
(
[
0
−
9
]
+
)
?
:
?
(
.
∗
)
{file_base_name}"], "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)
filebasename"],"fileregex":"(..[:]∗):([0−9]+):?([0−9]+)?:?(.∗)",
“working_dir”: "KaTeX parse error: Expected '}', got 'EOF' at end of input: … "cmd": ["{file_path}/KaTeX parse error: Expected 'EOF', got '}' at position 28: …ame}"] }̲, { …{file_path}/${file_base_name};read’ "]
}
]
}
复制代码
2.保存为g++.sublime-build,保存位置就是默认路径,即Packages–>User 目录下
3.第三步,设置快捷键,Sublime界面-->Preferences-->Key Bindings-User, 打开后写入以下代码,结果如下所示
[
{ “keys”: [“f8”], “command”: “build”,“args”: {“variant”: “RunInShell”} },
]
保存。
4.这样就完成调用Linux下的终端了,Sublime写好C/C++程序后,
ctrl+B编译程序,ctrl+shift+B使用Sublime自带的控制台运行程序,F8为调用Ubuntu终端运行程序。
关键之处就在于一点,也是我废了点力气测试出来的,
“cmd”: ["gnome-terminal -x bash -c ‘
f
i
l
e
p
a
t
h
/
{file_path}/
filepath/{file_base_name};read’ "],
这条代码就是调用gnome-terminal来执行程序,后面的;read 必须要加,否则程序执行完终端会闪退,加上以后程序执行完,敲回车关闭终端。