博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决CodeMirror编辑器Tab转空格问题
阅读量:6249 次
发布时间:2019-06-22

本文共 622 字,大约阅读时间需要 2 分钟。

CodeMirror默认

最近用CodeMirror做了个编辑器,遇到一个问题: 就像这样:

默认的Tab是不会转为空格的,需要处理。

codemirror-no


不是想要的结果

网上和官网提供找的方法是:

editor.setOption("extraKeys", {    Tab: function(cm) {    var spaces = Array(cm.getOption("indentUnit") + 1).join(" ");    cm.replaceSelection(spaces);  }});

实践了一下,还是会有一个问题: 

选中多行代码缩进的时候,选中的代码也会被转为空格,就被删了!!而不是理想中的选中几行都缩进。


解决方案

经过了几天的积累,终于找到了解决方案:

editor.setOption("extraKeys", {      Tab: newTab});function newTab(cm) {      if (cm.somethingSelected()) {        cm.indentSelection('add');    } else {        cm.replaceSelection(cm.getOption) ? "\t" : Array(cm.getOption("indentUnit") + 1).join(" "), "end", "+input");    }}

DEMO:

效果:

转载地址:http://hgfsa.baihongyu.com/

你可能感兴趣的文章
元素的多种延时等待(&页面的超时处理)
查看>>
ios 后台发送邮件之SKPSMTPMessage的使用
查看>>
JavaScript学习
查看>>
3014C语言_运算符
查看>>
202702算法_二分法查找
查看>>
Win10 UWP开发实现Bing翻译
查看>>
各种不同类型的类
查看>>
mvc4 -@Html.Partial,@Html.RenderPartial
查看>>
windows2012 r2 提高网速方法
查看>>
调试R代码中出现的常用的函数
查看>>
JavaWeb 之 AJAX
查看>>
十、spark graphx的scala示例
查看>>
探秘SpringAop(一)_介绍以及使用详解
查看>>
查询指定时间内审核失败的事件日志
查看>>
problem-solving-with-algorithms-and-data-structure-usingpython(使用python解决算法和数据结构) -- 算法分析...
查看>>
springmvc流程
查看>>
BAT涉足汽车产业后对汽车后市场的影响是什么?
查看>>
LeetCode:Remove Nth Node From End of List
查看>>
删除链表的第 n 个结点
查看>>
drawable(1、canvas)
查看>>