热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SublimeText2使用指南+ubuntu下安装+喜欢sublimeText

感觉很容易上手,再稍加配置,基本上就可以变成一个有这Eclipse操作习惯(快捷键),的文本编辑器.ubuntu下sublimeText2编辑器安装教程SublimeText2是一款功能很强大的图形界面的编辑器,可以安装各种插件,使之功能很强大!Ubuntu下安装方法:[python]view

感觉很容易上手,再稍加配置,基本上就可以变成一个有这Eclipse操作习惯(快捷键),的文本编辑器. ubuntu下sublime Text 2编辑器安装教程 Sublime Text 2是一款功能很强大的图形界面的编辑器,可以安装各种插件,使之功能很强大! Ubuntu下 安装方法: [python] view

感觉很容易上手,再稍加配置,基本上就可以变成一个有这Eclipse操作习惯(快捷键),的文本编辑器.


ubuntu下sublime Text 2编辑器安装教程

Sublime Text 2是一款功能很强大的图形界面的编辑器,可以安装各种插件,使之功能很强大!

Ubuntu下 安装方法:

[python] view plaincopyprint?

  1. sudo add-apt-repository ppa:webupd8team/sublime-text-2

[python] view plaincopyprint?

  1. sudo apt-get update

[python] view plaincopyprint?

  1. sudo apt-get install sublime-text




! 注意:
Sublime Text安装好后一般是不能输入汉字
编译共享内库:
1. 保存下述代码为 sublime-imfix.c 文件;

[cpp] view plaincopyprint?

  1. /*sublime-imfix.c
  2. Use LD_PRELOAD to interpose some function to fix sublime input method support for linux.
  3. By Cjacker Huang
  4. gcc -shared -o libsublime-imfix.so sublime_imfix.c `pkg-config--libs --cflags gtk+-2.0`-fPIC
  5. LD_PRELOAD=./libsublime-imfix.so sublime_text
  6. */
  7. #include
  8. #include
  9. typedef GdkSegment GdkRegionBox;
  10. struct _GdkRegion
  11. {
  12. long size;
  13. long numRects;
  14. GdkRegionBox *rects;
  15. GdkRegionBox extents;
  16. };
  17. GtkIMContext *local_context;
  18. void gdk_region_get_clipbox (const GdkRegion*region,GdkRectangle *rectangle)
  19. {
  20. g_return_if_fail (region != NULL);
  21. g_return_if_fail (rectangle != NULL);
  22. rectangle->x= region->extents.x1;
  23. rectangle->y= region->extents.y1;
  24. rectangle->width= region->extents.x2- region->extents.x1;
  25. rectangle->height= region->extents.y2- region->extents.y1;
  26. GdkRectangle rect;
  27. rect.x = rectangle->x;
  28. rect.y = rectangle->y;
  29. rect.width = 0;
  30. rect.height = rectangle->height;
  31. //The caret widthis 2;
  32. //Maybe sometimes we will make a mistake, butfor most of the time, it should be the caret.
  33. if(rectangle->width== 2 && GTK_IS_IM_CONTEXT(local_context)){
  34. gtk_im_context_set_cursor_location(local_context, rectangle);
  35. }
  36. }
  37. //this is needed, for example, if you input something in file dialog and return back the edit area
  38. //context will lost, so here weset it again.
  39. static GdkFilterReturn event_filter (GdkXEvent*xevent, GdkEvent*event, gpointer im_context)
  40. {
  41. XEvent *xev = (XEvent *)xevent;
  42. if(xev->type== KeyRelease&& GTK_IS_IM_CONTEXT(im_context)){
  43. GdkWindow * win = g_object_get_data(G_OBJECT(im_context),"window");
  44. if(GDK_IS_WINDOW(win))
  45. gtk_im_context_set_client_window(im_context, win);
  46. }
  47. return GDK_FILTER_CONTINUE;
  48. }
  49. void gtk_im_context_set_client_window (GtkIMContext*context,
  50. GdkWindow *window)
  51. {
  52. GtkIMContextClass *klass;
  53. g_return_if_fail (GTK_IS_IM_CONTEXT (context));
  54. klass = GTK_IM_CONTEXT_GET_CLASS (context);
  55. if (klass->set_client_window)
  56. klass->set_client_window(context, window);
  57. if(!GDK_IS_WINDOW(window))
  58. return;
  59. g_object_set_data(G_OBJECT(context),"window",window);
  60. int width = gdk_window_get_width(window);
  61. int height = gdk_window_get_height(window);
  62. if(width!= 0 && height !=0){
  63. gtk_im_context_focus_in(context);
  64. local_cOntext= context;
  65. }
  66. gdk_window_add_filter (window, event_filter, context);
  67. }


