Sublime Text 3 史上最性感的編輯器


↑ ↑ ↑ ↑ ↑ 請看文件夾 ↑ ↑ ↑ ↑ ↑


下載 / 安裝


windows / MAC OS

官網下載,雙擊安裝,這個都會吧~

linux

linux下安裝,一種辦法是從官網下載 tar.bz ,手動安裝。

這里介紹用 apt-get 自己主動安裝方法:

sudo add-apt-repository ppa:webupd8team/sublime-text-2 
sudo apt-get update
sudo apt-get install sublime-text-dev

命令結束后,一切搞定!

看看應用列表里是不是出來個親切的圖表?(盡管這個圖標一點也不親切。。)


改動siderbar顏色


Windows

改動 主題文件:?/Pristine Packages/Theme - Default.sublime-package/Default.sublime-theme

背景色
{"class": "sidebar_tree","row_padding": [8, 3],"indent": 12,"indent_offset": 17,"indent_top_level": false,"layer0.tint": [30, 30, 30],"layer0.opacity": 1.0,"dark_content": false
},
文字
{"class": "sidebar_label","color": [150, 150, 150],"font.bold": false// , "shadow_color": [250, 250, 250], "shadow_offset": [0, 0]
},
切割線
{"class": "sidebar_container","layer0.tint": [10, 10, 10],"layer0.opacity": 1.0,"layer0.draw_center": false,"layer0.inner_margin": [0, 0, 1, 0],"content_margin": [0, 0, 1, 0]
},

事實上RGB顏色大家都明確,能夠改成自己喜歡的樣子。

PS:備份原來的東西的時候一定要把類型名改了,由于sublime會去載入全部的包。

另:感謝亦翔百科給予非常大幫助


Linux

注意一下Sublime存放的位置就能夠:/usr/lib/sublime-text-2
假設是安裝包安裝,通常是 /opt 下。
附:linux文件夾解析


MAC OS X

OS下有些麻煩,不能直接改動,須要點工具讀寫文件,我是在win下改好后再覆蓋過來的。


安裝插件


同vim一樣,sublime本身只是僅僅是一個編輯器,要想把它改裝成IDE,須要安裝各種插件;當然,即便你不須要插件它本身的強大也能夠給你帶來意想不到的驚喜!


首先搞定 插件管理器

顧名思義是用來管理插件的工具,先安上它再搞別的插件就方便了。
安裝方法:
選擇菜單?view->show console ,這時候你就能夠看到下邊出現了 控制臺窗體。(顯示框+輸入框)這里能夠運行python代碼
輸入下面代碼,就能夠安裝好 插件管理器(package control)了
插一句:非常多地方的代碼為?import urllib2,os; 這個是python2.x的代碼,在python3.x里已經換成了?import urllib.request,os; 假設你是Sublime2.0及下面的版本號,請自行改動代碼。
import urllib.request,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp) if not os.path.exists(ipp) else None;open(os.path.join(ipp,pf),'wb').write(urllib.request.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())
接下來一定記住先重新啟動軟件!
按住ctrl+shift+p?


能夠去裝自己喜歡的插件了

裝完插件管理器,你就能夠去找自己須要的插件然后安裝。

有一些站點會總結一些不錯的插件,你能夠去試試。

當然我更希望你先看已看我寫的。。

高速編碼類

Emmet :跟Zen Coding一樣,可是ST3已不再支持 Zen,這個也是一樣的,可是要注意先禁掉 sublime 本身的自己主動補全功能,在Preferens -> Setting-User 里加入

代碼格式化

代碼格式化包含各種語言的,這里列舉幾個:(全部的插件都能夠在 Package control 里直接搜索得到)

C / C++:SublimeAStyleFormat
HTML:Tag

List:

看起來是一份不錯的總結

一些不可缺少的 ST 插件

20個強大的插件


配置編譯環境



控制臺輸入(以C++為例)

