如何在 Textmate 中自动识别,类似于 Emacs

发布于 2024-10-18 08:12:38 字数 277 浏览 3 评论 0原文

如何在 Textmate 中自动缩进类似于 Emacs 下此代码的效果:

(defun set-newline-and-indent ()
  (local-set-key (kbd "RET") 'newline-and-indent))
(add-hook 'c-mode 'set-newline-and-indent)

即我不想按回车键,然后按 Tab 键缩进。我想按回车键并让 Textmate 根据语言自动缩进到正确的位置。

感谢您的任何提示。

How do I auto-indent in Textmate similar to the effect of this code under Emacs:

(defun set-newline-and-indent ()
  (local-set-key (kbd "RET") 'newline-and-indent))
(add-hook 'c-mode 'set-newline-and-indent)

i.e. I don't want to hit return, then tab to indent. I want to hit return and have Textmate automatically indent to the correct location based on the language.

Thanks for any hints.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

负佳期 2024-10-25 08:12:38

Textmate 应该自动执行此操作。如果没有,您可以在包编辑器中创建自定义宏、命令或代码片段来为您完成此操作。

  1. 首先找出插入符位置的范围(Bundles -> Bundle Development -> Show Scope)。它应该类似于 source.ruby string.quoted.double.ruby
  2. 然后创建一个包含换行符和制表符的代码片段。
  3. 然后将代码片段分配到前面提到的范围并为其分配快捷方式。

如果操作正确,您的快捷方式应该触发指定范围内的捆绑包项目,而不是插入新行。

查看包编辑器内的 CSS ->;属性 {}(}) 捆绑项作为示例。

Textmate should do this automatically. If if doesn't, you can create a custom macro, command, or snippet in the bundle editor which does it for you.

  1. First find out the scope of the caret position (Bundles -> Bundle Development -> Show Scope). It should look something like source.ruby string.quoted.double.ruby.
  2. Then create a snippet that contains a newline and a tab.
  3. Then assign the snippet to the previously mentioned scope and assign it a shortcut.

If done correctly, your shortcut should trigger the bundle item in the assigned scope instead of inserting a new line.

Look inside the bundle editor at the CSS -> properties {}(}) bundle item for an example.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文