2.安装C/C++的编译环境和gtk libgtk2.0-dev.

[python] view plaincopyprint?

  1. sudo apt-get install build-essential

[python] view plaincopyprint?

[python] view plaincopyprint?

  1. sudo apt-get install libgtk2.0-dev



3.编译共享内库;]


[python] view plaincopyprint?

  1. gcc -shared -o libsublime-imfix.so sublime_imfix.c `pkg-config--libs --cflags gtk+-2.0`-fPIC



4.启动 Sublime Text 2

好了,现在执行下述命令启动 Sublime Text 2,就可以使用fcitx输入中文了!

[python] view plaincopyprint?

  1. LD_PRELOAD=./libsublime-imfix.so sublime_text


5.但是这样的话,我们每次都要在终端里面使用命令启动sublime text 2,这样很不方便,接下来我们还要通过修改sublime-text-2.desktop达到点击图标启动。

将libsublime-imfix.so移动到/usr/lib/;


[python] view plaincopyprint?

  1. sudo mv ./libsublime-imfix.so/usr/lib/


打开终端进入applications修改sublime-text-2.desktop;

[python] view plaincopyprint?

  1. sudo mv ./libsublime-imfix.so/usr/lib/


打开sublime-text-2.desktop后,将

  1. Exec=/usr/bin/subl%F

修改为

[python] view plaincopyprint?

  1. Exec=bash-c 'LD_PRELOAD=/usr/lib/libsublime-imfix.so /usr/bin/sublime-text'%F


还有将[[Desktop Action Window]下的

  1. Exec=/usr/bin/sublime-text

修改为


[python] view plaincopyprint?

  1. Exec=bash-c 'LD_PRELOAD=/usr/lib/libsublime-imfix.so /usr/bin/sublime-text'



如果你想单击鼠标右键用Sublime Text就直接打开文件的话,还需要进行一点小小的修改.不然,打开是空的.
  解决办法如下:

修改这个的时候

[python] view plaincopyprint?

  1. Exec=bash -c ‘LD_PRELOAD=/usr/lib/libsublime-imfix.so /usr/bin/sublime-text-2′ %F



把单引号放到最后,如下


[python] view plaincopyprint?

  1. Exec=bash -c ‘LD_PRELOAD=/usr/lib/libsublime-imfix.so/usr/bin/sublime-text %F’




然后,这个问题就完美解决了.好了,接下来你在dash中点击打开sublime text2吧,开始你的代码之旅吧。

Sublime Text 3 插件的汉化、开发、发布方法教程
http://my.oschina.net/theforever/blog/136554
sulime-text-2的快捷键以及插件教程: http://blog.csdn.net/linuxzbq/article/details/9861165

参考资料:http://my.oschina.net/wugaoxing/blog/121281


ublime

刚工作的时候,项目组都用UltraEdit,我也随大流。我使用UltraEditUE)工作的时间仅有2个月,

我对UE的印象一直是不亲切,功能齐全常用的却不多,一些功能与配置在菜单和界面中的位置与我期望

的不一样,没有舒适的配色方案等等。

后来用Notepad++ , 大概半年左右。Notepad++功能相对较简单,界面比UE简洁,快捷键用的比较熟

练,搭配上多view功能和nppFtp插件,工作效率提高了不少。

201211到现在一直用Sublime text 2,用过感受就是很舒服、很方便、真奇特。功能丰富而且

