被 $Sublime$ 的顏值所吸引,於是想配置一下來寫代碼,其中也遇到了一些問題,以此記錄。
首先下載 $sublime text 3$並安裝;
我之前是安裝的$MinGW$,但是一直存在編譯時 %lld 會報錯 或者 無法聲明 $string$ 變量,請教了某聚聚之后改用了 $MinGW64$ 就解決了之前的問題
先下載 $MinGW64$並安裝,下載鏈接
如果在線安裝出現問題,就可以直接下載離線壓縮包,下載鏈接 ,並解壓(我是將其放在了C盤根目錄),然后將 C:\mingw64\bin 添加至環境變量;
然后打開 $sublime$ , 頂部導航欄 Tools -> Build System -> New Build System,然后更改為以下代碼並保存為C++11;並在 Build System 中選擇更改保存的 C++11;
{ "encoding": "utf-8", "working_dir": "$file_path", "shell_cmd": "g++ -Wall \"$file_name\" -o \"$file_base_name\"", "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "selector": "source.c++", "variants": [ { "name": "Run", "shell_cmd": "g++ -Wall \"$file\" -o \"$file_base_name\" && start cmd /c \"\"${file_path}/${file_base_name}\" & pause\"" } ] }
然后我們新建一個cpp文件(注意新建時要加文件類型后綴),寫一個 " Hello world " ,並按 F7 編譯並運行,然后就成功了。
先按下組合鍵 Ctrl + ~ 然后輸入以下代碼並回車
import urllib.request,os,hashlib; h = '6f4c264a24d933ce70df5dedcf1dcaee' + 'ebe013ee18cced0ef93d5f746d80ef60'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
按下組合鍵 Ctrl + shift + P , 並輸入 pci 回車,就可以安裝拓展插件了
之前一直很好奇別人是怎么在代碼前面插入時間戳的,之后發現 sublime 也可以通過 File Header 插件實現;
我們安裝好了 File Header 之后, 頂部導航欄 Preferences -> Browse Packages -> FileHeader -> template -> header -> c++.tmpl 並用sublime 打開,編輯相應的模塊並保存就可以了,也可以自定義增加一些東西,電子郵箱,個人簽名之類的;
然后我們新建一個 cpp 文件,就會出現 自己的 ID 和時間戳了,是不是很炫酷 ; (逃~
因為之前一直用的 CodeBlocks ,習慣了 F9 的快捷鍵,就想把 sublime 的快捷鍵也改一改;
頂部導航欄 Perferences -> Key Bindings 然后我們 Ctrl + F 搜索一下 " f7"
然后我們將這個語句復制下來粘貼到右邊的 user 中,把快捷鍵修改為 f9 並保存,就設置成功了。
每次寫題都要自己敲頭文件和define這些感覺很麻煩,之前codeblock可以 code defult 自動生成,sublime 也可以通過添加代碼片段實現;
頂部導航欄 Tools -> Developer -> New Snippet , 將下面的代碼復制粘貼並保存為acm就可以了,中間部分可以更改為自己的板子
<snippet> <content> <![CDATA[ #include<bits/stdc++.h> using namespace std; #define X first #define Y second #define eps 1e-2 #define gcd __gcd #define pb push_back #define PI acos(-1.0) #define lowbit(x) (x)&(-x) #define bug printf("!!!!!\n"); #define mem(x,y) memset(x,y,sizeof(x)) typedef long long LL; typedef long double LD; typedef pair<int,int> pii; typedef unsigned long long uLL; const int maxn = 1e5+2; const int INF = 1<<30; const int mod = 1e9+7; void solve(){ return; } int main() { // freopen("in.txt","r",stdin); // freopen("out.txt","w",stdout); // ios::sync_with_stdio(false); int t = 1; //scanf("%d",&t); while(t--){ // printf("Case %d: ",cas++); solve(); } return 0; }]]> </content> <!-- Optional: Set a tabTrigger to define how to trigger the snippet --> <tabTrigger>acm</tabTrigger> <!-- Optional: Set a scope to limit where the snippet will trigger --> <scope>source.c++</scope> </snippet>
然后我們新建一個 cpp 文件,輸出 acm 並回車 就會出現保存好的板子了。
還有很多新功能待發現,未完待續...
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。