2014-03-05 52 views
0

摘要:我使用TextMate 2.0(目前版本2.0-alpha.9515)編寫Ruby和Ruby on Rails代碼,並且我發現我意外觸發了「片段」功能。關閉TextMate 2.0片段

雖然可能是褻瀆,但我現在不想使用大部分TextMate的高級功能 - 這意味着我也不想全部瞭解它們。但我似乎無法避免觸發將不需要的文本插入我的代碼中的「代碼片段」功能。我希望能夠完全關閉該功能。或者,我不希望能夠禁用導致我出現問題的任何代碼段 - 但爲了做到這一點,我希望能夠在所有許多捆綁包中快速找到相關條目。

舉個例子,我遇到了一些像'serial_if'這樣的變量。如果我在輸入變量名後點擊'tab',TextMate會爲if語句插入模板,但我無法弄清楚如何阻止它發生。我聯繫了TextMate的支持人員,並被告知理論上這個解僱的片段可能在任何地方。引用:「我們使用範圍來確定給定時間哪些捆綁包項目處於活動狀態,所以任何捆綁包中的項目都可以處於活動狀態並對Tab鍵作出響應」我在他們的幫助下跟蹤了問題Ruby>菜單操作>聲明)。但現在我注意到,如果我在冒號後點擊tab,我會得到':key =>「value」,「插入。當然,從Ruby 1.9開始,爲了將符號用作散列鍵,通常在變量名的末尾加上冒號。我還沒有找到相關的條目 - 並且花時間去尋找它是不理想的。

有沒有辦法阻止所有片段的發射方式不涉及永久性的永久性功能?或者有什麼方法可以快速找到哪個片段爲了殺死它而被解僱?任何提示讚賞。

回答

0

要停用標籤觸發器(即壓片,並可能有一個片段插入)做:

  1. 編輯→宏→開始錄製⌥⌘M
  2. 按下Tab鍵(
  3. 編輯→宏→停止錄製⌥⌘M
  4. 編輯→宏→保存宏...^⌘M
  5. 選擇在哪裏保存您的宏
  6. 設置鍵相當於標籤(
  7. ⌘捆綁S保存宏。

現在壓片()執行宏(總是插入一個選項卡),而不是TextMate的默認行爲。

如果您只希望禁用ruby功能,請將宏的範圍選擇器設置爲source.ruby

至於如何找到插入該項目,使用:

  1. 捆綁→選擇捆綁項目...^⌘T
  2. 輸入if
  3. 按選項返回( ⌥↩)編輯找到的項目
+0

這就是gre在。不確定TextMate的理想工作方式如何,但看起來確實能幫助我。一個小錯誤:我想在Ruby包和Ruby on Rails包中禁用片段,因此我錄製了兩個宏,並在每個包中放入一個宏。但是當我點擊'標籤'時,我會彈出一個想要我選擇運行的彈出窗口。但是,如果我沒有在Ruby on Rails中放置第二個宏,那麼Ruby宏不會在Ruby on Rails文件中觸發。所以它看起來像我必須把*一個*複製到全球的某個地方(這對我來說很好)。對於那裏的任何建議? – RobJ

+0

你只需要一個宏。範圍選擇器告訴TextMate您希望它處於活動狀態(不是它所在的包)。欲瞭解更多信息,請參閱http://manual.macromates.com/en/scope_selectors - 在你的情況下,使用'source.ruby'也會在Rails中激活它(也就是'source.ruby.rails') - 你也可以將其留空以使宏在任何地方都處於活動狀態。 –

+0

我*想*我有問題,似乎需要兩個宏的原因是,當我錄製其中一個宏並可能合併時,這個dratted snippet實際上被解僱了。或者也許這與它無關。無論哪種方式,我禁用了我創建的兩個宏(無法看到如何刪除它們)並重新開始,這次它似乎工作。非常感謝你的幫助。不必選擇變量名來安撫我的編輯器是一個很大的幫助。 – RobJ