热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

codemirror命令详解及使用

2019独角兽企业重金招聘Python工程师标准创建codemirror对象:varmyCodeMirrorCodeMirror(document.body,{

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

创建codemirror对象:

var myCodeMirror = CodeMirror(document.body, {value: "function myScript(){return 100;}\n",mode: "Javascript"
});

命令使用方法示例:

//以下命令的作用是将滚动条置于文本区最下方
codemirror.execCommand("goDocEnd");

如果与angularjs的ui-codemirror模块集成,需要将光标或滚动条置于文本最下方时,则需要在ui-codemirror.js文件中增加命令:

function configNgModelLink(codemirror, ngModel, scope) {if (!ngModel) { return; }// CodeMirror expects a string, so make sure it gets one.// This does not change the model.ngModel.$formatters.push(function(value) {if (angular.isUndefined(value) || value === null) {return '';} else if (angular.isObject(value) || angular.isArray(value)) {throw new Error('ui-codemirror cannot use an object or an array as a model');}return value;});// Override the ngModelController $render method, which is what gets called when the model is updated.// This takes care of the synchronizing the codeMirror element with the underlying model, in the case that it is changed by something else.ngModel.$render = function() {//Code mirror expects a string so make sure it gets one//Although the formatter have already done this, it can be possible that another formatter returns undefined (for example the required directive)var safeViewValue = ngModel.$viewValue || '';codemirror.setValue(safeViewValue);codemirror.execCommand("goDocEnd"); //将光标和滚动条设置到文本区最下方};// Keep the ngModel in sync with changes from CodeMirrorcodemirror.on('change', function(instance) {var newValue = instance.getValue();if (newValue !== ngModel.$viewValue) {scope.$evalAsync(function() {ngModel.$setViewValue(newValue);codemirror.execCommand("goDocEnd");//将光标和滚动条设置到文本区最下方});}});}

其他命令如下,加粗字体命令的均可直接使用:

selectAllCtrl-A (PC), Cmd-A (Mac)

Select the whole content of the editor.

singleSelectionEsc

When multiple selections are present, this deselects all but the primary selection.

killLineCtrl-K (Mac)

Emacs-style line killing. Deletes the part of the line after the cursor. If that consists only of whitespace, the newline at the end of the line is also deleted.

deleteLineCtrl-D (PC), Cmd-D (Mac)

Deletes the whole line under the cursor, including newline at the end.

delLineLeft

Delete the part of the line before the cursor.

delWrappedLineLeftCmd-Backspace (Mac)

Delete the part of the line from the left side of the visual line the cursor is on to the cursor.

delWrappedLineRightCmd-Delete (Mac)

Delete the part of the line from the cursor to the right side of the visual line the cursor is on.

undoCtrl-Z (PC), Cmd-Z (Mac)

Undo the last change.

redoCtrl-Y (PC), Shift-Cmd-Z (Mac), Cmd-Y (Mac)

Redo the last undone change.

undoSelectionCtrl-U (PC), Cmd-U (Mac)

Undo the last change to the selection, or if there are no selection-only changes at the top of the history, undo the last change.

redoSelectionAlt-U (PC), Shift-Cmd-U (Mac)

Redo the last change to the selection, or the last text change if no selection changes remain.

goDocStartCtrl-Home (PC), Cmd-Up (Mac), Cmd-Home (Mac)

Move the cursor to the start of the document.

goDocEndCtrl-End (PC), Cmd-End (Mac), Cmd-Down (Mac)

Move the cursor to the end of the document.

goLineStartAlt-Left (PC), Ctrl-A (Mac)

Move the cursor to the start of the line.

goLineStartSmartHome

Move to the start of the text on the line, or if we are already there, to the actual start of the line (including whitespace).

goLineEndAlt-Right (PC), Ctrl-E (Mac)

Move the cursor to the end of the line.

goLineRightCmd-Right (Mac)

Move the cursor to the right side of the visual line it is on.

goLineLeftCmd-Left (Mac)

Move the cursor to the left side of the visual line it is on. If this line is wrapped, that may not be the start of the line.

goLineLeftSmart

Move the cursor to the left side of the visual line it is on. If that takes it to the start of the line, behave like goLineStartSmart.

goLineUpUp, Ctrl-P (Mac)

Move the cursor up one line.

goLineDownDown, Ctrl-N (Mac)

Move down one line.

goPageUpPageUp, Shift-Ctrl-V (Mac)

Move the cursor up one screen, and scroll up by the same distance.

goPageDownPageDown, Ctrl-V (Mac)

Move the cursor down one screen, and scroll down by the same distance.

goCharLeftLeft, Ctrl-B (Mac)

Move the cursor one character left, going to the previous line when hitting the start of line.

goCharRightRight, Ctrl-F (Mac)

Move the cursor one character right, going to the next line when hitting the end of line.

goColumnLeft

Move the cursor one character left, but don't cross line boundaries.

goColumnRight

Move the cursor one character right, don't cross line boundaries.

goWordLeftAlt-B (Mac)

Move the cursor to the start of the previous word.

goWordRightAlt-F (Mac)

Move the cursor to the end of the next word.

goGroupLeftCtrl-Left (PC), Alt-Left (Mac)

Move to the left of the group before the cursor. A group is a stretch of word characters, a stretch of punctuation characters, a newline, or a stretch of more than one whitespace character.

goGroupRightCtrl-Right (PC), Alt-Right (Mac)

Move to the right of the group after the cursor (see above).

delCharBeforeShift-Backspace, Ctrl-H (Mac)

Delete the character before the cursor.

delCharAfterDelete, Ctrl-D (Mac)

Delete the character after the cursor.

delWordBeforeAlt-Backspace (Mac)

Delete up to the start of the word before the cursor.

delWordAfterAlt-D (Mac)

Delete up to the end of the word after the cursor.

delGroupBeforeCtrl-Backspace (PC), Alt-Backspace (Mac)

Delete to the left of the group before the cursor.

delGroupAfterCtrl-Delete (PC), Ctrl-Alt-Backspace (Mac), Alt-Delete (Mac)

Delete to the start of the group after the cursor.

indentAutoShift-Tab

Auto-indent the current line or selection.

indentMoreCtrl-] (PC), Cmd-] (Mac)

Indent the current line or selection by one indent unit.

indentLessCtrl-[ (PC), Cmd-[ (Mac)

Dedent the current line or selection by one indent unit.

insertTab

Insert a tab character at the cursor.

insertSoftTab

Insert the amount of spaces that match the width a tab at the cursor position would have.

defaultTabTab

If something is selected, indent it by one indent unit. If nothing is selected, insert a tab character.

transposeCharsCtrl-T (Mac)

Swap the characters before and after the cursor.

newlineAndIndentEnter

Insert a newline and auto-indent the new line.

toggleOverwriteInsert

Flip the overwrite flag.

saveCtrl-S (PC), Cmd-S (Mac)

Not defined by the core library, only referred to in key maps. Intended to provide an easy way for user code to define a save command.

findCtrl-F (PC), Cmd-F (Mac)

findNextCtrl-G (PC), Cmd-G (Mac)

findPrevShift-Ctrl-G (PC), Shift-Cmd-G (Mac)

replaceShift-Ctrl-F (PC), Cmd-Alt-F (Mac)

replaceAllShift-Ctrl-R (PC), Shift-Cmd-Alt-F (Mac)


转:https://my.oschina.net/u/2391658/blog/789632



推荐阅读
  • 在 Vue 应用开发中,页面状态管理和跨页面数据传递是常见需求。本文将详细介绍 Vue Router 提供的两种有效方式,帮助开发者高效地实现页面间的数据交互与状态同步,同时分享一些最佳实践和注意事项。 ... [详细]
  • 在C#开发中,实现UserControls之间高效传递CheckBox值是一个常见的需求。本文详细介绍了如何通过事件和委托机制,将UserControl3中的CheckBox值传递到UserControl1中,确保数据传递的准确性和实时性。此外,还提供了代码示例和最佳实践,帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 本文深入探讨了JavaScript中`this`关键字的多种使用方法和技巧。首先,分析了`this`作为全局变量时的行为;接着,讨论了其在对象方法调用中的表现;然后,介绍了`this`在构造函数中的作用;最后,详细解释了通过`apply`等方法改变`this`指向的机制。文章旨在帮助开发者更好地理解和应用`this`关键字,提高代码的灵活性和可维护性。 ... [详细]
  • 在处理木偶评估函数时,我发现可以顺利传递本机对象(如字符串、列表和数字),但每当尝试将JSHandle或ElementHandle作为参数传递时,函数会拒绝接受这些对象。这可能是由于这些句柄对象的特殊性质导致的,建议在使用时进行适当的转换或封装,以确保函数能够正确处理。 ... [详细]
  • Squaretest:自动生成功能测试代码的高效插件
    本文将介绍一款名为Squaretest的高效插件,该工具能够自动生成功能测试代码。使用这款插件的主要原因是公司近期加强了代码质量的管控,对各项目进行了严格的单元测试评估。Squaretest不仅提高了测试代码的生成效率,还显著提升了代码的质量和可靠性。 ... [详细]
  • 本文深入探讨了Ajax的工作机制及其在现代Web开发中的应用。Ajax作为一种异步通信技术,改变了传统的客户端与服务器直接交互的模式。通过引入Ajax,客户端与服务器之间的通信变得更加高效和灵活。文章详细分析了Ajax的核心原理,包括XMLHttpRequest对象的使用、数据传输格式(如JSON和XML)以及事件处理机制。此外,还介绍了Ajax在提升用户体验、实现动态页面更新等方面的具体应用,并讨论了其在当前Web开发中的重要性和未来发展趋势。 ... [详细]
  • 微信小程序实现类似微博的无限回复功能,内置云开发数据库支持
    本文详细介绍了如何利用微信小程序实现类似于微博的无限回复功能,并充分利用了微信云开发的数据库支持。文中不仅提供了关键代码片段,还包含了完整的页面代码,方便开发者按需使用。此外,HTML页面中包含了一些示例图片,开发者可以根据个人喜好进行替换。文章还将展示详细的数据库结构设计,帮助读者更好地理解和实现这一功能。 ... [详细]
  • 本文探讨了如何利用 jQuery 的 JSONP 技术实现跨域调用外部 Web 服务。通过详细解析 JSONP 的工作原理及其在 jQuery 中的应用,本文提供了实用的代码示例和最佳实践,帮助开发者解决跨域请求中的常见问题。 ... [详细]
  • 本文总结了JavaScript的核心知识点和实用技巧,涵盖了变量声明、DOM操作、事件处理等重要方面。例如,通过`event.srcElement`获取触发事件的元素,并使用`alert`显示其HTML结构;利用`innerText`和`innerHTML`属性分别设置和获取文本内容及HTML内容。此外,还介绍了如何在表单中动态生成和操作``元素,以便更好地处理用户输入。这些技巧对于提升前端开发效率和代码质量具有重要意义。 ... [详细]
  • 本文详细探讨了使用纯JavaScript开发经典贪吃蛇游戏的技术细节和实现方法。通过具体的代码示例,深入解析了游戏逻辑、动画效果及用户交互的实现过程,为开发者提供了宝贵的参考和实践经验。 ... [详细]
  • 在 Linux 环境下,多线程编程是实现高效并发处理的重要技术。本文通过具体的实战案例,详细分析了多线程编程的关键技术和常见问题。文章首先介绍了多线程的基本概念和创建方法,然后通过实例代码展示了如何使用 pthreads 库进行线程同步和通信。此外,还探讨了多线程程序中的性能优化技巧和调试方法,为开发者提供了宝贵的实践经验。 ... [详细]
  • 资源管理器的基础架构包括三个核心组件:1)资源池,用于将CPU和内存等资源分配给不同的容器;2)负载组,负责承载任务并将其分配到相应的资源池;3)分类函数,用于将不同的会话映射到合适的负载组。该系统提供了两种主要的资源管理策略。 ... [详细]
  • 本文详细探讨了 jQuery 中 `ajaxSubmit` 方法的使用技巧及其应用场景。首先,介绍了如何正确引入必要的脚本文件,如 `jquery.form.js` 和 `jquery-1.8.0.min.js`。接着,通过具体示例展示了如何利用 `ajaxSubmit` 方法实现表单的异步提交,包括数据的发送、接收和处理。此外,还讨论了该方法在不同场景下的应用,如文件上传、表单验证和动态更新页面内容等,提供了丰富的代码示例和最佳实践建议。 ... [详细]
  • 在洛谷 P1344 的坏牛奶追踪问题中,第一问要求计算最小割,而第二问则需要找到割边数量最少的最小割。通过为每条边附加一个单位权值,可以在求解最小割时优先选择边数较少的方案,从而同时解决两个问题。这种策略不仅简化了问题的求解过程,还确保了结果的最优性。 ... [详细]
  • 求助:在CentOS 5.8系统上安装PECL扩展遇到问题
    在 CentOS 5.8 系统上尝试安装 APC 扩展时遇到了问题,具体表现为 PECL 工具无法正常工作。为了确保顺利安装,需要解决 PECL 的相关依赖和配置问题。建议检查 PHP 和 PECL 的版本兼容性,并确保所有必要的库和开发工具已正确安装。此外,可以尝试手动下载 APC 扩展的源代码并进行编译安装,以绕过 PECL 工具的限制。 ... [详细]
author-avatar
dasda
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有