codemirror:如何在按tab键时缩进整行
codemirror : how to indent the whole line when pressing tab?
我正在为代码镜像创建一个新的简单模式。
我希望当用户按下"tab"时,整行都会缩进(而不是只将光标后面的那部分行"一分为二")。
最简单的方法是什么?
注意:不必在模式中定义相应的代码。任何其他方法(例如附加组件或配置)也可以。
只需将选项卡的键映射更改为indentMore:
extraKeys: {
"Tab": "indentMore"
}
此解决方案也不会破坏选择缩进。
Fiddle
这应该可以工作。jsfiddle
extraKeys: {
"Tab": function(cm){
// get cursor position
var pos = cm.getCursor();
// set cursor position to the begining of the line.
cm.setCursor({ line: pos.line, ch: 0 });
// insert a tab
cm.replaceSelection("'t", "end");
// set cursor position to original.
cm.setCursor({ line: pos.line, ch: pos.ch + 1 });
}
}
关于手册:
extraKeys: {
'Tab': 'indentAuto'
}
- 附加密钥:http://codemirror.net/doc/manual.html#option_extraKeys
indentAuto
命令:http://codemirror.net/doc/manual.html#command_indentAuto
相关文章:
- 如何格式化字符串以修复Javascript中的缩进
- Vim-当代码的文字字符串中有括号时,如何实现正确的缩进
- Javascript 意外返回值,带有特定的缩进
- JQuery:如何在循环 dom 元素时正确缩进字符串
- JavaScript将缩进文本转换为HTML列表重复顶层<李>'s为<ul>'s
- 如何避免/最小化列表中列表的缩进
- vim JavaScript缩进插件-命令是什么
- 使用 PEG.js 解析缩进级别
- 崇高的文本新行失去缩进
- Redactor文本编辑器– 在代码视图中重新缩进缩小的HTML
- NVD3.js缩进树问题
- 缩进第二行的文本块
- 从 coffeescript 编译到 javascript 后保持缩进
- 使用 d3.xml 而不是 d3.json 绘制可折叠缩进树
- 超级鱼子项中的文本缩进继承
- 对文本区域段落的每一首行应用缩进
- 在 VIM 上的脚本标记中正确缩进 JavaScript
- 如何保存 MSXML2.带缩进的 DomDocument?(我认为它使用MXXMLWriter)
- HTML 表单,使 Tab 键触发器缩进
- codemirror:如何在按tab键时缩进整行