易用性高:配置sublime快捷键的方式,极其方便的command palette,强大的文件与内容模糊等等,本文

的主要目的是从易用性等几个方面分享我使用Sublime text 2 时的一些感受和经验,希望它能引起你对Sublime

的兴趣。关于Sublime的教程及详细介绍,网上有很多,参见本文结尾处的References

对于各文本编辑器的观点很可能与我的使用熟练程度与特定工作(主要是在项目中开发C++,Python

相关,不具普遍性,哪个编辑器真正适合你还是需要自己亲身尝试。


1.学习成本低-功能简洁-很快上手-易用性高

Sublime 最大的特点就是把大多数功能做的又简洁又简单,易用性很高,不像笨重的UltraEdit。一般

的文本编辑器如UltraEdit, Notepad++, Sublime的部分相同功能的默认快捷键也相同,为在不同的编辑器之

间切换提供便利。

而且Sublime提供了一些操作方式和功能,如方便的Key bindingsCommand PaletteGoto anything

能提高工作的效率:缩短了移动光标的距离,鼠标点选功能项、菜单的次数,减少了重复工作,少了点烦

心。在这方面,Sublime与乔布斯的设计哲学真有些相似(但是Sublime的作者曾经只在Google工作过)。


2.跨平台

有了Sublime,对于我这种同时用mac,windows,ubuntu的人是很大的幸福,不必学习使用多个text editor

不必在多个text editor之间切换。

Sublime支持Mac OS X,windows 32/64bit , Linux 32/64 bit


3. 简洁的find and replace

Sublime的查找替换功能没有复杂的勾选,出现在编辑器底部边缘的位置,不会妨碍需要浏览的内容。





4. Command Palette 命令面板

Sublime提供了方便的命令调用方式,选择Tool->Command Palette,或者按快捷键ctrl + shift + P 调出

Command Palette ,只要简单地输入命令名称中包含的的几个字母就可以立即查找到可能匹配的命令,按下

回车直接执行,省去了在菜单中依次查找的麻烦。Command Palette可匹配的结果包括:菜单中常用的命

令、设置打开的文本按哪种编程语言进行语法高亮,snippets等。



5. Goto Anything and Fuzzy Search 文件查找和模糊匹配

快捷键 Ctrl + p 或者 Goto-> Goto Anything,出现一个简洁的输入文本区域。这个功能让你能够迅速

查找已打开的文件和已打开的目录中的文件,并在这些文件之间迅速切换。输入文件名中包含的字母,迅

速得到可能的匹配。非常喜欢sublime提供的仅仅键入几个字母即可得到想要的结果的模糊匹配功能。


还可以在这些文件中查找特定的文本,例如:

调出Goto Anything 后,输入island#treasure 来查找文件名匹配island的文件中的treasure

(例子来源:Sublime Text Unofficial Documentation)

类似的功能还有:

(1)Goto Symbol ctrl + R 快速定位到函数

(2)Goto Line ctrl + G 快速定位到行


6.实用的多重选择

提供多种多重选择方式:

按住ctrl ,用鼠标左键点击要选择的文本位置,出现多个光标,可在同行、跨行多重选择。

ctrl + L 可选中这些行。

按住shift,点击鼠标右键可以类似notepad++中列模式的方式多重选择文本。

按住shift + alt 点击鼠标右键,可在多选中去除某个选择。


7. 多种布局方式

你可以将编辑窗口拆分为两列,三列,四列 或者两行,三行再或者四格模式,方便查看和编辑文件。



8. 针对编程语言提示编辑错误

以颜色高亮的方式提示一些编程语法错误。如C++定义Class时忘记加末尾分号,忘记删除尾部注释

符号’*/’等。


9. Key Bindings

Sublimepreferences , key bindings , macro都做成了json格式的配置文件,相对于复杂的界面来讲,

更容易实现查找和简单的配置。但是还不清楚这是sublime的设计思想,还是它未来可能会改成界面。

例如key bindings 的配置,允许你DIY操作与快捷键的映射关系。

快捷键的映射关系保存在.sublime-keymap文件中,可通过Preferences->Key Bindings-Default打开此文件,


以下是.sublime-keymap中的部分内容:

[python] view plaincopy

  1. [
  2. { "keys": ["ctrl+shift+n"], "command": "new_window" },
  3. { "keys": ["ctrl+shift+w"], "command": "close_window" },
  4. { "keys": ["ctrl+left"], "command": "move", "args": {"by": "words", "forward": false} },
  5. { "keys": ["escape"], "command": "hide_auto_complete", "context":
  6. [
  7. { "key": "auto_complete_visible", "operator": "equal", "operand": true }
  8. ]
  9. },
  10. ]

“keys”的值为快捷键组合,”command”的值为要执行的命令。更加复杂的还包括待输入的参数

”args”以及命令的上下文信息”context”


10. package control

Sublime有极好的扩展能力,使用Python作为扩展语言,想要更好地利用它的扩展能力,应该使用

Package ControlPackage Control 的目的是帮助sublime用户简化安装、管理插件的过程,它能与sublime

完美结合,是sublime的必备神器,你仍然可以像操作command palette 那样操作package control.


Package control的安装方法及使用方法见:

http://wbond.net/sublime_packages/package_control


常用快捷键(windows/Linux)

1. ctrl+方向键 按单词移动

2. ctrl+shift + 方向键 按单词选取

3. ctrl + F3 查找选定的或光标所在单词

4. F3 查找特定的单词(一般查找的流程是先ctrl+F3,再F3)

5. ctrl + shift + p 打开Command Palette

6. ctrl + R 定位文件中出现的符号

7. ctrl + G 定位行

8. Ctrl + p Goto anything

9. ctrl + shift + d 复制光标所在的行

10. ctrl + shift + k 删除光标所在的行

11. Shift + alt + 2 拆分窗口成两列

12. Shift + alt + 8 拆分窗口成两行

常用快捷键(mac)

关于mac的常用快捷键可参考:https://gist.github.com/1207002


Sublime text 2 必备插件

(1)ConvertToUTF8

Sublime 只支持utf8编码,该插件可以帮助处理 GBK, BIG5, EUC-KR, EUC-JP, SHIFT_JIS

编码的文件

(2) Sftp ftp工具,类似notepad++nppftp插件

(3) Sidebar enhancements 侧边栏功能增强插件,提供很多实用的文件操作。


Sublime的问题

sublime也是有各种问题的,当然并不是指它是收费的,毕竟目前可以完全免费使用,只是偶尔会提示

购买而已。即使真正收费了,这也是一个值得购买的好软件,并不影响它的出色表现。

真正的问题是在Linuxsublime无法输入中文,解决方法繁琐。


Sublime其他资料

(1)lucifr的博客中有关于sublime text 2 的优质内容 http://lucifr.com/tags/sublime-text/

(2)各种插件 https://sublime.wbond.net/




推荐阅读
  • 在Ubuntu系统上怎么安装Sublime和Atom编辑器
    本篇内容主要讲解“在Ubuntu系统上怎么安装Sublime和Atom编辑器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • RN即ReactNative基于React框架针对移动端的跨平台框架,在学习RN前建议最好熟悉下html,css,js,当然如果比较急,那就直接上手吧,毕竟用学习前面基础的时间,R ... [详细]
  • 本文转载自简书,传送门sublime很好用,但是ubuntu下不能输入中文,这是一个很大的问题。不知道为什么开发着一直也不解决,好在还是有高手在,总能找到方法。网上方法很多,但是也很乱 ... [详细]
  • sublime text2 自定义快捷键
    2019独角兽企业重金招聘Python工程师标准sublimetext2(以下简称st2)不得不说是一款性感十足的编辑器,弄的人各种 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • linux qt打开常用文件格式,设置Linux Qt文件默认打开方式为QtCreator
    Linux自定义文件打开方式也可参照文本抱歉,本文前段时间写的ubuntu下的Qt工程文件默认打开方式是不好用的,因为其他的文本文件也会受到影响,强迫症患者,每次打开Qt工程都是先 ... [详细]
author-avatar
海木木
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有