假設我有一些字符串,X
,並且我希望將它包含在其他一些字符串中,例如像這樣:\emph{X}
。是否有一些工具可以讓我快速執行此操作,例如,通過選擇文本並按下鍵盤上的快捷鍵?我正在macOS Sierra的Sublime文本中工作。自動將字符串放入另一個字符串中?
回答
這是直接在Sublime內使用插入片段的鍵綁定的可能性,其中片段正文被告知包括當前選擇的文本。
對於上例中的以下示例,以下按鍵綁定會將所選內容包裝在\emph{}
中。我用Super + W進行我自己的測試,但是你可能想爲自己的目的選擇更好的東西。
{
"keys": ["super+w"],
"command": "insert_snippet",
"args": {"contents": "\\emph{${0:$SELECTION}}"},
"context": [
{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true },
]
},
的context
此處列入使得鍵綁定唯一有效的,同時至少一個字符選擇的所有光標的都有。如果需要,您可以完全刪除context
部分,在這種情況下,鍵綁定將插入代碼段並將光標留在大括號之間,或者根據所選內容的狀態來包裝所選內容。
如果你的代碼片段比這個更復雜並且涉及到了(比如多行),試圖把它的整個主體插入到鍵綁定中可能會帶來一點負擔。在這種情況下,您可能想使用外部代碼片段。
要做到這一點,你可以從菜單中選擇Tools > Developer > New Snippet...
,並使用代碼片段,如下面,你應該在的位置保存崇高默認爲:
<snippet>
<content><![CDATA[
\emph{${0:$SELECTION}}
]]></content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<!-- <tabTrigger>hello</tabTrigger> -->
<!-- Optional: Set a scope to limit where the snippet will trigger -->
<!-- <scope>source.python</scope> -->
</snippet>
有了這個到位,從上面的鍵綁定需要修改告訴insert_snippet
命令插入與特定文件名的片段,而不是與原始內容:
{
"keys": ["super+w"],
"command": "insert_snippet",
"args": {"name": "Packages/User/emph.sublime-snippet"},
"context": [
{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true },
]
},
件事需要注意的是,關鍵綁定文件是JSON,等等繼續片段的腳本需要稍微調整以使其有效JSON。在上面的例子中,這意味着使用\\
而不是僅僅使用\
來指定\emph
。
片段一般也有它們自己的特殊字符,所以如果您需要插入$
您需要引用它作爲\$
以便Sublime知道您的意思;無論代碼段是在代碼片段文件還是內聯代碼中,情況都是如此。
有關鍵綁定和片段的更多信息可以在Unofficial Documentation中找到,以獲取有關它們可能的一切的更完整圖片。
很好的答案,謝謝!這兩個鍵綁定和片段對我來說都是未知的功能。我一定會從這裏進一步探索這些! – Speldosa
- 1. C#將字符串放在另一個字符串之前
- 2. 將一個字符串到另一個字符串中的Java
- 3. 將字符串隨機插入另一個字符串
- 4. 將一個字符串與另一個字符串對齊
- 5. 如何在另一個字符串中插入字符串?
- 6. 將字串放入字符串數組
- 7. 將字符串添加到另一個字符串中
- 8. 在另一個字符串中查找一個字符串的字符串
- 9. C++將整個字符串拆分爲另一個字符串
- 10. 如何將字符串放入MFC中的字符串表中?
- 11. 從另一個字符串中創建一個字符串?
- 12. C - 從另一個字符串中減去一個字符串
- 13. 將數據從一個字符串移動到另一個字符串
- 14. 在另一個字符串的開頭插入字符串
- 15. 字符串插入另一個字符串
- 16. 將char放入每個N個字符的java字符串中
- 17. 另一個字符串中的字符串標識符
- 18. 將字符串分配給另一個字符串
- 19. 用字符串或另一個字符
- 20. 如何將字符串放入特定字符串後的字符串
- 21. 將某個字符串從一個字符串複製到另一個字符串中
- 22. 用PHP匹配一個字符串到另一個字符串
- 23. 算一個字符串另一個字符串
- 24. 前面加上一個字符串到另一個字符串
- 25. 確定一個字符串是不是另一個字符串
- 26. 從C#中的字符串中提取採購訂單#並將其放入另一個字符串中
- 27. Python將字符串放入字典
- 28. 將用戶輸入的字符串/字符與另一個字符串/字符進行比較
- 29. 每4個字符分割一個字符串,然後將這些字符串放入新變量中?
- 30. 從另一個url或字符串中提取字符串
如果您使用的是LaTeXTools,您可以按Cl,Ce以'\ emph'包裝所選文本,請參閱https://latextools.readthedocs.io/en/latest/keybindings/#wrapping-existing-text-in -commands-and-environments(我猜LaTeXing和LaTeXBox有類似的鍵綁定)。 –