原理非常easy,就是在外部建立一個用來運行文件的 bat,然后調用它。注意的就是,須要用start 來打開一個新窗體,同一時候須要 pause 一下來看結果,當中非常蛋疼的就是Sublime默認后臺運行你的start,假設你的pause和start放在一個文件了pause對start %1 的文件是無效的,因此事實上須要建立兩個文件。注意環境變量。。。(關于什么是環境變量,三兩句解釋不清楚,最好自己百度一下。)

配好之后個人感覺控制臺輸入意義不是非常大,做題的話都是從文件讀入,做開發基本不須要讀入。So~ 各位謹慎。

MyCRun.bat

@echo off
%1
echo.
echo -------------------
pause
exit

MyCallRun.bat

@start  MyCRun %1

配置文件在?Sublime Text 3\Packages\C++.sublime-package?。 先備份一下。

改動里面的?C++.sublime-build 為

{"shell_cmd": "g++ \"${file}\" -o \"${file_path}/${file_base_name}\"","file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$","working_dir": "${file_path}","selector": "source.c, source.c++","variants":[{"name": "Run","shell_cmd": "g++ \"${file}\" -o \"${file_path}/${file_base_name}\" && MyCallRun \"${file_path}/${file_base_name}.exe\""    //  事實上就是這里加了個MyCallRun}]
}


C/C++

Sublime Text 3 默認配置好了 c++ 。可是須要你自己把 gcc 文件夾加入進環境變量

Java

Sublime Text 3 默認僅僅執行了 javac,須要自己加入執行。
苦逼看不懂 Sublime 的命令格式,于是把 javac 改成一個自己的bat。(感覺也能夠像C++那樣用 && 連起來)
在命令行可直接訪問的地方建立 myJRun.bat (我直接放在 jdk/bin 下了)
@ECHO OFF  
cd %~dp1  
ECHO Compiling %~nx1...  
IF EXIST %~n1.class (  
DEL %~n1.class  
)  
javac %~nx1  
IF EXIST %~n1.class (  
ECHO Running...
ECHO ----------------------OUTPUT----------------------
java %~n1  
)
注意不能使用 cls 。

改動java的編譯選項(備份好原來的)。
文件夾:Packages/Java.sublime-package/JavaC.sublime-build
{"shell_cmd": "myJRun.bat \"$file\"","file_regex": "^(...*?):([0-9]*):?([0-9]*)","selector": "source.java"
}
這樣以后寫的Java代碼點 Build 就會自己主動執行了。
這樣的辦法不能跨平臺,再研究研究Sublime自己的方式。


Go

用 Sublime 開發 golang 的環境非常easy,僅僅須要安裝一個 GoSublime 就差點兒相同了。



Ubuntu下輸入中文

參考整理?這里

須要自己編譯一個文件載入執行。所以須要用到一些編譯環境

步驟1:安裝gtk環境

sudo apt-get install libgtk2.0-dev pkg-config

另外貌似不支持ibus,我用的 fcitx+sogou

步驟2:保存以下這個文件到 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); 
}

步驟3:編譯之

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

步驟4:執行

事實上到這里就能夠執行了。試試
LD_PRELOAD=./libsublime-imfix.so sublime_text

應該就成功了吧,可是不能每次都這么輸命令,我是這么處理的

- 把 sublime_imfix.so ?放在sublime安裝文件夾 (我的在 /opt/sublime_text/)

- 在 /usr/local/bin 或者其它PATH下 新建一個文件Subl寫入:

LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so /opt/sublime_text/sublime_text
- 新建一個Launcher命令為 /usr/local/bin/Subl (大寫僅僅是用來差別于一般命令)

大功告成!


關于破解的那點事兒


網上關于sublime的破解方法,一搜一大堆。可是我至今都沒有去破解,原因非常easy,假設一個能夠無限期試用的軟件你都忍心破解的話。。大家同為開發者,假設自己都去無良的搞破解,還指望誰來為軟件付費?(我一個學機械的朋友如是說)




