The following tutorial column from sublime will introduce to you how sublime text 3 supports Chinese input under Ubuntu. I hope it will be helpful to friends in need!
- Installation of related dependent software---sudo apt-get install build-essential libgtk2.0-dev
- Copy the following code to sublime text 3 and save it as The file of 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> *
*
* 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>
#include <gdk>
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);
}</gdk></gtk></jianzhong.huang>
- Find the file location in the terminal and compile this file into the shared library libsublime-imfix.so----Enter the command
gcc -shared -o libsublime-imfix.so sublime_imfix.c `pkg-config --libs --cflags gtk -2.0` -fPIC - Copy libsublime-imfix.so to the folder where sublime_text is located ---sudo mv libsublime-imfix .so /opt/sublime_text/
- Modify the contents of the file /usr/bin/subl ---sudo gedit /usr/bin/subl
- will
#!/bin/sh exec /opt/sublime_text/sublime_text "$@"
- Modify to
#!/bin/sh LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text "$@"
In this way, we can enter Chinese in sublime by typing subl to start from the terminal!
Finally, in order to facilitate us to use Chinese input when starting directly, we need to open and modify the contents of the file sublime_text.desktop in the terminal command---sudo gedit /usr/share/applications/sublime_text.desktop
[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 exec /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 exec /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 exec /opt/sublime_text/sublime_text --command new_file" OnlyShowIn=Unity;
Replace the content with the above code content, and we are done! Of course, for the sake of stability, it is better to start from the terminal!
*Note
Because we will see two icons, one of which can input Chinese only when it is started, and the other one still cannot input
The above is the detailed content of How does sublime text 3 support Chinese input under Ubuntu?. For more information, please follow other related articles on the PHP Chinese website!
How to run sublimeApr 16, 2025 am 09:39 AMTo run Sublime Text, you need to download, install the application, purchase a license (optional), and then launch the application. Create or open a file to start encoding.
How to Chinese sublimeApr 16, 2025 am 09:36 AMSublime Text can be Chineseized through the following steps: 1. Download the Chinese package; 2. Install the Chinese package; 3. Restart Sublime Text; 4. Set the default language (optional); 5. Verify the Chinese version.
How to delete sublime plug-inApr 16, 2025 am 09:33 AMThere are two ways to delete plugins in Sublime Text: Delete through the Plug-in Manager: Select the plug-in you want to delete and right-click and select "Delete". Manually Delete: Navigate to the user data directory, locate the plugin folder and drag it to the Recycle Bin or Trash.
How to write code with gbk in sublimeApr 16, 2025 am 09:30 AMTo write code using GBK encoding in Sublime Text, you need to: 1. Set the project encoding to GBK; 2. Create a new file; 3. Select GBK encoding when saving as; 4. Enter the code using GBK encoding.
How to change sublime to ChineseApr 16, 2025 am 09:27 AMsublime can be translated into Chinese as: 1. Sublime, sacred; 2. Extreme, extraordinary; 3. Indescribable, awesome; 4. Sublime thought.
How to get the registration code for sublimeApr 16, 2025 am 09:24 AMThe steps to purchase a Sublime Text registration code are as follows: Visit the website and select "Buy". Select the license type and enter information. Pay and receive emails containing registration codes. Open Sublime Text, go to the License menu and paste the registration code. Click Register to activate your registration code and advanced features.
How to save the code in sublimeApr 16, 2025 am 09:21 AMSublime Text provides a variety of ways to save code, including shortcut keys (Ctrl S), menu bar (File > Save), toolbar (disk icon), and command panel (Ctrl P). In addition, it also provides an automatic save function, which can automatically save open files regularly.
How to use arrow function for sublimeApr 16, 2025 am 09:18 AMUse arrow functions to define anonymous functions in Sublime Text concisely and quickly, with the syntax: (parameter list) => expressions. The advantages include simplicity, readability, scope inheritance and closure functions. Notes include extension operators and this keyword limitations, and the need for explicit return statements for multi-line functions.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Chinese version
Chinese version, very easy to use

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

Zend Studio 13.0.1
Powerful PHP integrated development environment

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Atom editor mac version download
The most popular open source editor






