linux中sublime Text安装配置及搭建cc++编译系统

    xiaoxiao2021-12-03  20

    1. Sublime Text 3的下载安装

       到官方网站上http://www.sublimetext.com/3下载64位(系统位64位)的.deb安装包(http://c758482.r82.cf2.rackcdn.com/sublime-text_build-3059_amd64.deb),下载后双击安装即可。安装好之后,通过命令subl即可打开程序,此时已经可以编写代码了。

    2.安装好软件之后,最好安装package control

       方法如下:使用Ctrl+`快捷键或者通过View->Show Console菜单打开命令行,粘贴如下代码:

    import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf),'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ',' ')).read())

      如果顺利的话,此时就可以在Preferences菜单下看到Package Settings和Package Control两个菜单了。

      手动安装

      可能由于各种原因,无法使用代码安装,那可以通过以下步骤手动安装Package Control:

       1.点击Preferences > Browse Packages菜单

       2.进入打开的目录的上层目录,然后再进入Installed Packages/目录

       3.下载Package Control.sublime-package并复制到Installed Packages/目录

       4.重启Sublime Text。

      在Ubuntu 14.04中安装了SublimeText 3之后发现既然不支持输入中文,于是在网上搜罗一下,发现很多人遇到了同样的问题,但是解决办法大该就只有一个。下面根据自身的安装及解决办法总结如下:

    1. SublimeText 3的安装     安装方式有多种,本文所描述的是从官方网站上下载64位的.deb文件 ,具体为http://c758482.r82.cf2.rackcdn.com/sublime-text_build-3059_amd64.deb文件,下载后双击即会自动使用默认的安装软件安装。 2. 相关依赖软件的安装     sudo apt-get install build-essential libgtk2.0-dev 3. 拷贝如下代码到文件sublime_imfix.c文件中,该文件需要自己创建,随便放到那里都行。 /*  * sublime-imfix.c  * Use LD_PRELOAD to interpose some function to fix sublime input method support for linux.  * By Cjacker Huang <jianzhong.huang at i-soft.com.cn> *  *  * gcc -shared -o libsublime-imfix.so sublime_imfix.c  `pkg-config --libs --cflags gtk+-2.0` -fPIC  * LD_PRELOAD=./libsublime-imfix.so sublime_text  */ #include <gtk/gtk.h> #include <gdk/gdkx.h> typedef GdkSegment GdkRegionBox; struct _GdkRegion {     long size;     long numRects;     GdkRegionBox *rects;     GdkRegionBox extents; }; GtkIMContext *local_context; void gdk_region_get_clipbox (const GdkRegion *region,                         GdkRectangle    *rectangle) {     g_return_if_fail (region != NULL);     g_return_if_fail (rectangle != NULL);     rectangle->x = region->extents.x1;     rectangle->y = region->extents.y1;     rectangle->width = region->extents.x2 - region->extents.x1;     rectangle->height = region->extents.y2 - region->extents.y1;     GdkRectangle rect;     rect.x = rectangle->x;     rect.y = rectangle->y;     rect.width = 0;     rect.height = rectangle->height;     //The caret width is 2;     //Maybe sometimes we will make a mistake, but for most of the time, it should be the caret.     if (rectangle->width == 2 && GTK_IS_IM_CONTEXT(local_context)) {         gtk_im_context_set_cursor_location(local_context, rectangle);     } } //this is needed, for example, if you input something in file dialog and return back the edit area //context will lost, so here we set it again. static GdkFilterReturn event_filter (GdkXEvent *xevent, GdkEvent *event, gpointer im_context) {     XEvent *xev = (XEvent *)xevent;     if (xev->type == KeyRelease && GTK_IS_IM_CONTEXT(im_context)) {         GdkWindow *win = g_object_get_data(G_OBJECT(im_context), "window");         if (GDK_IS_WINDOW(win)) {             gtk_im_context_set_client_window(im_context, win);         }     }     return GDK_FILTER_CONTINUE; } void gtk_im_context_set_client_window (GtkIMContext *context,                                        GdkWindow    *window) {     GtkIMContextClass *klass;     g_return_if_fail (GTK_IS_IM_CONTEXT (context));     klass = GTK_IM_CONTEXT_GET_CLASS (context);     if (klass->set_client_window) {         klass->set_client_window (context, window);     }     if (!GDK_IS_WINDOW (window)) {         return;     }     g_object_set_data(G_OBJECT(context), "window", window);     int width = gdk_window_get_width(window);     int height = gdk_window_get_height(window);     if (width != 0 && height != 0) {         gtk_im_context_focus_in(context);         local_context = context;     }     gdk_window_add_filter (window, event_filter, context); } 按照文件头上注释所说的编译该文件,在终端里进入到存放该文件的目录中,输入如下命令:     gcc -shared -o libsublime-imfix.so sublime_imfix.c  `pkg-config --libs --cflags gtk+-2.0` -fPIC 最后在当前目录下得到libsublime-imfix.so这个共享库。 4. 中文输入     到这里默认已经装好了中文输入法(搜狗输入法linux版)。得到第3步中的库libsublime-imfix.so之后,先试试看是否能正常使用中文输入法,在终端中输入如下命令:     LD_PRELOAD=./libsublime-imfix.so subl             #subl是安装好SublimeText 3后的程序启动命令 如果一切正常,在启动之后,搜狗输入法就能可以输入了。 5. 为了方便     在第4步中如果每次都输入LD_PRELOAD这样显得太不方便了,在这里提供简单修改图标连接的方式,快速打开SublimeText。将libsublime-imfix.so拷贝到系统库的默认路径中:     sudo cp libsublime-imfix.so /usr/lib/     修改/usr/share/applications/sublime_text.desktop文件     sudo vim /usr/share/applications/sublime_text.desktop     打开后将Exec=/opt/sublime_text/sublime_text %F修改为     Exec=bash -c 'LD_PRELOAD=/usr/lib/libsublime-imfix.so /opt/sublime_text/sublime_text' %F    将Exec=/opt/sublime_text/sublime_text -n修改为     Exec=bash -c 'LD_PRELOAD=/usr/lib/libsublime-imfix.so /opt/sublime_text/sublime_text' -n 这样就通过快捷方式打开SublimeText 3就可以支持中文输入了。 注:第五步仅限使用.deb文件安装的情况,如果使用源码安装的则需要变通一下,写个脚本将LD_PRELOAD加上即可

    3. 安装强大的SublimeClang插件

    SublimeClang是Sublime Text中唯一的C/C++自动补全插件,功能强大,自带语法检查功能,不过最近作者已经停止更新了,

    目前只能在Sublime Text 2的Package Control中可以找到并自动安装,在SublimeText 3中只能手动通过源码安装,

    其代码线在https://github.com/quarnster/SublimeClang中。具体安装步骤如下:

    安装相关软件 sudo apt-get install cmake build-essential clang git(git 是个好东西^-^) cd ~/.config/sublime-text-3/Packages git clone --recursive https://github.com/quarnster/SublimeClang SublimeClang cd SublimeClang cp /usr/lib/x86_64-linux-gnu/libclang-3.4.so.1 internals/libclang.so      #这一步很重要,如果你的clang库不是3.4版本的话,请将对应版本的库拷贝到internals中 cd src mkdir build cd build cmake .. make 一切成功的话将会在SublimeClang/internals目录中生成libcache.so库文件。

    重启Sublime Text,然后按快捷键Ctrl + `(Esc下面那个键)打开自带的控制输出,看看有没有错误,如果没有错误就说明一切OK了。接下来就是配置自己的文件了,

    按下ctrl + shift + p快捷键,在弹出的输入框中输入 sublimeclang settings ,然后选择带User那一行,在打开的文件中输入如下信息:

    {     "show_output_panel": false,     "dont_prepend_clang_includes": true,     "inhibit_sublime_completions": false,     "options":     [         "-std=gnu++11",         "-isystem", "/usr/include",         "-isystem", "/usr/include/c++/*",         "-isystem", "/usr/include/c++/4.8",         "-isystem", "/usr/include/c++/4.8/*",         "-isystem", "/usr/include/boost",         "-isystem", "/usr/include/boost/**",         "-isystem", "/usr/lib/gcc/x86_64-linux-gnu/4.8/include",         "-isystem", "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/*"     ] } 注释:我的gcc版本为4.8,如果你的不是请替换对应的版本,在#include相应的头文件后保存当前文件,在接下来的操作中将更快的提示所包含在头文件的函数或者变量。 ----好了到这里就可以高亮显示C/C++代码勒~ 4.搭建c/c++编译系统 建立新的编译系统 Tools –> Build System –> New Build System 在打开的页面中粘贴以下代码 { "cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}", "&", "gnome-terminal", "-x", "bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}' ;read -n1 -p 'press any key to continue.'"], "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "working_dir": "${file_path}", "selector": "source.c, source.c++",} 保存一个名字,在Tools->Build-> System 中选中即可. 到此,简单的c/c++ IDE就搭建完毕了,打开一个.c文件后,就会有高亮效果,并且按ctrl + b 就会自动编译运行了。
    转载请注明原文地址: https://ju.6miu.com/read-679998.html

    最新回复(0)