未完待續。



轉載于:https://www.cnblogs.com/mengfanrong/p/4230132.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/376322.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/376322.shtml
英文地址,請注明出處:http://en.pswp.cn/news/376322.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[轉]怎么查看和修改 MySQL 的最大連接數?

使用 MySQL 數據庫的站點&#xff0c;當訪問連接數過多時&#xff0c;就會出現 "Too many connections" 的錯誤。出現這種錯誤有兩種情況&#xff0c;一種是網站訪問量實在太大&#xff0c;服務器已經負擔不起&#xff0c;此時就應該考慮負載均衡或者其它減少服務器壓…

對qps、tps、pv、uv的理解

QPS &#xff08;Queries Per Second&#xff09;&#xff1a;每秒查詢數&#xff08;個別地方叫每秒查詢率&#xff1f;每秒查詢率是個奇怪的東西&#xff0c;每小時時速&#xff1f;&#xff09;&#xff0c;表示系統在一秒內處理的查詢次數。 TPS&#xff08;Transactions …

swift入門之TableView

IOS8更新了&#xff0c;oc還將繼續但新增了swift語言&#xff0c;能夠代替oc編寫ios應用&#xff0c;本文將使用swift作為編寫語言&#xff0c;為大家提供step by step的教程。 工具 ios每次更新都須要更新xcode&#xff0c;這次也不例外&#xff0c;但使用xcode6&#xff0c;須…

Training-ActionBar

閱讀&#xff1a;http://developer.android.com/training/basics/actionbar/index.html 對于API11以下的兼容&#xff1a; Update your activity so that it extends ActionBarActivity. For example: public class Main Activit yextends ActionBarActivity{...} In your mani…

Jmeter BeanShell學習(一) - BeanShell取樣器(一)

通過利用BeanShell取樣器設置請求發送的參數。 第一步&#xff1a;添加BeanShell取樣器 第二步&#xff1a;在BeanShell中輸入執行的代碼 log.info("腳本開始執行"); //意思是將字符串輸出到日志消息中 vars.put("username","123163.com");//…

【轉】關于Python腳本開頭兩行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定文件編碼類型...

原文網址&#xff1a;http://www.crifan.com/python_head_meaning_for_usr_bin_python_coding_utf-8/ #!/usr/bin/python 是用來說明腳本語言是python的 是要用/usr/bin下面的程序&#xff08;工具&#xff09;python&#xff0c;這個解釋器&#xff0c;來解釋python腳本&#…

分布式系統介紹-PNUTS

PNUTS是Yahoo!的分布式數據庫系統&#xff0c;支持地域上分布的大規模并發操作。它根據主鍵的范圍區間或者其哈希值的范圍區間將表拆分為表單元&#xff08;Tablet&#xff09;&#xff0c;多個表單元存儲在一個服務器上。一個表單元控制器根據服務器的負載情況&#xff0c;進行…

Jmeter BeanShell學習(一) - BeanShell取樣器(二)

利用BeanShell取樣器獲取接口返回的JSON格式的結果&#xff0c;并將該結果寫入到文件。 第一步&#xff1a;添加BeanShell取樣器 前面幾個取樣器的內容查看&#xff1a; https://blog.csdn.net/goodnameused/article/details/96985514 第二步&#xff1a;查看返回的結果格式 …

在數據庫中outlet、code、outline為聯合組件。hibarnate插入可如此插入

hibarnate對象的映射文件如下 <id name"outlet" type"string"> <column name"OUTLET" length"10" /> <generator class"assigned" /> </id> <!-- <property name"code" type"…

日怎么沒人告訴我這博客可以改博文界面的顯示寬度的

于是我妥妥的回歸了。 weebly雖然定制功能強大&#xff0c;還能穿越時空發博文&#xff0c;但是太麻煩了&#xff0c;而且用著也不像一個博客。 既然解決了這個問題&#xff0c;那Lofter除了行間距也沒什么缺點了&#xff0c;接著用吧&#xff0c;反正weebly也傳不了大圖&#…

