codemirror 光标定位_CodeMirror

下载后,解压开到的文件夹中,lib下是放的是核心库和核心css,模式下放的是各种支持语言的语法定义,主题目录下是支持的主题样式。一般在开发中,添加lib下的引用和模式下的引用就够了。

使用示例

首先,要引用是lib目录下的codemirror.js,还有一个就是同目录下的codemirror.css文件

接下来要引用的就是在mode目录下编辑器中要编辑的语言对应的js文件,下面以js文件为例:

引用的文件用于支持对应语言的语法高亮。

然后,调用脚本以创建编辑器:

var myCodeMirror = CodeMirror(document.body);

这里的调用会在body中添加编辑器,这里因为直接在上面引用了javascript.js,所以这个编辑器会对javascript的关键字高亮显示。

想要高级一点,给编辑器添加一些元素,也可以通过传入配置参数来实现。

var myCodeMirror = CodeMirror(document.body,{

lineNumbers:true

});

这样,就给编辑器添加了行号。

上面说的是实现编辑器的最简单的方式,然后在实际项目中,一般都不会直接把body作为编辑器的容器。而最常用的,是使用textarea。

要把 textarea 实现成一个支持高亮的编辑器,CodeMirror 提供了非常简单的方法:

var myTextarea = document.getElementById('editor');

var CodeMirrorEditor = CodeMirror.fromTextArea(myTextarea, {

mode:"text/javascript",

lineNumbers:true

});

python例子:

Document

click

index.js文件

window.onload =function() {

var el = document.getElementById("editor");

var version ="# version: Python3\n\n";

var codeAreaTip ="# please edit your code here:\n";`

var codeStart ="# code start\n\n";

var codeEnd = "# code end\n\n";

var codeTip =" '''\nThis function is the entry of this program and\nit must be return your answer of current question.\n'''\n"

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CodeMirror中,可以通过设置光标位置来插入信息。你可以使用`getCursor()`方法获取当前光标位置,然后将光标位置作为参数传递给`replaceRange()`方法,将拼接好的信息插入到代码编辑器的光标位置。具体的代码示例如下: ```javascript copyValue(param) { let post1 = this.$refs.myCode.codemirror.getCursor(); console.log('post1', post1); let pos2 = { line: post1.line, //行号 ch: post1.ch //光标位置 }; this.$refs.myCode.codemirror.replaceRange(param, pos2); //替换内容 } ``` 这段代码将会在代码编辑器光标所在位置插入`param`参数所代表的拼接好的信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [vue-codemirror定位光标位置并在光标处插入信息](https://blog.csdn.net/qq_45780380/article/details/121661880)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [CodeMirror](https://blog.csdn.net/weixin_34943809/article/details/114491450)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值