原文地址: https://blog.csdn.net/qq_35372389/article/details/106540469

editor = CodeMirror.fromTextArea(document.getElementById("textarea"), {extraKeys: {                    //  配置按键"Ctrl": "autocomplete",  // 需要下面的synonyms配置},lineNumbers: true,              // 显示行号lineWrapping: true,             // 自动换行styleActiveLine: true,          // 选中行高亮mode: "text/javascript",theme: "idea",                  // 主题配置matchBrackets: true,            // 匹配括号hintOptions: {hint: synonyms},  // 自动提示配置gutters: ["CodeMirror-lint-markers"],lint: true,                     // 代码出错提醒indentUnit: 4,                  // 缩进配置(默认为2)});// 自动提示需要支持Pormise, 当当前数据的字符串满足comp中的某一个word时,会提示该word所在数组的词汇if (typeof Promise !== "undefined") {comp = [["here", "hither"],["asynchronous", "nonsynchronous"],["completion", "achievement", "conclusion", "culmination", "expirations"],["hinting", "advive", "broach", "imply"],["function","action"],["provide", "add", "bring", "give"],["synonyms", "equivalents"],["words", "token"],["each", "every"],];}// 提示功能的代码, 可以适当修改来满足自己的需求function synonyms(cm, option) {return new Promise(function(accept) {setTimeout(function() {var cursor = cm.getCursor(), line = cm.getLine(cursor.line)var start = cursor.ch, end = cursor.chwhile (start && /\w/.test(line.charAt(start - 1))) --startwhile (end < line.length && /\w/.test(line.charAt(end))) ++endvar word = line.slice(start, end)for (var i = 0; i < comp.length; i++) if (comp[i].indexOf(word) != -1)return accept({list: comp[i],from: CodeMirror.Pos(cursor.line, start),to: CodeMirror.Pos(cursor.line, end)})return accept(null)}, 10)})}// 额外配置快捷键editor.addKeyMap({'Ctrl-S': function () {saveFunction();},'Ctrl-s': function () {saveFunction();},'Ctrl-f': autoFormatSelection,});//  自动格式化编辑器function autoFormatSelection() {CodeMirror.commands["selectAll"](editor);var range = getSelectedRange();editor.autoFormatRange(range.from, range.to);editor.commentRange(false, range.from, range.to);}// 获取编辑器中选中范围的的行号function getSelectedRange() {return {from: editor.getCursor(true),to: editor.getCursor(false)}}editor.replaceSelection("内容");   // 替换选中的字符串、在光标处插入字符editor.setSize('100%', '100%');     //设置代码框的长宽CodeMirror.commands["selectAll"](editor);    // 执行内置的命令CodeMirror.commands["goDocEnd"](editor)  //移动到文件尾部editor.refresh();        // 插件不显示文本内容,直到点击才出现

[转] CodeMirror基本配置项相关推荐

  1. codemirror java代码_codemirror使用(示例代码)

    JS使用 使用bower下载 javascript bower i codemirror 引入样式文件 html 引入js文件 html 文档结构 html 初始化 javascript // mod ...

  2. 在线代码编辑器 CodeMirror 使用简介

    在线代码编辑器 CodeMirror 使用简介 CodeMirror是一款在线的支持语法高亮的代码编辑器 github源码 特点: 支持100多种语言 支持多语言混合 代码自动提示 代码折叠 键盘绑定 ...

  3. codemirror mysql_Angular6 CodeMirror在线编辑sql 智能提示

    1. 安装ng2-codemirror包.codemirror包 npm install ng2-codemirror -- save npm install codemirror -- save 2 ...

  4. 基于 Vue + Codemirror 实现 SQL 在线编辑器

    一.项目介绍 本项目是基于 Vue2 + Codemirror 开发的 Web 版 SQL 编辑器,提供了以下功能: 在线运行 SQL 语句 实时命令提示(支持表名.字段名.SQL关键词提示) 查看 ...

  5. legend位置 pyecharts_可视化入门 | pyecharts全局配置项详解

    更多文章,请见: http://mp.weixin.qq.com/mp/homepage?__biz=MzIxODczMDUwOA==&hid=2&sn=7928727456d4903 ...

  6. CodeMirror 5.26.0 发布,在线代码编辑器

    CodeMirror 5.26.0 已发布,CodeMirror 是一款"Online Source Editor",基于 Javascript,短小精悍,实时在线代码高亮显示,它 ...

  7. 2、redis.conf基本配置项说明

    Redis的配置项看起来比较复杂,分析之下,其实可以分为几大类(以redis v2.6.14版本的redis.conf为例):          1) 基本配置项          2) 持久化(Pe ...

  8. Nginx的常用配置项

    1.几个常见的配置项 $remote_addr与$http_x_forwarded_for 用以记录客户端的ip地址 $remote_user 用来记录客户端用户名称 $time_local 用来记录 ...

  9. ueditor上传图片回调_(常见解决方法)UEditor报错“后端配置项没有正常加载,上传插件不能正常使用”...

    (常见解决方法)UEditor报错"后端配置项没有正常加载,上传插件不能正常使用"_向来萧瑟也无畏-CSDN博客​blog.csdn.net 报错信息 详见此文的"排错过 ...

最新文章

  1. kafka教程视频百度网盘下载,聊一聊-MySQL-数据库中的那些锁
  2. 浅谈文献总结(2018.9.28)——坚恒勇毅论文课笔记
  3. mysql varchar char text
  4. Sql Server之旅——第十三站 深入的探讨锁机制
  5. 445. 两数相加 II golang
  6. nextJS和vueJS及Material-UI 简易搭建
  7. 如何设置 Windows 默认命令行窗口大小和缓冲区大小
  8. 一文教你如何深入机器学习,从编程基础到完整的项目实战
  9. 无约束最优化(一) 最速下降法、Newton法、修正Newton法
  10. 基于Docker的Mysql主从复制
  11. Egret入门学习日记 --- 第十三篇(书中 5.2~5.3节 内容)
  12. 教之初考试系统登录选择服务器,教之初考试系统使用图解
  13. 电商正当时 盘点八款开源网店系统
  14. Windows运行机理——主程序—WinMain
  15. Devcpp新建文件自动添加一定代码
  16. C语言这么厉害,它自身又是用什么语言写的?
  17. $(...)[0].attr is not a function
  18. 【优达学城测评】Using CSV Module(Python)
  19. 现代修谱,如何处理族员离婚再娶,配偶携子改嫁同服弟等情况
  20. vs code 中无缘无故红色波浪线线?还可以正常运行?我教你解决!

热门文章

  1. Matlab Deep Network Designer APP搭建神经网络及相关函数讲解
  2. java中10d是什么意思_java程序员面试自我介绍
  3. 面试题:堆、栈、队列的区别以及使用场景
  4. msql中常用的DDL语句
  5. 【AI简报20210604期】意法半导体收购Cartesiam、10个顶级开源AI项目分享
  6. xmlhttp的实际使用
  7. 【FPGA知识点】八段共阳极数码管编码表
  8. C语言的va_list使用方法
  9. InstallShield2021 发布!!
  10. 记一次mysql5.7的新特性derived_merge的坑