160 - 50 DueList.5

環境&#xff1a; Windows xp sp3 工具&#xff1a; Ollydbg exeinfope 0x00 查殼 可以看出程序有加殼&#xff0c;那么我們下一步就是脫殼了。 0x01 脫殼 看上去沒什么特別的地方&#xff0c;就直接 單步跟蹤法 來脫殼吧 近call F7&#xff0c;遠call F8 來到這里 哈&…

firefox瀏覽器中silverlight無法輸入問題

firefox瀏覽器中silverlight無法輸入問題今天用firefox瀏覽silverlight網頁&#xff0c;想在文本框中輸入內容&#xff0c;卻沒想到silverlight插件意外崩潰了。google一下&#xff0c;發現這是firefox的設置問題&#xff0c;解決方法如下&#xff1a; 1、在Firefox瀏覽器地址欄…

關鍵路徑的概念和算法

AOE網&#xff1a;在一個表示工程的帶權有向圖中&#xff0c;用頂點表示事件&#xff0c;用有向邊表示活動&#xff0c;邊上的權值表示活動的持續時間&#xff0c;稱這樣的有向圖叫做邊表示活動的網&#xff0c;簡稱AOE網。AOE網中沒有入邊的頂點稱為始點&#xff08;或源點&am…

160 - 51 DueList.6

環境&#xff1a; Windows xp sp3 工具&#xff1a; Ollydbg exeinfope 0x00 查殼 發現程序沒有加殼&#xff0c;那么我們可以直接分析了。 0x01 分析 運行程序看一看 看到錯誤信息的字符串后我們可以直接搜索了。 可以看到程序會比較輸入的長度是否為8位&#xff0c;如…

寬帶上行速率和下行速率的區別

本文由廣州寬帶網http://www.ymeibai.com/整理發布&#xff0c;廣州電信寬帶報裝&#xff0c;上廣州寬帶網。 我們一般所說的4M寬帶&#xff0c;6M寬帶&#xff0c;都是指寬帶的下行速率&#xff0c;可以理解為就是下載的速度&#xff0c;平時我們用迅雷、或者網頁下載軟件時&a…

LazyInitializationException--由于session關閉引發的異常

1,頁面中進行person.department.departmentName的讀取 2,Action 中只讀取了person&#xff0c;事務作用在Service的方法中 3,后臺會有org.hibernate.LazyInitializationException出現 因為&#xff1a;Action中Service方法結束之前&#xff0c;session已經關閉了轉載于:https:/…

160 - 52 egis.1

環境&#xff1a;windows xp 工具&#xff1a; 1、OllyDBG 2、exeinfo 3、IDA 0x00 查殼 加了UPX殼&#xff0c;那么就要脫殼了。可以使用單步法來脫殼。 UPX殼還是比較簡單的&#xff0c;開頭pushad&#xff0c;找個popad&#xff0c;然后就是jmp了。 然后就可以用OD來…

玩轉MySQL之Linux下的簡單操作(服務啟動與關閉、啟動與關閉、查看版本)

小弟今天記錄一下在Linux系統下面的MySQL的簡單使用&#xff0c;如下&#xff1a; 服務啟動與關閉 啟動與關閉 查看版本 環境 Linux版本&#xff1a;centeros 6.6&#xff08;下面演示&#xff09;&#xff0c;Ubuntu 12.04&#xff08;參見文章末尾紅色標注字體&#xff09; M…

實驗八第二題

轉載于:https://www.cnblogs.com/huangsilinlana/p/3411550.html

c++ boost多線程學習(一)

本次學習相關資料如下&#xff1a; Boost C 庫 第 6 章 多線程&#xff08;大部分代碼的來源&#xff09; Boost程序庫完全開發指南 - 深入C“準”標準庫 第三版 羅劍鋒著 頭文件&#xff1a; #include <stdio.h> #include <string.h> #include <boost\versio…