Ubuntu 14 Installation and configuration sublime Text 3

Source: Internet
Author: User
Tags gtk sublime text


Installing sublime Text 3
sudo add-apt-repository ppa:webupd8team/sublime-text-3 sudo apt-get update 
sudo apt-get install sublime-text-installer 
Install the package Control


The package control is a good tool for managing plug-ins that can be used to install, delete, and disable the appropriate plugins, which can be found on top of common plugins. Select the menu view->show console and enter the following Python code in the console window


import urllib.request,os;pf=‘Package Control.sublime-package‘ifnot os.path.existselse None;open(os.path.join(ipp,pf),‘wb‘).write(urllib.request.urlopen(‘http://sublime.wbond.net/‘+pf.replace(‘ ‘,‘%20‘)).read())


After pressing ENTER, wait for completion and restart sublime TEXT3 software after completion.


Installing plugins


Press CTRL+SHIFT+P, open the plugin manager, then enter install, then return.
Wait a moment will pop up the window to install the plug-in, enter the desired plugin, enter to install.


    1. ConvertToUTF8 : Support UTF8 encoding of a plug-in, generally solve the problem of Chinese garbled, Sublime Text3 This plugin does not work properly, Codecs33 instead
    2. C/c++:sublimeastyleformat C, C + +, cuda-c++, OpenCL, C #, and Java Code formatting tools, shortcut keys
      Ctrl+alt+f:format current file.
      Ctrl+k, Ctrl+f:format current selection.
    3. bracket highlighter highlight matching brackets, quotes, and labels.
Unable to input Chinese question


The default has been installed Sogou Pinyin, add/opt/sublime_text directory added sublime_imfix.c


 
 
cd /opt/sublime_text
sudo touch sublime_imfix.c
sudo gedit sublime_imfix.c


Paste the following code in to save


 
/*
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); 
}


Then enter the following command


sudo apt-get install build-essential libgtk2.0-dev-shared-o libsublime-imfix.so sublime_imfix.c `pkg-config --libs --cflags gtk+-2.0`-fPIC


Edit a shortcut to sublime Text3


sudo gedit /usr/share/applications/sublime-text.desktop


Replace with the following content


 
 
[Desktop Entry]
Version=1.0
Type=Application
Name=Sublime Text
GenericName=Text Editor
Comment=Sophisticated text editor for code, markup and prose
Exec=bash -c ‘LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so /opt/sublime_text/sublime_text‘ %F
Terminal=false
MimeType=text/plain;
Icon=sublime-text
Categories=TextEditor;Development;Utility;
StartupNotify=true
Actions=Window;Document;

X-Desktop-File-Install-Version=0.22

[Desktop Action Window]
Name=New Window
Exec=bash -c ‘LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so /opt/sublime_text/sublime_text‘ -n
OnlyShowIn=Unity;

[Desktop Action Document]
Name=New File
Exec=bash -c ‘LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so /opt/sublime_text/sublime_text‘ --command new_file
OnlyShowIn=Unity;


Restart Sublime Text3 to resolve.



Ubuntu 14 Installation and configuration sublime Text 3


Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.