Loại bỏ con trăn feff

CodeMirror là một thành phần soạn thảo mã có thể được nhúng trong các trang Web. Thư viện cốt lõi chỉ cung cấp thành phần trình chỉnh sửa, không có nút đi kèm, tự động hoàn thành hoặc chức năng IDE khác. Nó cung cấp một API phong phú, trên đó chức năng như vậy có thể được triển khai một cách đơn giản. Xem các addon được bao gồm trong bản phân phối và các gói của bên thứ 3 trên npm, để triển khai các tính năng bổ sung có thể tái sử dụng

CodeMirror hoạt động với các chế độ dành riêng cho ngôn ngữ. Các chế độ là các chương trình JavaScript giúp tô màu [và tùy chọn thụt lề] văn bản được viết bằng một ngôn ngữ nhất định. Bản phân phối đi kèm với một số chế độ [xem thư mục

var myCodeMirror = CodeMirror[document.body];
136] và không khó để viết những chế độ mới cho các ngôn ngữ khác

Sử dụng cơ bản

Cách dễ nhất để sử dụng CodeMirror là chỉ cần tải tập lệnh và biểu định kiểu được tìm thấy trong

var myCodeMirror = CodeMirror[document.body];
137 trong bản phân phối, cộng với tập lệnh chế độ từ một trong các thư mục
var myCodeMirror = CodeMirror[document.body];
136. Ví dụ


[Ngoài ra, hãy sử dụng trình tải mô-đun. Thêm về điều đó sau. ]

Sau khi hoàn thành việc này, một phiên bản trình chỉnh sửa có thể được tạo như thế này

var myCodeMirror = CodeMirror[document.body];

Trình chỉnh sửa sẽ được thêm vào nội dung tài liệu, sẽ bắt đầu trống và sẽ sử dụng chế độ mà chúng tôi đã tải. Để có nhiều quyền kiểm soát hơn đối với trình soạn thảo mới, một đối tượng cấu hình có thể được chuyển đến

var myCodeMirror = CodeMirror[document.body];
1 làm đối số thứ hai

var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];

Điều này sẽ khởi tạo trình chỉnh sửa với một đoạn mã đã có trong đó và yêu cầu rõ ràng trình chỉnh sửa sử dụng chế độ JavaScript [rất hữu ích khi nhiều chế độ được tải]. Xem bên dưới để biết phần thảo luận đầy đủ về các tùy chọn cấu hình mà CodeMirror chấp nhận

Trong trường hợp bạn không muốn nối trình chỉnh sửa vào một phần tử và cần kiểm soát nhiều hơn đối với cách nó được chèn vào, đối số đầu tiên của hàm

var myCodeMirror = CodeMirror[document.body];
1 cũng có thể là một hàm mà khi được cung cấp một phần tử DOM, sẽ chèn nó vào . Ví dụ, điều này có thể được sử dụng để thay thế một vùng văn bản bằng một trình soạn thảo thực

var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];

Tuy nhiên, đối với trường hợp sử dụng này, đây là cách phổ biến để sử dụng CodeMirror, thư viện cung cấp một lối tắt mạnh mẽ hơn nhiều

var myCodeMirror = CodeMirror.fromTextArea[myTextArea];

Điều này sẽ, trong số những thứ khác, đảm bảo rằng giá trị của vùng văn bản được cập nhật với nội dung của trình soạn thảo khi biểu mẫu [nếu nó là một phần của biểu mẫu] được gửi. Xem tài liệu tham khảo API để biết mô tả đầy đủ về phương pháp này

bộ nạp mô-đun

Các tệp trong bản phân phối CodeMirror chứa các miếng chêm để tải chúng [và các phần phụ thuộc của chúng] trong môi trường AMD hoặc CommonJS. Nếu các biến

var myCodeMirror = CodeMirror[document.body];
3 và
var myCodeMirror = CodeMirror[document.body];
4 tồn tại và có kiểu đối tượng, yêu cầu kiểu CommonJS sẽ được sử dụng. Nếu không, nhưng có một hàm
var myCodeMirror = CodeMirror[document.body];
5 với thuộc tính
var myCodeMirror = CodeMirror[document.body];
6, kiểu AMD [RequireJS] sẽ được sử dụng

Có thể sử dụng Browserify hoặc các công cụ tương tự để tạo mô-đun tĩnh bằng CodeMirror. Ngoài ra, hãy sử dụng RequireJS để tải động các phụ thuộc khi chạy. Cả hai cách tiếp cận này đều có lợi thế là chúng không sử dụng không gian tên chung và do đó, có thể thực hiện những việc như tải nhiều phiên bản CodeMirror cùng với nhau

Đây là một ví dụ đơn giản về việc sử dụng RequireJS để tải CodeMirror

var myCodeMirror = CodeMirror[document.body];
1

Nó sẽ tự động tải các chế độ mà chế độ HTML hỗn hợp phụ thuộc vào [XML, JavaScript và CSS]. Không sử dụng tùy chọn

var myCodeMirror = CodeMirror[document.body];
7 của RequireJS để định cấu hình đường dẫn đến CodeMirror, vì tùy chọn này sẽ ngắt tải các mô-đun con thông qua các đường dẫn tương đối. Thay vào đó, hãy sử dụng tùy chọn cấu hình
var myCodeMirror = CodeMirror[document.body];
8, như trong

var myCodeMirror = CodeMirror[document.body];
4

Cấu hình

Cả hàm

var myCodeMirror = CodeMirror[document.body];
1 và phương thức
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
0 của nó đều lấy đối số thứ hai [tùy chọn] là một đối tượng chứa các tùy chọn cấu hình. Bất kỳ tùy chọn nào không được cung cấp như thế này sẽ được lấy từ
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
1, một đối tượng chứa các tùy chọn mặc định. Bạn có thể cập nhật đối tượng này để thay đổi các giá trị mặc định trên trang của mình

Các tùy chọn không được kiểm tra theo bất kỳ cách nào, do đó, việc đặt các giá trị tùy chọn không có thật chắc chắn sẽ dẫn đến các lỗi kỳ lạ

Đây là các tùy chọn được hỗ trợ

var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
2Giá trị bắt đầu của trình chỉnh sửa. Có thể là một chuỗi hoặc một đối tượng tài liệu.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
3Chế độ sử dụng. Khi không được cung cấp, điều này sẽ mặc định ở chế độ đầu tiên được tải. Nó có thể là một chuỗi, chỉ đơn giản là đặt tên cho chế độ hoặc là một loại MIME được liên kết với chế độ. Giá trị
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
4 cho biết không nên áp dụng đánh dấu. Ngoài ra, nó có thể là một đối tượng chứa các tùy chọn cấu hình cho chế độ, với thuộc tính
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
5 đặt tên cho chế độ [ví dụ:
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
6]. Các trang demo cho từng chế độ chứa thông tin về các tham số cấu hình mà chế độ hỗ trợ. Bạn có thể hỏi CodeMirror chế độ và loại MIME nào đã được xác định bằng cách kiểm tra các đối tượng
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
7 và
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
8. Cái đầu tiên ánh xạ tên chế độ tới hàm tạo của chúng và cái thứ hai ánh xạ các loại MIME thành thông số kỹ thuật của chế độ.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
9Thiết lập rõ ràng dấu phân cách dòng cho trình chỉnh sửa. Theo mặc định [giá trị
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
0], tài liệu sẽ được phân chia trên các CRLF cũng như các CR và LF đơn lẻ và một LF duy nhất sẽ được sử dụng làm dấu phân cách dòng trong tất cả đầu ra [chẳng hạn như
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
1]. Khi một chuỗi cụ thể được đưa ra, các dòng sẽ chỉ được phân tách trên chuỗi đó và theo mặc định, đầu ra sẽ sử dụng cùng một dấu phân cách đó.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
2Chủ đề để tạo kiểu cho trình chỉnh sửa với. Bạn phải đảm bảo rằng tệp CSS xác định các kiểu
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
3 tương ứng đã được tải [xem thư mục
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
4 trong bản phân phối]. Giá trị mặc định là
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
5, trong đó các màu được bao gồm trong
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
6. Có thể sử dụng nhiều lớp theo chủ đề cùng một lúc—ví dụ:
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
7 sẽ chỉ định cả lớp
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
8 và lớp
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
9 cho trình chỉnh sửa.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
0Có bao nhiêu khoảng trống trong một khối [bất kể điều đó có nghĩa là gì trong ngôn ngữ đã chỉnh sửa] nên được thụt vào. Mặc định là 2.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
1Có sử dụng thụt đầu dòng theo ngữ cảnh mà chế độ cung cấp hay không [hoặc chỉ thụt lề giống như dòng trước đó]. Mặc định là true.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
2Chiều rộng của một ký tự tab. Mặc định là 4.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
3Liệu khi thụt lề, N*
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
4 khoảng trắng đầu tiên có nên được thay thế bằng N tab hay không. Mặc định là sai.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
5 Định cấu hình liệu trình chỉnh sửa có nên thụt lề lại dòng hiện tại khi một ký tự được nhập có thể thay đổi cách thụt lề thích hợp của nó hay không [chỉ hoạt động nếu chế độ hỗ trợ thụt lề]. Mặc định là đúng.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
6Một biểu thức chính quy được sử dụng để xác định những ký tự nào sẽ được thay thế bằng một trình giữ chỗ đặc biệt. Hầu hết hữu ích cho các ký tự đặc biệt không in. Mặc định là
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
7.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
8Một hàm, được cung cấp một ký tự đặc biệt được xác định bởi tùy chọn
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
9, tạo ra một nút DOM được sử dụng để đại diện cho ký tự đó. Theo mặc định, một chấm đỏ [ ] được hiển thị cùng với chú giải công cụ tiêu đề để biểu thị mã ký tự.
var myCodeMirror = CodeMirror[document.body];
10Lật bố cục tổng thể và chọn hướng đoạn cơ sở từ trái sang phải hoặc từ phải sang trái. Mặc định là "ltr". CodeMirror áp dụng Thuật toán hai chiều Unicode cho từng dòng, nhưng không tự động phát hiện hướng cơ sở — thuật toán này được đặt thành hướng trình chỉnh sửa cho tất cả các dòng. Thứ tự kết quả đôi khi bị sai khi hướng cơ sở không khớp với ý định của người dùng [ví dụ: dấu chấm câu ở đầu và cuối nhảy sang phía sai của dòng]. Do đó, việc cho phép người dùng chuyển đổi tùy chọn này là hữu ích đối với đầu vào đa ngôn ngữ.
var myCodeMirror = CodeMirror[document.body];
11Xác định xem chuyển động của con trỏ ngang qua văn bản từ phải sang trái [tiếng Ả Rập, tiếng Do Thái] là trực quan [nhấn mũi tên trái sẽ di chuyển con trỏ sang trái] hay logic [nhấn mũi tên trái sẽ di chuyển đến chỉ mục thấp hơn tiếp theo trong chuỗi, trực quan là phải . Giá trị mặc định là
var myCodeMirror = CodeMirror[document.body];
12 trên Windows và
var myCodeMirror = CodeMirror[document.body];
13 trên các nền tảng khác.
var myCodeMirror = CodeMirror[document.body];
14Định cấu hình bản đồ chính để sử dụng. Giá trị mặc định là
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
5, là bản đồ khóa duy nhất được xác định trong chính
var myCodeMirror = CodeMirror[document.body];
16. Bản đồ khóa bổ sung được tìm thấy trong thư mục
var myCodeMirror = CodeMirror[document.body];
17. Xem phần trên bản đồ chính để biết thêm thông tin.
var myCodeMirror = CodeMirror[document.body];
18Có thể được sử dụng để chỉ định các ràng buộc phím bổ sung cho trình chỉnh sửa, bên cạnh các ràng buộc được xác định bởi
var myCodeMirror = CodeMirror[document.body];
19. Phải là null hoặc giá trị bản đồ khóa hợp lệ.
var myCodeMirror = CodeMirror[document.body];
40Cho phép bạn định cấu hình hành vi chọn và kéo chuột. Hàm được gọi khi nhấn chuột trái. Đối tượng được trả về có thể có các thuộc tính sau.
var myCodeMirror = CodeMirror[document.body];
41Đơn vị để chọn. Có thể là một trong các đơn vị tích hợp sẵn hoặc một hàm đảm nhận một vị trí và trả về một phạm vi xung quanh vị trí đó, đối với một đơn vị tùy chỉnh. Giá trị mặc định là trả về
var myCodeMirror = CodeMirror[document.body];
42 cho nhấp đúp chuột,
var myCodeMirror = CodeMirror[document.body];
43 cho nhấp chuột ba lần,
var myCodeMirror = CodeMirror[document.body];
44 cho nhấp chuột thay thế [hoặc, trên Chrome OS, nhấp chuột chuyển đổi meta] và
var myCodeMirror = CodeMirror[document.body];
45 nếu không thì.
var myCodeMirror = CodeMirror[document.body];
46Có nên mở rộng phạm vi lựa chọn hiện có hay bắt đầu một phạm vi lựa chọn mới. Theo mặc định, tính năng này được bật khi nhấn shift.
var myCodeMirror = CodeMirror[document.body];
47Khi được bật, điều này sẽ thêm một phạm vi mới vào lựa chọn hiện tại, thay vì thay thế nó. Hành vi mặc định là kích hoạt tính năng này để nhấp lệnh trên Mac OS và nhấp điều khiển trên các nền tảng khác.
var myCodeMirror = CodeMirror[document.body];
48Khi chuột thậm chí kéo nội dung xung quanh bên trong trình chỉnh sửa, thao tác này sẽ kiểm soát xem nội dung được sao chép [sai] hay di chuyển [đúng]. Theo mặc định, tính năng này được bật bằng cách nhấp vào alt trên Mac OS và nhấp vào ctrl ở nơi khác.
var myCodeMirror = CodeMirror[document.body];
49Liệu CodeMirror có nên cuộn hoặc ngắt dòng cho các dòng dài không. Mặc định là
var myCodeMirror = CodeMirror[document.body];
12 [cuộn].
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
71Có hiển thị số dòng ở bên trái của trình chỉnh sửa không.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
72Số nào để bắt đầu đếm dòng. Mặc định là 1.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
73Một hàm dùng để định dạng số dòng. Hàm được truyền số dòng và sẽ trả về một chuỗi sẽ được hiển thị trong máng xối.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
74Có thể được sử dụng để thêm máng xối phụ [ngoài hoặc thay cho máng xối số dòng]. Phải là một mảng tên lớp CSS hoặc cặp tên lớp/chuỗi CSS, mỗi cặp xác định một
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
75 [và nền tùy chọn] và sẽ được sử dụng để vẽ nền của máng xối. Có thể bao gồm lớp
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
76, để đặt rõ ràng vị trí của máng xối số dòng [nó sẽ mặc định ở bên phải của tất cả các máng xối khác]. Các tên lớp này là các khóa được chuyển đến
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
77.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
78Xác định xem rãnh cuộn cùng với nội dung theo chiều ngang [sai] hay liệu nó có cố định trong khi cuộn ngang hay không [đúng, mặc định].
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
79Chọn triển khai thanh cuộn. Giá trị mặc định là
var myCodeMirror = CodeMirror[document.body];
1360, hiển thị thanh cuộn gốc. Thư viện cốt lõi cũng cung cấp kiểu
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
4, kiểu này ẩn hoàn toàn các thanh cuộn. Addons có thể triển khai các mô hình thanh cuộn bổ sung.
var myCodeMirror = CodeMirror[document.body];
1362Khi
var myCodeMirror = CodeMirror[document.body];
1363 được bật và có một thanh cuộn ngang, theo mặc định, rãnh sẽ hiển thị ở bên trái của thanh cuộn này. Nếu tùy chọn này được đặt thành true, nó sẽ được bao phủ bởi một phần tử có lớp
var myCodeMirror = CodeMirror[document.body];
1364.
var myCodeMirror = CodeMirror[document.body];
1365Chọn cách CodeMirror xử lý đầu vào và tiêu điểm. Thư viện cốt lõi xác định các mô hình đầu vào
var myCodeMirror = CodeMirror[document.body];
1366 và
var myCodeMirror = CodeMirror[document.body];
1367. Trên trình duyệt di động, mặc định là
var myCodeMirror = CodeMirror[document.body];
1367. Trên trình duyệt máy tính để bàn, mặc định là
var myCodeMirror = CodeMirror[document.body];
1366. Hỗ trợ cho IME và trình đọc màn hình tốt hơn trong kiểu máy
var myCodeMirror = CodeMirror[document.body];
1367. Mục đích là biến nó thành mặc định trên các trình duyệt máy tính để bàn hiện đại trong tương lai.
var myCodeMirror = CodeMirror[document.body];
1371Điều này vô hiệu hóa việc chỉnh sửa nội dung của trình chỉnh sửa bởi người dùng. Nếu giá trị đặc biệt
var myCodeMirror = CodeMirror[document.body];
1372 được cung cấp [thay vì chỉ đơn giản là
var myCodeMirror = CodeMirror[document.body];
13], tiêu điểm của trình chỉnh sửa cũng không được phép.
var myCodeMirror = CodeMirror[document.body];
1374Nhãn này được trình đọc màn hình đọc khi vùng văn bản CodeMirror được đặt tiêu điểm. Điều này hữu ích cho khả năng tiếp cận.
var myCodeMirror = CodeMirror[document.body];
1375Có nên vẽ con trỏ khi vùng chọn đang hoạt động hay không. Mặc định là sai.
var myCodeMirror = CodeMirror[document.body];
1376Khi được bật, đây là mặc định, thực hiện sao chép hoặc cắt khi không có lựa chọn nào sẽ sao chép hoặc cắt toàn bộ dòng có con trỏ trên đó.
var myCodeMirror = CodeMirror[document.body];
1377Khi dán nội dung nào đó từ nguồn bên ngoài [không phải từ chính trình chỉnh sửa], nếu số dòng khớp với số lượng lựa chọn, CodeMirror theo mặc định sẽ chèn một dòng cho mỗi lựa chọn. Bạn có thể đặt giá trị này thành
var myCodeMirror = CodeMirror[document.body];
12 để tắt hành vi đó.
var myCodeMirror = CodeMirror[document.body];
1379Xác định xem nhiều lựa chọn có được nối ngay khi chúng chạm vào nhau [mặc định] hay chỉ khi chúng trùng nhau [đúng].
var myCodeMirror = CodeMirror[document.body];
00Số mức hoàn tác tối đa mà trình chỉnh sửa lưu trữ. Lưu ý rằng điều này bao gồm các sự kiện thay đổi lựa chọn. Mặc định là 200.
var myCodeMirror = CodeMirror[document.body];
01Khoảng thời gian không hoạt động [tính bằng mili giây] sẽ khiến một sự kiện lịch sử mới được bắt đầu khi nhập hoặc xóa. Mặc định là 1250.
var myCodeMirror = CodeMirror[document.body];
02Chỉ mục tab để gán cho trình chỉnh sửa. Nếu không được cung cấp, sẽ không có chỉ mục tab nào được chỉ định.
var myCodeMirror = CodeMirror[document.body];
03Có thể được sử dụng để khiến CodeMirror tự tập trung vào quá trình khởi tạo. Mặc định tắt. Khi sử dụng
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
0 và không có giá trị rõ ràng nào được cung cấp cho tùy chọn này, nó sẽ được đặt thành true khi vùng văn bản nguồn được đặt tiêu điểm hoặc nó có thuộc tính
var myCodeMirror = CodeMirror[document.body];
05 và không có phần tử nào khác được đặt tiêu điểm.
var myCodeMirror = CodeMirror[document.body];
06Một số addon chạy các chuỗi mà người dùng có thể nhìn thấy [chẳng hạn như nhãn trong giao diện] thông qua phương pháp
var myCodeMirror = CodeMirror[document.body];
07 để cho phép dịch. Tùy chọn này xác định giá trị trả về của phương thức đó. Khi nó là null hoặc một đối tượng không có thuộc tính được đặt tên theo chuỗi đầu vào, thì chuỗi đó được trả về. Nếu không, giá trị của thuộc tính tương ứng với chuỗi đó được trả về.

Dưới đây liệt kê một số tùy chọn cấp thấp, chuyên biệt hơn. Chúng chỉ hữu ích trong những tình huống rất cụ thể, bạn có thể muốn bỏ qua chúng khi đọc hướng dẫn này lần đầu tiên

var myCodeMirror = CodeMirror[document.body];
08Kiểm soát xem tính năng kéo và thả có được bật hay không. Bật theo mặc định.
var myCodeMirror = CodeMirror[document.body];
09Khi được đặt [mặc định là
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
0] chỉ các tệp có loại trong mảng mới có thể được đưa vào trình chỉnh sửa. Các chuỗi phải là loại MIME và sẽ được kiểm tra đối với
var myCodeMirror = CodeMirror[document.body];
11 của đối tượng
var myCodeMirror = CodeMirror[document.body];
12 như được báo cáo bởi trình duyệt.
var myCodeMirror = CodeMirror[document.body];
13Nửa chu kỳ tính bằng mili giây được sử dụng để nhấp nháy con trỏ. Tốc độ chớp mắt mặc định là 530ms. Bằng cách đặt giá trị này thành 0, nhấp nháy có thể bị tắt. Một giá trị âm ẩn hoàn toàn con trỏ.
var myCodeMirror = CodeMirror[document.body];
14Thêm bao nhiêu khoảng trống để luôn giữ bên trên và bên dưới con trỏ khi tiếp cận đầu hoặc cuối chế độ xem hiển thị trong tài liệu có thể cuộn. Mặc định là 0.
var myCodeMirror = CodeMirror[document.body];
15Xác định chiều cao của con trỏ. Mặc định là 1, nghĩa là nó kéo dài toàn bộ chiều cao của dòng. Đối với một số phông chữ [và theo một số sở thích], chiều cao nhỏ hơn [ví dụ:
var myCodeMirror = CodeMirror[document.body];
16], điều này khiến con trỏ không đi hết dòng đến cuối dòng, trông đẹp hơn
var myCodeMirror = CodeMirror[document.body];
17Nếu được đặt thành
var myCodeMirror = CodeMirror[document.body];
13 [mặc định], sẽ giữ nguyên chiều cao của con trỏ . Khi
var myCodeMirror = CodeMirror[document.body];
12, chiều cao của con trỏ dựa trên chiều cao của ký tự tham chiếu liền kề.
var myCodeMirror = CodeMirror[document.body];
20Kiểm soát xem khi menu ngữ cảnh được mở bằng một cú nhấp chuột bên ngoài lựa chọn hiện tại, con trỏ có được di chuyển đến điểm nhấp chuột hay không. Mặc định là
var myCodeMirror = CodeMirror[document.body];
13.
var myCodeMirror = CodeMirror[document.body];
22Làm nổi bật được thực hiện bởi một chuỗi nền giả sẽ hoạt động trong khoảng thời gian
var myCodeMirror = CodeMirror[document.body];
23 mili giây, sau đó sử dụng thời gian chờ để ngủ trong khoảng thời gian
var myCodeMirror = CodeMirror[document.body];
24 mili giây. Giá trị mặc định là 200 và 300, bạn có thể thay đổi các tùy chọn này để làm nổi bật nhiều hơn hoặc ít hơn.
var myCodeMirror = CodeMirror[document.body];
25Cho biết tốc độ CodeMirror sẽ thăm dò vùng văn bản đầu vào của nó để tìm các thay đổi [khi được tập trung]. Hầu hết đầu vào được ghi lại bởi các sự kiện, nhưng một số thứ, chẳng hạn như đầu vào IME trên một số trình duyệt, không tạo ra các sự kiện cho phép CodeMirror phát hiện đúng cách. Vì vậy, nó thăm dò ý kiến. Mặc định là 100 mili giây.
var myCodeMirror = CodeMirror[document.body];
26Theo mặc định, CodeMirror sẽ kết hợp các mã thông báo liền kề thành một khoảng duy nhất nếu chúng có cùng lớp. Điều này sẽ dẫn đến một cây DOM đơn giản hơn và do đó hoạt động tốt hơn. Với một số kiểu tạo kiểu [chẳng hạn như góc bo tròn], thao tác này sẽ thay đổi giao diện của tài liệu. Bạn có thể đặt tùy chọn này thành false để tắt hành vi này.
var myCodeMirror = CodeMirror[document.body];
27Khi được bật [tắt theo mặc định], một lớp CSS bổ sung sẽ được thêm vào mỗi mã thông báo, cho biết chế độ [bên trong] đã tạo ra nó, có tiền tố là
var myCodeMirror = CodeMirror[document.body];
28. Ví dụ: mã thông báo từ chế độ XML sẽ nhận lớp
var myCodeMirror = CodeMirror[document.body];
29.
var myCodeMirror = CodeMirror[document.body];
30Khi đánh dấu các dòng dài, để duy trì phản hồi nhanh, trình chỉnh sửa sẽ từ bỏ và chỉ định kiểu phần còn lại của dòng dưới dạng văn bản thuần túy khi nó đạt đến một vị trí nhất định. Mặc định là 10 000. Bạn có thể đặt giá trị này thành
var myCodeMirror = CodeMirror[document.body];
31 để tắt hành vi này.
var myCodeMirror = CodeMirror[document.body];
32Chỉ định số lượng dòng được hiển thị bên trên và bên dưới phần tài liệu hiện đang được cuộn để xem. Điều này ảnh hưởng đến số lượng cập nhật cần thiết khi cuộn và khối lượng công việc mà bản cập nhật đó thực hiện. Thông thường bạn nên để mặc định là 10. Có thể được đặt thành
var myCodeMirror = CodeMirror[document.body];
31 để đảm bảo toàn bộ tài liệu luôn được hiển thị và do đó tìm kiếm văn bản của trình duyệt hoạt động trên đó. Điều này sẽ có ảnh hưởng xấu đến hiệu suất của các tài liệu lớn.
var myCodeMirror = CodeMirror[document.body];
34Chỉ định có bật tính năng kiểm tra chính tả trên đầu vào hay không.
var myCodeMirror = CodeMirror[document.body];
35Chỉ định có bật tính năng tự động sửa lỗi trên đầu vào hay không.
var myCodeMirror = CodeMirror[document.body];
36Chỉ định có bật tính năng viết hoa tự động trên đầu vào hay không

Sự kiện

Nhiều đối tượng liên quan đến CodeMirror phát ra các sự kiện, cho phép mã máy khách phản ứng với các tình huống khác nhau. Trình xử lý cho các sự kiện như vậy có thể được đăng ký bằng các phương thức

var myCodeMirror = CodeMirror[document.body];
37 và
var myCodeMirror = CodeMirror[document.body];
38 trên các đối tượng mà sự kiện kích hoạt. Để kích hoạt các sự kiện của riêng bạn, hãy sử dụng
var myCodeMirror = CodeMirror[document.body];
39, trong đó
var myCodeMirror = CodeMirror[document.body];
40 là đối tượng không phải nút DOM

Phiên bản trình chỉnh sửa kích hoạt các sự kiện sau. Đối số

var myCodeMirror = CodeMirror[document.body];
41 luôn đề cập đến chính trình soạn thảo

var myCodeMirror = CodeMirror[document.body];
42Cháy mỗi khi nội dung của trình chỉnh sửa bị thay đổi.
var myCodeMirror = CodeMirror[document.body];
43 là đối tượng
var myCodeMirror = CodeMirror[document.body];
44 chứa thông tin về những thay đổi xảy ra dưới dạng đối số thứ hai.
var myCodeMirror = CodeMirror[document.body];
45 và
var myCodeMirror = CodeMirror[document.body];
46 là các vị trí [trong hệ tọa độ trước khi thay đổi] nơi thay đổi bắt đầu và kết thúc [ví dụ: có thể là
var myCodeMirror = CodeMirror[document.body];
47 nếu vị trí ở đầu dòng #19].
var myCodeMirror = CodeMirror[document.body];
48 là một mảng các chuỗi đại diện cho văn bản đã thay thế phạm vi đã thay đổi [được chia theo dòng].
var myCodeMirror = CodeMirror[document.body];
49 là văn bản từng nằm trong khoảng từ
var myCodeMirror = CodeMirror[document.body];
45 đến
var myCodeMirror = CodeMirror[document.body];
46, bị thay đổi này ghi đè. Sự kiện này được kích hoạt trước khi kết thúc một hoạt động, trước khi cập nhật DOM diễn ra.
var myCodeMirror = CodeMirror[document.body];
52Giống như sự kiện
var myCodeMirror = CodeMirror[document.body];
53, nhưng theo đợt cho mỗi thao tác, truyền một mảng chứa tất cả các thay đổi đã xảy ra trong thao tác. Sự kiện này được kích hoạt sau khi thao tác kết thúc và các thay đổi hiển thị mà nó tạo ra sẽ kích hoạt một thao tác mới.
var myCodeMirror = CodeMirror[document.body];
54Sự kiện này được kích hoạt trước khi thay đổi được áp dụng và trình xử lý của nó có thể chọn sửa đổi hoặc hủy bỏ thay đổi. Đối tượng
var myCodeMirror = CodeMirror[document.body];
43 có các thuộc tính
var myCodeMirror = CodeMirror[document.body];
45,
var myCodeMirror = CodeMirror[document.body];
46 và
var myCodeMirror = CodeMirror[document.body];
48, như với sự kiện
var myCodeMirror = CodeMirror[document.body];
53. Nó cũng có phương thức
var myCodeMirror = CodeMirror[document.body];
60, có thể được gọi để hủy thay đổi và nếu thay đổi không đến từ sự kiện hoàn tác hoặc làm lại, thì phương thức
var myCodeMirror = CodeMirror[document.body];
61, có thể được sử dụng để sửa đổi thay đổi. Không thể sửa đổi các thay đổi hoàn tác hoặc làm lại vì chúng chứa một số siêu thông tin để khôi phục các phạm vi được đánh dấu cũ chỉ hợp lệ cho thay đổi cụ thể đó. Tất cả ba đối số của
var myCodeMirror = CodeMirror[document.body];
62 là tùy chọn và có thể bỏ qua để giữ nguyên giá trị hiện có cho trường đó. Ghi chú. bạn không được làm bất cứ điều gì từ trình xử lý
var myCodeMirror = CodeMirror[document.body];
63 có thể gây ra thay đổi đối với tài liệu hoặc hình ảnh của nó. Làm như vậy, vì trình xử lý này được gọi trực tiếp từ phần trung tâm của quá trình triển khai CodeMirror, có thể khiến trình chỉnh sửa bị hỏng.
var myCodeMirror = CodeMirror[document.body];
64Sẽ được kích hoạt khi con trỏ hoặc lựa chọn di chuyển hoặc bất kỳ thay đổi nào được thực hiện đối với nội dung trình chỉnh sửa.
var myCodeMirror = CodeMirror[document.body];
65Được kích hoạt sau khi khóa được xử lý thông qua bản đồ khóa.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
5 là tên của khóa được xử lý [ví dụ:
var myCodeMirror = CodeMirror[document.body];
67 hoặc
var myCodeMirror = CodeMirror[document.body];
68] và
var myCodeMirror = CodeMirror[document.body];
69 là sự kiện DOM
var myCodeMirror = CodeMirror[document.body];
70 hoặc
var myCodeMirror = CodeMirror[document.body];
71.
var myCodeMirror = CodeMirror[document.body];
72Được kích hoạt bất cứ khi nào đầu vào mới được đọc từ vùng văn bản ẩn [do người dùng nhập hoặc dán].
var myCodeMirror = CodeMirror[document.body];
73Được kích hoạt nếu đầu vào văn bản khớp với các mẫu điện của chế độ và điều này khiến vết lõm của dòng thay đổi.
var myCodeMirror = CodeMirror[document.body];
74Sự kiện này được kích hoạt trước khi lựa chọn được di chuyển. Trình xử lý của nó có thể kiểm tra tập hợp các phạm vi lựa chọn, hiển thị dưới dạng một mảng gồm các đối tượng
var myCodeMirror = CodeMirror[document.body];
75 trong thuộc tính
var myCodeMirror = CodeMirror[document.body];
76 của đối số
var myCodeMirror = CodeMirror[document.body];
77 và tùy ý thay đổi chúng bằng cách gọi phương thức
var myCodeMirror = CodeMirror[document.body];
62 trên đối tượng này, chuyển một mảng các phạm vi có cùng định dạng. Đối tượng cũng chứa thuộc tính
var myCodeMirror = CodeMirror[document.body];
79 giữ chuỗi gốc được truyền cho phương thức thay đổi lựa chọn, nếu có. Trình xử lý cho sự kiện này có cùng hạn chế như trình xử lý
var myCodeMirror = CodeMirror[document.body];
63 — chúng không được làm bất cứ điều gì để cập nhật trực tiếp trạng thái của trình chỉnh sửa.
var myCodeMirror = CodeMirror[document.body];
81Cháy bất cứ khi nào cổng xem của trình chỉnh sửa thay đổi [do cuộn, chỉnh sửa hoặc bất kỳ yếu tố nào khác]. Các đối số
var myCodeMirror = CodeMirror[document.body];
45 và
var myCodeMirror = CodeMirror[document.body];
46 cung cấp điểm bắt đầu và kết thúc mới của chế độ xem.
var myCodeMirror = CodeMirror[document.body];
84Điều này được báo hiệu khi tài liệu của người biên tập được thay thế bằng phương pháp
var myCodeMirror = CodeMirror[document.body];
85.
var myCodeMirror = CodeMirror[document.body];
86Cháy khi trình soạn thảo [khu vực số dòng] được nhấp vào. Sẽ chuyển phiên bản trình soạn thảo làm đối số đầu tiên, số [dựa trên số 0] của dòng được nhấp làm đối số thứ hai, lớp CSS của máng xối được nhấp làm đối số thứ ba và đối tượng sự kiện
var myCodeMirror = CodeMirror[document.body];
87 thô làm đối số thứ tư.
var myCodeMirror = CodeMirror[document.body];
88Cháy khi máng xối trình chỉnh sửa [khu vực số dòng] nhận được sự kiện
var myCodeMirror = CodeMirror[document.body];
89. Sẽ chuyển phiên bản trình soạn thảo làm đối số đầu tiên, số [dựa trên số 0] của dòng được nhấp làm đối số thứ hai, lớp CSS của máng xối được nhấp làm đối số thứ ba và đối tượng sự kiện chuột
var myCodeMirror = CodeMirror[document.body];
89 thô làm đối số thứ tư. Bạn có thể
var myCodeMirror = CodeMirror[document.body];
91 sự kiện, để báo hiệu rằng CodeMirror không nên xử lý thêm.
var myCodeMirror = CodeMirror[document.body];
92Cháy bất cứ khi nào trình chỉnh sửa tập trung.
var myCodeMirror = CodeMirror[document.body];
93Cháy bất cứ khi nào người chỉnh sửa không tập trung.
var myCodeMirror = CodeMirror[document.body];
94Cháy khi trình chỉnh sửa được cuộn.
var myCodeMirror = CodeMirror[document.body];
95Cháy khi trình chỉnh sửa được làm mới hoặc thay đổi kích thước. Chủ yếu hữu ích để làm mất hiệu lực các giá trị được lưu trong bộ nhớ cache phụ thuộc vào trình chỉnh sửa hoặc kích thước ký tự.
var myCodeMirror = CodeMirror[document.body];
96Được gửi đi mỗi khi một tùy chọn được thay đổi với
var myCodeMirror = CodeMirror[document.body];
97.
var myCodeMirror = CodeMirror[document.body];
98Cháy khi trình chỉnh sửa cố cuộn con trỏ của nó vào chế độ xem. Có thể được kết nối để xử lý các vùng chứa có thể cuộn bổ sung xung quanh trình chỉnh sửa. Khi đối tượng sự kiện có phương thức
var myCodeMirror = CodeMirror[document.body];
91 được gọi, CodeMirror sẽ không cố cuộn cửa sổ.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
00Sẽ được kích hoạt bất cứ khi nào CodeMirror cập nhật màn hình DOM của nó.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
01Được kích hoạt bất cứ khi nào một dòng được [tái] hiển thị cho DOM. Được kích hoạt ngay sau khi phần tử DOM được tạo, trước khi nó được thêm vào tài liệu. Trình xử lý có thể gây rối với kiểu của phần tử kết quả hoặc thêm trình xử lý sự kiện, nhưng không nên cố thay đổi trạng thái của trình chỉnh sửa.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
02Được kích hoạt khi CodeMirror đang xử lý sự kiện DOM thuộc loại này. Bạn có thể
var myCodeMirror = CodeMirror[document.body];
91 sự kiện hoặc cung cấp cho nó một thuộc tính
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
04 trung thực, để báo hiệu rằng CodeMirror không nên xử lý thêm

Các đối tượng tài liệu [ví dụ về

var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
05] phát ra các sự kiện sau

var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
06Được kích hoạt bất cứ khi nào có thay đổi đối với tài liệu.
var myCodeMirror = CodeMirror[document.body];
43 có kiểu tương tự như đối tượng được chuyển đến sự kiện
var myCodeMirror = CodeMirror[document.body];
53 của trình soạn thảo.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
09Xem mô tả về cùng một sự kiện trên các phiên bản trình chỉnh sửa.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
10Được kích hoạt bất cứ khi nào con trỏ hoặc lựa chọn trong tài liệu này thay đổi.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
11Tương đương với sự kiện cùng tên được kích hoạt trên các phiên bản trình chỉnh sửa

Điều khiển dòng [ví dụ như được trả về bởi

var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
12] hỗ trợ các sự kiện này

var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
13Sẽ được kích hoạt khi đối tượng đường bị xóa. Một đối tượng dòng được liên kết với phần đầu của dòng. Chủ yếu hữu ích khi bạn cần tìm hiểu khi nào các điểm đánh dấu máng xối của bạn trên một dòng nhất định bị xóa.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
14Cháy khi nội dung văn bản của dòng bị thay đổi theo bất kỳ cách nào [nhưng dòng không bị xóa hoàn toàn]. Đối tượng
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
15 tương tự như đối tượng được truyền vào sự kiện thay đổi trên đối tượng trình chỉnh sửa

Bộ điều khiển phạm vi được đánh dấu [

var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
16], như được trả về bởi
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
17 và
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
18, phát ra các sự kiện sau

var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
19Được kích hoạt khi con trỏ đi vào phạm vi được đánh dấu. Từ trình xử lý sự kiện này, trạng thái trình chỉnh sửa có thể được kiểm tra nhưng không được sửa đổi, ngoại trừ phạm vi mà sự kiện kích hoạt có thể bị xóa.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
20Được kích hoạt khi phạm vi bị xóa, thông qua di chuyển con trỏ kết hợp với
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
21 hoặc thông qua lệnh gọi phương thức
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
22 của nó. Sẽ chỉ được bắn một lần trên mỗi tay cầm. Lưu ý rằng việc xóa phạm vi thông qua chỉnh sửa văn bản không kích hoạt sự kiện này vì hành động hoàn tác có thể khiến phạm vi tồn tại trở lại.
var myCodeMirror = CodeMirror[document.body];
45 và
var myCodeMirror = CodeMirror[document.body];
46 cung cấp một phần của tài liệu mà phạm vi được kéo dài khi nó bị xóa.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
25Được kích hoạt khi phần cuối cùng của điểm đánh dấu bị xóa khỏi tài liệu bằng thao tác chỉnh sửa.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
26Được kích hoạt khi, sau khi xóa điểm đánh dấu bằng cách chỉnh sửa, thao tác hoàn tác đã đưa điểm đánh dấu trở lại

Tiện ích dòng [

var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
27], được trả về bởi
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
28, kích hoạt các sự kiện này

var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
29Được kích hoạt bất cứ khi nào trình chỉnh sửa thêm lại tiện ích vào DOM. Điều này sẽ xảy ra một lần ngay sau khi tiện ích được thêm vào [nếu tiện ích được cuộn vào chế độ xem], và sau đó xảy ra một lần nữa bất cứ khi nào tiện ích được cuộn ra khỏi chế độ xem và quay lại hoặc khi các thay đổi đối với tùy chọn trình chỉnh sửa hoặc dòng mà tiện ích đang bật yêu cầu

Bản đồ chính

Bản đồ phím là cách để liên kết các phím và nút chuột với chức năng. Sơ đồ khóa là một chuỗi ánh xạ đối tượng xác định các nút cho các chức năng thực hiện chức năng của chúng

Các bản phân phối CodeMirror đi kèm với sơ đồ bàn phím kiểu Emacs, Vim và Sublime Text

Các phím được xác định theo tên hoặc theo ký tự. Đối tượng

var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
30 xác định tên cho các khóa chung và liên kết chúng với mã khóa của chúng. Ví dụ về các tên được xác định ở đây là
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
31,
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
32 và
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
33. Chúng có thể được đặt trước bằng
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
34,
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
35,
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
36 và
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
37 để chỉ định một công cụ sửa đổi. Vì vậy, ví dụ,
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
38 sẽ là mã định danh khóa hợp lệ

Ví dụ phổ biến. ánh xạ phím Tab để chèn khoảng trắng thay vì ký tự tab

var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
7

Ngoài ra, một ký tự có thể được chỉ định trực tiếp bằng cách bao quanh ký tự đó trong dấu nháy đơn, ví dụ:

var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
39 hoặc
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
40. Do những hạn chế trong cách trình duyệt kích hoạt các sự kiện quan trọng, những sự kiện này có thể không có tiền tố là các công cụ sửa đổi

Để liên kết các nút chuột, hãy sử dụng tên `Nhấp chuột trái`, `Nhấp chuột giữa` và `Nhấp chuột phải`. Chúng cũng có thể được thêm tiền tố bằng các công cụ sửa đổi và ngoài ra, từ `Double` hoặc `Triple` có thể được đặt trước `Click` [như trong `LeftDoubleClick`] để liên kết thao tác nhấp đúp hoặc nhấp ba lần. Hàm cho một liên kết như vậy được chuyển vào vị trí được nhấp làm đối số thứ hai

Có thể chỉ định các liên kết phím nhiều nét bằng cách tách các tên phím bằng dấu cách trong tên thuộc tính, ví dụ:

var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
41. Khi một bản đồ chứa các liên kết hoặc khóa nhiều dấu có các công cụ sửa đổi không được chỉ định theo thứ tự mặc định [
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
42], bạn phải gọi
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
43 trên bản đồ đó trước khi có thể sử dụng bản đồ đó. Hàm này lấy một sơ đồ bàn phím và sửa đổi nó để chuẩn hóa thứ tự của bộ sửa đổi và nhận dạng chính xác các liên kết nhiều nét. Nó sẽ tự trả về sơ đồ bàn phím

Đối tượng

var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
44 liên kết các bản đồ chính với tên. Mã người dùng và định nghĩa sơ đồ khóa có thể gán các thuộc tính bổ sung cho đối tượng này. Ở bất kỳ nơi nào cần có bản đồ khóa, một chuỗi có thể được cung cấp, chuỗi này sẽ được tra cứu trong đối tượng này. Nó cũng chứa bản đồ khóa
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
5 giữ các ràng buộc mặc định

Các giá trị của thuộc tính trong sơ đồ khóa có thể là hàm của một đối số [ví dụ CodeMirror], chuỗi hoặc

var myCodeMirror = CodeMirror[document.body];
12. Các chuỗi đề cập đến các lệnh, được mô tả bên dưới. Nếu thuộc tính được đặt thành
var myCodeMirror = CodeMirror[document.body];
12, CodeMirror để lại việc xử lý khóa cho trình duyệt. Hàm xử lý khóa có thể trả về
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
48 để cho biết rằng nó đã quyết định không xử lý khóa và các trình xử lý khác [hoặc hành vi mặc định] sẽ được thay phiên nhau

Các phím được ánh xạ tới các tên lệnh bắt đầu bằng các ký tự

var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
49 hoặc tới các hàm có thuộc tính
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
50 trung thực [được sử dụng cho các hành động di chuyển con trỏ] sẽ được kích hoạt ngay cả khi có thêm công cụ sửa đổi
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
51 [i. e.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
52 phù hợp cả tăng và tăng]. Điều này được sử dụng để dễ dàng thực hiện lựa chọn thay đổi

Các bản đồ chính có thể trì hoãn lẫn nhau bằng cách xác định thuộc tính

var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
53. Điều này chỉ ra rằng khi không tìm thấy khóa trong bản đồ, một hoặc nhiều bản đồ khác sẽ được tìm kiếm. Nó có thể chứa một key map hoặc một mảng các key map

Khi một sơ đồ phím cần thiết lập thứ gì đó khi nó hoạt động hoặc phá bỏ thứ gì đó khi bị hủy kích hoạt, nó có thể chứa các thuộc tính

var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
54 và/hoặc
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
55, những thuộc tính này sẽ chứa các hàm lấy phiên bản trình chỉnh sửa và sơ đồ bàn phím tiếp theo hoặc trước đó. Lưu ý rằng điều này chỉ hoạt động đối với sơ đồ bàn phím cấp cao nhất, không áp dụng cho bản đồ dự phòng hoặc bản đồ được thêm bằng
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
56 hoặc
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
57

lệnh

Các lệnh là các hành động không có tham số có thể được thực hiện trên trình chỉnh sửa. Công dụng chính của chúng là cho các ràng buộc chính. Các lệnh được xác định bằng cách thêm các thuộc tính vào đối tượng

var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
58. Một số lệnh phổ biến được xác định bởi chính thư viện, hầu hết chúng được sử dụng bởi các ràng buộc khóa mặc định. Giá trị của thuộc tính lệnh phải là hàm của một đối số [phiên bản trình soạn thảo]

Một số lệnh bên dưới được tham chiếu trong bản đồ khóa mặc định, nhưng không được xác định bởi thư viện lõi. Chúng được dự định để được xác định bởi mã người dùng hoặc addons

Các lệnh cũng có thể được chạy bằng phương thức

var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
59

var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
60 Ctrl-A [PC], Cmd-A [Mac] Chọn toàn bộ nội dung của trình chỉnh sửa.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
61 Esc Khi có nhiều lựa chọn, thao tác này sẽ bỏ chọn tất cả trừ lựa chọn chính.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
62 Ctrl-K [Mac] Diệt dòng kiểu Emacs. Xóa một phần của dòng sau con trỏ. Nếu chỉ bao gồm khoảng trắng, dòng mới ở cuối dòng cũng bị xóa.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
63 Ctrl-D [PC], Cmd-D [Mac] Xóa toàn bộ dòng dưới con trỏ, bao gồm cả dòng mới ở cuối.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
64Xóa phần của dòng trước con trỏ.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
65 Cmd-Backspace [Mac] Xóa phần của dòng từ phía bên trái của dòng trực quan mà con trỏ đang ở trên con trỏ.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
66 Cmd-Delete [Mac] Xóa một phần của dòng từ con trỏ sang phía bên phải của dòng trực quan mà con trỏ đang bật.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
67 Ctrl-Z [PC], Cmd-Z [Mac] Hoàn tác thay đổi cuối cùng. Lưu ý rằng, vì các trình duyệt vẫn không cho phép tập lệnh phản ứng hoặc tùy chỉnh menu ngữ cảnh nên việc chọn hoàn tác [hoặc làm lại] từ menu ngữ cảnh trong phiên bản CodeMirror không hoạt động.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
68 Ctrl-Y [PC], Shift-Cmd-Z [Mac], Cmd-Y [Mac] Làm lại thay đổi vừa hoàn tác.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
69 Ctrl-U [PC], Cmd-U [Mac] Hoàn tác thay đổi cuối cùng đối với lựa chọn hoặc nếu không có thay đổi chỉ dành cho lựa chọn tại .
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
70 Alt-U [PC], Shift-Cmd-U [Mac] Làm lại thay đổi cuối cùng đối với lựa chọn hoặc thay đổi văn bản cuối cùng nếu không có lựa chọn nào .
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
71 Ctrl-Home [PC], Cmd-Up [Mac], Cmd-Home [Mac] Di chuyển con trỏ đến đầu tài liệu.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
72 Ctrl-End [PC], Cmd-End [Mac], Cmd-Down [Mac] Di chuyển con trỏ đến cuối tài liệu.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
73 Alt-Left [PC], Ctrl-A [Mac] Di chuyển con trỏ đến đầu dòng.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
74 Trang chủ Di chuyển đến đầu văn bản trên dòng hoặc nếu chúng ta đã ở đó, đến đầu dòng thực sự [bao gồm cả khoảng trắng].
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
75 Alt-Right [PC], Ctrl-E [Mac] Di chuyển con trỏ đến cuối dòng.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
76 Cmd-Right [Mac] Di chuyển con trỏ sang phía bên phải của đường trực quan mà nó đang bật.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
77 Cmd-Left [Mac] Di chuyển con trỏ sang phía bên trái của dòng trực quan mà nó đang bật. Nếu dòng này được bao bọc, đó có thể không phải là điểm bắt đầu của dòng.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
78Di chuyển con trỏ sang bên trái của đường trực quan mà nó đang bật. Nếu điều đó đưa nó đến đầu dòng, hãy cư xử như
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
79.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
80 Lên, Ctrl-P [Mac] Di chuyển con trỏ lên một dòng.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
81 Xuống, Ctrl-N [Mac] Di chuyển xuống một dòng.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
82 PageUp, Shift-Ctrl-V [Mac] Di chuyển con trỏ lên một màn hình và cuộn lên theo khoảng cách tương tự.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
83 PageDown, Ctrl-V [Mac] Di chuyển con trỏ xuống một màn hình và cuộn xuống cùng khoảng cách.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
84 Trái, Ctrl-B [Mac] Di chuyển con trỏ sang trái một ký tự, chuyển về dòng trước khi nhấn vào đầu dòng.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
85 Phải, Ctrl-F [Mac] Di chuyển con trỏ sang phải một ký tự, chuyển sang dòng tiếp theo khi nhấn vào cuối dòng.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
86Di chuyển con trỏ sang trái một ký tự nhưng không vượt qua ranh giới của dòng.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
87Di chuyển con trỏ sang phải một ký tự, không vượt qua ranh giới dòng.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
88 Alt-B [Mac] Di chuyển con trỏ đến đầu từ trước đó.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
89 Alt-F [Mac] Di chuyển con trỏ đến cuối từ tiếp theo.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
90 Ctrl-Left [PC], Alt-Left [Mac] Di chuyển sang bên trái của nhóm trước con trỏ. Nhóm là một dải các ký tự từ, một dải các ký tự dấu chấm câu, một dòng mới hoặc một dải có nhiều hơn một ký tự khoảng trắng.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
91 Ctrl-Phải [PC], Alt-Phải [Mac] Di chuyển sang bên phải của nhóm sau con trỏ [xem bên trên].
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
92 Shift-Backspace, Ctrl-H [Mac] Xóa ký tự trước con trỏ.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
93 Xóa, Ctrl-D [Mac] Xóa ký tự sau con trỏ.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
94 Alt-Backspace [Mac] Xóa đến đầu từ trước con trỏ.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
95 Alt-D [Mac] Xóa đến cuối từ sau con trỏ.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
96 Ctrl-Backspace [PC], Alt-Backspace [Mac] Xóa ở bên trái nhóm trước con trỏ.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
97 Ctrl-Delete [PC], Ctrl-Alt-Backspace [Mac], Alt-Delete [Mac] Xóa đến đầu nhóm sau .
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
98 Shift-Tab Tự động thụt lề dòng hiện tại hoặc lựa chọn.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
99 Ctrl-] [PC], Cmd-] [Mac] Thụt lề dòng hiện tại hoặc vùng chọn theo một đơn vị thụt lề.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
00 Ctrl-[ [PC], Cmd-[ [Mac] Xoá dòng hiện tại hoặc vùng chọn theo một đơn vị thụt lề.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
01Chèn ký tự tab vào con trỏ.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
02Chèn lượng khoảng trắng khớp với chiều rộng mà tab ở vị trí con trỏ sẽ có.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
03 Tab Nếu thứ gì đó được chọn, hãy thụt lề nó bằng một đơn vị thụt lề. Nếu không có gì được chọn, hãy chèn một ký tự tab.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
04 Ctrl-T [Mac] Hoán đổi các ký tự trước và sau con trỏ.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
05 Enter Chèn một dòng mới và tự động thụt lề dòng mới.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
06 Chèn Lật cờ ghi đè.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
07 Ctrl-S [PC], Cmd-S [Mac] Không được xác định bởi thư viện lõi, chỉ được đề cập trong bản đồ chính. Dự định cung cấp một cách dễ dàng để mã người dùng xác định lệnh lưu.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
08 Ctrl-F [PC], Cmd-F [Mac]
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
09 Ctrl-G [PC], Cmd .
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
10Shift-Ctrl-G [PC], Shift-Cmd-G [Mac]
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
11Shift-Ctrl-F [PC], Cmd-Alt-F [Mac]
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
12Shift-Ctrl-R [PC], Shift-Cmd-Alt-F [Mac]Not defined by the core library, but defined in the search addon [or custom client addons].

Kiểu dáng tùy chỉnh

Up to a certain extent, CodeMirror's look can be changed by modifying style sheet files. Các biểu định kiểu được cung cấp bởi các chế độ chỉ cung cấp màu sắc cho chế độ đó và có thể được điều chỉnh theo cách rất đơn giản. Để tạo kiểu cho chính trình chỉnh sửa, có thể thay đổi hoặc ghi đè các kiểu được xác định trong

var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
6

Cần phải cẩn thận ở đó, vì rất nhiều quy tắc trong tệp này là cần thiết để CodeMirror hoạt động bình thường. Tất nhiên, việc điều chỉnh màu sắc phải an toàn và nếu cẩn thận, nhiều thứ khác cũng có thể được thay đổi. Các lớp CSS được xác định trong tệp này phục vụ các vai trò sau

var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
14Phần tử bên ngoài của trình soạn thảo. Điều này nên được sử dụng cho chiều rộng, chiều cao, đường viền và định vị của trình chỉnh sửa. Can also be used to set styles that should hold for everything inside the editor [such as font and font size], or to set a background. Setting this class'
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
15 style to
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
16 will make the editor resize to fit its content [it is recommended to also set the
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
17 option to
var myCodeMirror = CodeMirror[document.body];
31 when doing this.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
19Whenever the editor is focused, the top element gets this class. This is used to hide the cursor and give the selection a different color when the editor is not focused.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
20This is the backdrop for all gutters. Use it to set the default gutter background color, and optionally add a border on the right of the gutters.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
21Use this for giving a background or width to the line number gutter.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
22Used to style the actual individual line numbers. These won't be children of the
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
76 [plural] element, but rather will be absolutely positioned to overlay it. Use this to set alignment and text properties for the line numbers.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
24The visible lines. This is where you specify vertical padding for the editor content.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
25The cursor is a block element that is absolutely positioned. You can make it look whichever way you want.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
26The selection is represented by
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
27 elements with this class.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
28,
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
29These are used to style matched [or unmatched] brackets

If your page's style sheets do funky things to all

var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
30 or
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
31 elements [you probably shouldn't do that], you'll have to define rules to cancel these effects out again for elements under the
var myCodeMirror = CodeMirror[document.body];
1 class

Themes are also simply CSS files, which define colors for various syntactic elements. See the files in the

var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
4 directory

Programming API

A lot of CodeMirror features are only available through its API. Thus, you need to write code [or use addons] if you want to expose them to your users

Whenever points in the document are represented, the API uses objects with

var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
34 and
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
35 properties. Both are zero-based. CodeMirror makes sure to 'clip' any positions passed by client code so that they fit inside the document, so you shouldn't worry too much about sanitizing your coordinates. If you give
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
35 a value of
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
0, or don't specify it, it will be replaced with the length of the specified line. Such positions may also have a
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
38 property holding
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
39 or
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
40, whether the position is associated with the character before or after it. This influences, for example, where the cursor is drawn on a line-break or bidi-direction boundary

Methods prefixed with

var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
41 can, unless otherwise specified, be called both on
var myCodeMirror = CodeMirror[document.body];
1 [editor] instances and
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
05 instances. Methods prefixed with
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
44 are only available on
var myCodeMirror = CodeMirror[document.body];
1 instances

Constructor

Constructing an editor instance is done with the

var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
46 constructor. If the
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
47 argument is a DOM element, the editor will be appended to it. If it is a function, it will be called, and is expected to place the editor into the document.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
48 may be an element mapping option names to values. Các tùy chọn mà nó không chỉ định rõ ràng [hoặc tất cả các tùy chọn, nếu nó không được thông qua] sẽ được lấy từ
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
1

Lưu ý rằng đối tượng tùy chọn được truyền cho hàm tạo sẽ bị thay đổi khi các tùy chọn của phiên bản bị thay đổi, vì vậy bạn không nên chia sẻ các đối tượng đó giữa các phiên bản

Xem

var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
50 để biết cách khác để xây dựng phiên bản trình soạn thảo

Phương pháp thao tác nội dung

var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
51Nhận nội dung trình chỉnh sửa hiện tại. Bạn có thể truyền cho nó một đối số tùy chọn để chỉ định chuỗi sẽ được sử dụng để phân tách các dòng [mặc định là
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
52].
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
53Đặt nội dung trình chỉnh sửa.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
54Nhận văn bản giữa các điểm đã cho trong trình chỉnh sửa, đó phải là đối tượng
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
55. Có thể đưa ra đối số thứ ba tùy chọn để chỉ ra chuỗi phân cách dòng sẽ sử dụng [mặc định là
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
52].
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
57Thay thế một phần của tài liệu giữa
var myCodeMirror = CodeMirror[document.body];
45 và
var myCodeMirror = CodeMirror[document.body];
46 bằng chuỗi đã cho.
var myCodeMirror = CodeMirror[document.body];
45 và
var myCodeMirror = CodeMirror[document.body];
46 phải là đối tượng
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
55. Có thể bỏ đi
var myCodeMirror = CodeMirror[document.body];
46 để chỉ cần chèn chuỗi vào vị trí
var myCodeMirror = CodeMirror[document.body];
45. Khi
var myCodeMirror = CodeMirror[document.body];
79 được cung cấp, nó sẽ được chuyển sang các sự kiện
var myCodeMirror = CodeMirror[document.body];
53 và chữ cái đầu tiên của nó sẽ được sử dụng để xác định liệu thay đổi này có thể được hợp nhất với các sự kiện lịch sử trước đó hay không, theo cách được mô tả cho nguồn gốc lựa chọn.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
67Lấy nội dung của dòng
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
68.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
69Lấy số dòng trong trình chỉnh sửa.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
70Nhận số dòng đầu tiên trong trình chỉnh sửa. Giá trị này thường sẽ bằng 0 nhưng đối với các chế độ xem phụ được liên kết hoặc tài liệu được khởi tạo với dòng đầu tiên khác 0, giá trị này có thể trả về các giá trị khác.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
71Nhận số dòng cuối cùng trong trình chỉnh sửa. Đây thường sẽ là
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
72, nhưng đối với các chế độ xem phụ được liên kết, nó có thể trả về các giá trị khác.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
73Tìm nạp xử lý dòng cho số dòng đã cho.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
74Cho một điều khiển dòng, trả về vị trí hiện tại của dòng đó [hoặc
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
0 khi nó không còn trong tài liệu].
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
76
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
77Lặp lại toàn bộ tài liệu, hoặc nếu số dòng
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
78 và
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
79 được cung cấp, phạm vi từ
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
78 đến [không bao gồm]
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
79 và gọi
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
82 cho mỗi dòng, chuyển qua phần điều khiển dòng.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
83 ngừng lặp lại nếu
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
82 trả về giá trị trung thực. Đây là cách nhanh hơn để truy cập một loạt các trình xử lý dòng hơn là gọi
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
12 cho từng người trong số họ. Lưu ý rằng điều khiển dòng có thuộc tính
var myCodeMirror = CodeMirror[document.body];
48 chứa nội dung của dòng [dưới dạng chuỗi].
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
87Đặt nội dung của trình chỉnh sửa là 'sạch', một cờ sẽ giữ lại cho đến khi được chỉnh sửa và sẽ được đặt lại khi hoàn tác chỉnh sửa đó một lần nữa. Hữu ích để theo dõi xem nội dung có cần được lưu hay không. Chức năng này không được dùng nữa thay cho
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
88, chức năng này cho phép nhiều hệ thống con theo dõi các khái niệm khác nhau về độ sạch mà không can thiệp.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
89Trả về một số mà sau này có thể được chuyển đến
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
90 để kiểm tra xem có bất kỳ chỉnh sửa nào được thực hiện [và không được hoàn tác] trong thời gian chờ đợi hay không. Nếu
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
91 là đúng, thì sự kiện lịch sử hiện tại sẽ bị 'đóng', nghĩa là không thể kết hợp sự kiện này với các thay đổi tiếp theo [các sự kiện xóa hoặc nhập nhanh thường được kết hợp].
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
92Trả về liệu tài liệu hiện có sạch hay không — không bị sửa đổi kể từ khi khởi tạo hoặc lệnh gọi cuối cùng tới
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
93 nếu không có đối số nào được thông qua hoặc kể từ lệnh gọi phù hợp tới
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
88 nếu giá trị tạo được đưa ra

Con trỏ và phương pháp lựa chọn

var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
95Nhận mã đang chọn. Tùy chọn vượt qua dấu tách dòng để đặt giữa các dòng trong đầu ra. Khi có nhiều lựa chọn, chúng được nối với các phiên bản của
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
96 ở giữa.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
97Trả về một mảng chứa một chuỗi cho mỗi lựa chọn, biểu thị nội dung của các lựa chọn.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
98Thay thế [các] lựa chọn bằng chuỗi đã cho. Theo mặc định, lựa chọn mới kết thúc sau văn bản được chèn. Đối số tùy chọn
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
99 có thể được sử dụng để thay đổi điều này—việc vượt qua
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
00 sẽ làm cho văn bản mới được chọn, việc chuyển đổi
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
01 sẽ thu gọn lựa chọn về đầu văn bản được chèn.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
02Độ dài của mảng đã cho phải giống với số lượng lựa chọn đang hoạt động. Thay thế nội dung của các lựa chọn bằng các chuỗi trong mảng. Đối số
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
99 hoạt động giống như trong
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
04.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
05Truy xuất một đầu của lựa chọn chính.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
78 là một chuỗi tùy chọn cho biết kết thúc nào của lựa chọn sẽ trả về. Nó có thể là
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
07,
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
08,
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
09 [mặt của vùng chọn di chuyển khi bạn nhấn shift+mũi tên] hoặc
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
10 [mặt cố định của vùng chọn]. Bỏ qua đối số cũng giống như chuyển
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
09. Một đối tượng
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
55 sẽ được trả lại.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
13Truy xuất danh sách tất cả các lựa chọn hiện tại. Chúng sẽ luôn được sắp xếp và không bao giờ trùng lặp [các lựa chọn chồng chéo được hợp nhất]. Mỗi đối tượng trong mảng chứa các thuộc tính
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
14 và
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
15 đề cập đến các đối tượng
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
55.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
17Trả về true nếu bất kỳ văn bản nào được chọn.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
18Đặt vị trí con trỏ. Bạn có thể truyền một đối tượng
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
55 hoặc dòng và ký tự dưới dạng hai tham số riêng biệt. Sẽ thay thế tất cả các lựa chọn bằng một lựa chọn trống duy nhất ở vị trí đã cho. Các tùy chọn được hỗ trợ giống như đối với
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
20.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
21Đặt phạm vi lựa chọn duy nhất.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
14 và
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
15 phải là đối tượng
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
55.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
15 mặc định là
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
14 khi không được cung cấp. Các tùy chọn này được hỗ trợ.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
27Xác định xem có nên cuộn đầu lựa chọn vào chế độ xem hay không. Mặc định là true.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
28Xác định xem sự kiện lịch sử lựa chọn có thể được hợp nhất với sự kiện trước đó hay không. Khi một nguồn gốc bắt đầu bằng ký tự
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
29 và lựa chọn được ghi lại cuối cùng có cùng một nguồn gốc và tương tự nhau [gần về thời gian, cả hai đều bị thu gọn hoặc cả hai không được thu gọn], thì lựa chọn mới sẽ thay thế lựa chọn cũ. Khi bắt đầu bằng
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
30, nó sẽ luôn thay thế sự kiện trước đó [nếu sự kiện đó có cùng nguồn gốc]. Chuyển động tích hợp sử dụng nguồn gốc
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
31. Đầu vào của người dùng sử dụng nguồn gốc
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
32.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
33Xác định hướng điều chỉnh các điểm cuối lựa chọn khi chúng nằm trong phạm vi nguyên tử. Can be either -1 [backward] or 1 [forward]. Khi không được cung cấp, độ lệch sẽ dựa trên vị trí tương đối của lựa chọn cũ—người chỉnh sửa sẽ cố gắng di chuyển xa hơn khỏi vị trí đó để tránh bị kẹt.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
34Đặt một bộ lựa chọn mới. Phải có ít nhất một lựa chọn trong mảng đã cho. Khi
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
35 là một số, nó sẽ xác định lựa chọn nào là lựa chọn chính. Khi nó không được cung cấp, chỉ mục chính được lấy từ lựa chọn trước đó hoặc được đặt thành phạm vi cuối cùng nếu lựa chọn trước đó có ít phạm vi hơn lựa chọn mới. Hỗ trợ các tùy chọn giống như
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
20.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
15 mặc định là
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
14 khi không được cung cấp.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
39Thêm một lựa chọn mới vào tập hợp các lựa chọn hiện có và biến nó thành lựa chọn chính.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
40Tương tự như
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
20, nhưng nếu dịch chuyển được giữ hoặc cờ mở rộng được đặt, di chuyển phần đầu của vùng chọn trong khi để neo ở vị trí hiện tại.
var myCodeMirror = CodeMirror[document.body];
46 là tùy chọn và có thể được chuyển để đảm bảo một vùng [ví dụ: một từ hoặc đoạn văn] sẽ được chọn [ngoài bất kỳ thứ gì nằm giữa vùng đó và neo hiện tại]. Khi có nhiều lựa chọn, tất cả trừ lựa chọn chính sẽ bị loại bỏ theo phương pháp này. Hỗ trợ các tùy chọn giống như
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
20.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
44 Tương đương với
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
45 hoạt động trên tất cả các lựa chọn cùng một lúc.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
46Áp dụng hàm đã cho cho tất cả các lựa chọn hiện có và gọi
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
47 trên kết quả.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
48Sets or clears the 'extending' flag, which acts similar to the shift key, in that it will cause cursor movement and calls to
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
45 to leave the selection anchor in place.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
50Get the value of the 'extending' flag.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
51Tells you whether the editor currently has focus.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
52Used to find the target position for horizontal cursor motion.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
78 is a
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
55 object,
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
55 an integer [may be negative], and
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
56 one of the string
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
57,
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
58, or
var myCodeMirror = CodeMirror[document.body];
42. Will return a position that is produced by moving
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
55 times the distance specified by
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
56. When
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
62 is true, motion in right-to-left text will be visual rather than logical. When the motion was clipped by hitting the end or start of the document, the returned value will have a
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
63 property set to true.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
64Similar to
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
65, but used for vertical motion.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
56 may be
var myCodeMirror = CodeMirror[document.body];
43 or
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
68. The other arguments and the returned value have the same interpretation as they have in
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
65.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
70Returns the start and end of the 'word' [the stretch of letters, whitespace, or punctuation] at the given position

Configuration methods

var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
71Change the configuration of the editor.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
72 should the name of an option, and
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
73 should be a valid value for that option.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
74Retrieves the current value of the given option for this editor instance.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
75Attach an additional key map to the editor. This is mostly useful for addons that need to register some key handlers without trampling on the
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
56 option. Maps added in this way have a higher precedence than the
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
56 and
var myCodeMirror = CodeMirror[document.body];
19 options, and between them, the maps added earlier have a lower precedence than those added later, unless the
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
79 argument was passed, in which case they end up below other key maps added with this method.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
80Disable a keymap added with
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
57. Either pass in the key map object itself, or a string, which will be compared against the
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
5 property of the active key maps.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
83Enable a highlighting overlay. This is a stateless mini-mode that can be used to add extra highlighting. For example, the search addon uses it to highlight the term that's currently being searched.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
84 can be a mode spec or a mode object [an object with a
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
85 method]. The
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
48 parameter is optional. If given, it should be an object, optionally containing the following options.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
87Defaults to off, but can be given to allow the overlay styling, when not
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
0, to override the styling of the base mode entirely, instead of the two being applied together.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
89Determines the ordering in which the overlays are applied. Those with high priority are applied after those with lower priority, and able to override the opaqueness of the ones that come before. Defaults to 0.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
90Pass this the exact value passed for the
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
84 parameter to
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
92, or a string that corresponds to the
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
5 property of that value, to remove an overlay again.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
94Register an event handler for the given event type [a string] on the editor instance. Ngoài ra còn có phiên bản
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
95 cho phép đăng ký các sự kiện trên bất kỳ đối tượng nào.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
96Remove an event handler on the editor instance. An equivalent
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
97 also exists

Document management methods

Each editor is associated with an instance of

var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
05, its document. A document represents the editor content, plus a selection, an undo history, and a mode. A document can only be associated with a single editor at a time. You can create new documents by calling the
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
99 constructor. The last three arguments are optional and can be used to set a mode for the document, make it start at a line number other than 0, and set a specific line separator respectively

var myCodeMirror = CodeMirror[document.body];
100Retrieve the currently active document from an editor.
var myCodeMirror = CodeMirror[document.body];
101Retrieve the editor associated with a document. May return
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
0.
var myCodeMirror = CodeMirror[document.body];
103Attach a new document to the editor. Returns the old document, which is now no longer associated with an editor.
var myCodeMirror = CodeMirror[document.body];
104Create an identical copy of the given doc. When
var myCodeMirror = CodeMirror[document.body];
105 is true, the history will also be copied. Can not be called directly on an editor.
var myCodeMirror = CodeMirror[document.body];
106Create a new document that's linked to the target document. Linked documents will stay in sync [changes to one are also applied to the other] until unlinked. These are the options that are supported.
var myCodeMirror = CodeMirror[document.body];
107When turned on, the linked copy will share an undo history with the original. Thus, something done in one of the two can be undone in the other, and vice versa.
var myCodeMirror = CodeMirror[document.body];
108
var myCodeMirror = CodeMirror[document.body];
109Can be given to make the new document a subview of the original. Subviews only show a given range of lines. Note that line coordinates inside the subview will be consistent with those of the parent, so that for example a subview starting at line 10 will refer to its first line as line 10, not 0.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
3By default, the new document inherits the mode of the parent. This option can be set to a mode spec to give it a different mode.
var myCodeMirror = CodeMirror[document.body];
111Break the link between two documents. After calling this, changes will no longer propagate between the documents, and, if they had a shared history, the history will become separate.
var myCodeMirror = CodeMirror[document.body];
112Will call the given function for all documents linked to the target document. It will be passed two arguments, the linked document and a boolean indicating whether that document shares history with the target

History-related methods

var myCodeMirror = CodeMirror[document.body];
113Undo one edit [if any undo events are stored].
var myCodeMirror = CodeMirror[document.body];
114Redo one undone edit.
var myCodeMirror = CodeMirror[document.body];
115Undo one edit or selection change.
var myCodeMirror = CodeMirror[document.body];
116Redo one undone edit or selection change.
var myCodeMirror = CodeMirror[document.body];
117Returns an object with
var myCodeMirror = CodeMirror[document.body];
118 properties, both of which hold integers, indicating the amount of stored undo and redo operations.
var myCodeMirror = CodeMirror[document.body];
119Clears the editor's undo history.
var myCodeMirror = CodeMirror[document.body];
120Get a [JSON-serializable] representation of the undo history.
var myCodeMirror = CodeMirror[document.body];
121Replace the editor's undo history with the one provided, which must be a value as returned by
var myCodeMirror = CodeMirror[document.body];
122. Note that this will have entirely undefined results if the editor content isn't also the same as it was when
var myCodeMirror = CodeMirror[document.body];
122 was called

Text-marking methods

var myCodeMirror = CodeMirror[document.body];
124Can be used to mark a range of text with a specific CSS class name.
var myCodeMirror = CodeMirror[document.body];
45 and
var myCodeMirror = CodeMirror[document.body];
46 should be
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
55 objects. The
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
48 parameter is optional. When given, it should be an object that may contain the following configuration options.
var myCodeMirror = CodeMirror[document.body];
129Assigns a CSS class to the marked stretch of text.
var myCodeMirror = CodeMirror[document.body];
130Determines whether text inserted on the left of the marker will end up inside or outside of it.
var myCodeMirror = CodeMirror[document.body];
131Like
var myCodeMirror = CodeMirror[document.body];
132, but for the right side.
var myCodeMirror = CodeMirror[document.body];
133For atomic ranges, determines whether the cursor is allowed to be placed directly to the left of the range. Has no effect on non-atomic ranges.
var myCodeMirror = CodeMirror[document.body];
134Like
var myCodeMirror = CodeMirror[document.body];
135, but for the right side.
var myCodeMirror = CodeMirror[document.body];
136Atomic ranges act as a single unit when cursor movement is concerned—i. e. it is impossible to place the cursor inside of them. You can control whether the cursor is allowed to be placed directly before or after them using
var myCodeMirror = CodeMirror[document.body];
135 or
var myCodeMirror = CodeMirror[document.body];
138. If
var myCodeMirror = CodeMirror[document.body];
135 [or right] is not provided, then
var myCodeMirror = CodeMirror[document.body];
132 [or right] will control this behavior.
var myCodeMirror = CodeMirror[document.body];
141Collapsed ranges do not show up in the display. Setting a range to be collapsed will automatically make it atomic.
var myCodeMirror = CodeMirror[document.body];
142When enabled, will cause the mark to clear itself whenever the cursor enters its range. Điều này chủ yếu hữu ích cho các tiện ích thay thế văn bản cần 'mở nhanh' khi người dùng cố gắng chỉnh sửa chúng. The
var myCodeMirror = CodeMirror[document.body];
143 event fired on the range handle can be used to be notified when this happens.
var myCodeMirror = CodeMirror[document.body];
144Determines whether the mark is automatically cleared when it becomes empty. Default is true.
var myCodeMirror = CodeMirror[document.body];
145Use a given node to display this range. Implies both collapsed and atomic. The given DOM node must be an inline element [as opposed to a block element].
var myCodeMirror = CodeMirror[document.body];
146When
var myCodeMirror = CodeMirror[document.body];
147 is given, this determines whether the editor will capture mouse and drag events occurring in this widget. Default is false—the events will be left alone for the default browser handler, or specific handlers on the widget, to capture.
var myCodeMirror = CodeMirror[document.body];
148A read-only span can, as long as it is not cleared, not be modified except by calling
var myCodeMirror = CodeMirror[document.body];
149 to reset the whole document. Note. việc thêm một khoảng thời gian chỉ đọc hiện sẽ xóa lịch sử hoàn tác của trình chỉnh sửa, vì các sự kiện hoàn tác hiện tại bị vô hiệu hóa một phần bởi các khoảng thời gian chỉ đọc sẽ làm hỏng lịch sử [trong quá trình triển khai hiện tại].
var myCodeMirror = CodeMirror[document.body];
150Khi được đặt thành đúng [mặc định là sai], việc thêm điểm đánh dấu này sẽ tạo một sự kiện trong lịch sử hoàn tác có thể được hoàn tác riêng lẻ [xóa điểm đánh dấu].
var myCodeMirror = CodeMirror[document.body];
151Can be used to specify an extra CSS class to be applied to the leftmost span that is part of the marker.
var myCodeMirror = CodeMirror[document.body];
152Equivalent to
var myCodeMirror = CodeMirror[document.body];
153, but for the rightmost span.
var myCodeMirror = CodeMirror[document.body];
154A string of CSS to be applied to the covered text. For example
var myCodeMirror = CodeMirror[document.body];
155.
var myCodeMirror = CodeMirror[document.body];
156When given, add the attributes in the given object to the elements created for the marked text. Adding
var myCodeMirror = CodeMirror[document.body];
157 or
var myCodeMirror = CodeMirror[document.body];
158 attributes this way is not supported.
var myCodeMirror = CodeMirror[document.body];
159When the target document is linked to other documents, you can set
var myCodeMirror = CodeMirror[document.body];
160 to true to make the marker appear in all documents. By default, a marker appears only in its target document. The method will return an object that represents the marker [with constructor
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
16], which exposes three methods.
var myCodeMirror = CodeMirror[document.body];
162, to remove the mark,
var myCodeMirror = CodeMirror[document.body];
163, which returns a
var myCodeMirror = CodeMirror[document.body];
164 object [both holding document positions], indicating the current position of the marked range, or
var myCodeMirror = CodeMirror[document.body];
165 if the marker is no longer in the document, and finally
var myCodeMirror = CodeMirror[document.body];
166, which you can call if you've done something that might change the size of the marker [for example changing the content of a
var myCodeMirror = CodeMirror[document.body];
147 node], and want to cheaply update the display.
var myCodeMirror = CodeMirror[document.body];
168Inserts a bookmark, a handle that follows the text around it as it is being edited, at the given position. A bookmark has two methods
var myCodeMirror = CodeMirror[document.body];
169 and
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
22. The first returns the current position of the bookmark, if it is still in the document, and the second explicitly removes the bookmark. The options argument is optional. If given, the following properties are recognized.
var myCodeMirror = CodeMirror[document.body];
171Can be used to display a DOM node at the current location of the bookmark [analogous to the
var myCodeMirror = CodeMirror[document.body];
147 option to
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
17].
var myCodeMirror = CodeMirror[document.body];
174By default, text typed when the cursor is on top of the bookmark will end up to the right of the bookmark. Set this option to true to make it go to the left instead.
var myCodeMirror = CodeMirror[document.body];
159See the corresponding option to
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
17.
var myCodeMirror = CodeMirror[document.body];
146As with
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
17, this determines whether mouse events on the widget inserted for this bookmark are handled by CodeMirror. The default is false.
var myCodeMirror = CodeMirror[document.body];
179Returns an array of all the bookmarks and marked ranges found between the given positions [non-inclusive].
var myCodeMirror = CodeMirror[document.body];
180Returns an array of all the bookmarks and marked ranges present at the given position.
var myCodeMirror = CodeMirror[document.body];
181Returns an array containing all marked ranges in the document

Widget, gutter, and decoration methods

var myCodeMirror = CodeMirror[document.body];
182Sets the gutter marker for the given gutter [identified by its CSS class, see the
var myCodeMirror = CodeMirror[document.body];
183 option] to the given value. Value can be either
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
0, to clear the marker, or a DOM element, to set it. The DOM element will be shown in the specified gutter next to the specified line.
var myCodeMirror = CodeMirror[document.body];
185Remove all gutter markers in the gutter with the given ID.
var myCodeMirror = CodeMirror[document.body];
186Set a CSS class name for the given line.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
34 can be a number or a line handle.
var myCodeMirror = CodeMirror[document.body];
188 determines to which element this class should be applied, can be one of
var myCodeMirror = CodeMirror[document.body];
189 [the text element, which lies in front of the selection],
var myCodeMirror = CodeMirror[document.body];
190 [a background element that will be behind the selection],
var myCodeMirror = CodeMirror[document.body];
191 [the line's gutter space], or
var myCodeMirror = CodeMirror[document.body];
192 [the wrapper node that wraps all of the line's elements, including gutter elements].
var myCodeMirror = CodeMirror[document.body];
157 should be the name of the class to apply.
var myCodeMirror = CodeMirror[document.body];
194Remove a CSS class from a line.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
34 can be a line handle or number.
var myCodeMirror = CodeMirror[document.body];
188 should be one of
var myCodeMirror = CodeMirror[document.body];
189,
var myCodeMirror = CodeMirror[document.body];
190, or
var myCodeMirror = CodeMirror[document.body];
192 [see
var myCodeMirror = CodeMirror[document.body];
400].
var myCodeMirror = CodeMirror[document.body];
157 can be left off to remove all classes for the specified node, or be a string to remove only a specific class.
var myCodeMirror = CodeMirror[document.body];
402Returns the line number, text content, and marker status of the given line, which can be either a number or a line handle. The returned object has the structure
var myCodeMirror = CodeMirror[document.body];
403, where
var myCodeMirror = CodeMirror[document.body];
404 is an object mapping gutter IDs to marker elements, and
var myCodeMirror = CodeMirror[document.body];
405 is an array of line widgets attached to this line, and the various class properties refer to classes added with
var myCodeMirror = CodeMirror[document.body];
400.
var myCodeMirror = CodeMirror[document.body];
407Puts
var myCodeMirror = CodeMirror[document.body];
408, which should be an absolutely positioned DOM node, into the editor, positioned right below the given
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
55 position. When
var myCodeMirror = CodeMirror[document.body];
410 is true, the editor will ensure that the entire node is visible [if possible]. To remove the widget again, simply use DOM methods [move it somewhere else, or call
var myCodeMirror = CodeMirror[document.body];
411 on its parent].
var myCodeMirror = CodeMirror[document.body];
412Adds a line widget, an element shown below a line, spanning the whole of the editor's width, and moving the lines below it downwards.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
34 should be either an integer or a line handle, and
var myCodeMirror = CodeMirror[document.body];
408 should be a DOM node, which will be displayed below the given line.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
48, when given, should be an object that configures the behavior of the widget. The following options are supported [all default to false].
var myCodeMirror = CodeMirror[document.body];
416Whether the widget should cover the gutter.
var myCodeMirror = CodeMirror[document.body];
417Whether the widget should stay fixed in the face of horizontal scrolling.
var myCodeMirror = CodeMirror[document.body];
418Causes the widget to be placed above instead of below the text of the line.
var myCodeMirror = CodeMirror[document.body];
146Determines whether the editor will capture mouse and drag events occurring in this widget. Default is false—the events will be left alone for the default browser handler, or specific handlers on the widget, to capture.
var myCodeMirror = CodeMirror[document.body];
420By default, the widget is added below other widgets for the line. This option can be used to place it at a different position [zero for the top, N to put it after the Nth other widget]. Lưu ý rằng điều này chỉ có hiệu lực một lần, khi tiện ích được tạo.
var myCodeMirror = CodeMirror[document.body];
129Add an extra CSS class name to the wrapper element created for the widget. Note that the widget node will become a descendant of nodes with CodeMirror-specific CSS classes, and those classes might in some cases affect it. This method returns an object that represents the widget placement. It'll have a
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
34 property pointing at the line handle that it is associated with, and the following methods.
var myCodeMirror = CodeMirror[document.body];
162Removes the widget.
var myCodeMirror = CodeMirror[document.body];
166Call this if you made some change to the widget's DOM node that might affect its height. It'll force CodeMirror to update the height of the line that contains the widget

Sizing, scrolling and positioning methods

var myCodeMirror = CodeMirror[document.body];
425Programmatically set the size of the editor [overriding the applicable CSS rules].
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
75 and
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
15 can be either numbers [interpreted as pixels] or CSS units [
var myCodeMirror = CodeMirror[document.body];
428, for example]. You can pass
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
0 for either of them to indicate that that dimension should not be changed.
var myCodeMirror = CodeMirror[document.body];
430Scroll the editor to a given [pixel] position. Both arguments may be left as
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
0 or
var myCodeMirror = CodeMirror[document.body];
165 to have no effect.
var myCodeMirror = CodeMirror[document.body];
433Get an
var myCodeMirror = CodeMirror[document.body];
434 object that represents the current scroll position, the size of the scrollable area, and the size of the visible area [minus scrollbars].
var myCodeMirror = CodeMirror[document.body];
435Scrolls the given position into view.
var myCodeMirror = CodeMirror[document.body];
436 may be
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
0 to scroll the cursor into view, a
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
55 position to scroll a character into view, a
var myCodeMirror = CodeMirror[document.body];
439 pixel range [in editor-local coordinates], or a range
var myCodeMirror = CodeMirror[document.body];
164 containing either two character positions or two pixel squares. The
var myCodeMirror = CodeMirror[document.body];
441 parameter is optional. When given, it indicates the amount of vertical pixels around the given area that should be made visible as well.
var myCodeMirror = CodeMirror[document.body];
442Returns an
var myCodeMirror = CodeMirror[document.body];
443 object containing the coordinates of the cursor position. If
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
84 is
var myCodeMirror = CodeMirror[document.body];
445, they will be relative to the top-left corner of the editable document. If it is
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
68 or not given, they are relative to the top-left corner of the page. If
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
84 is
var myCodeMirror = CodeMirror[document.body];
448, the coordinates are relative to the top-left corner of the currently visible [scrolled] window.
var myCodeMirror = CodeMirror[document.body];
188 can be a boolean indicating whether you want the start [
var myCodeMirror = CodeMirror[document.body];
13] or the end [
var myCodeMirror = CodeMirror[document.body];
12] of the selection, or, if a
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
55 object is given, it specifies the precise position at which you want to measure.
var myCodeMirror = CodeMirror[document.body];
453Returns the position and dimensions of an arbitrary character.
var myCodeMirror = CodeMirror[document.body];
454 should be a
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
55 object. This differs from
var myCodeMirror = CodeMirror[document.body];
456 in that it'll give the size of the whole character, rather than just the position that the cursor would have when it would sit at that position.
var myCodeMirror = CodeMirror[document.body];
457Given an
var myCodeMirror = CodeMirror[document.body];
458 object [e. g. coordinates of a mouse event] returns the
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
55 position that corresponds to it. The optional
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
84 parameter determines relative to what the coordinates are interpreted. It may be
var myCodeMirror = CodeMirror[document.body];
448,
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
68 [the default], or
var myCodeMirror = CodeMirror[document.body];
445.
var myCodeMirror = CodeMirror[document.body];
464Computes the line at the given pixel height.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
84 can be one of the same strings that
var myCodeMirror = CodeMirror[document.body];
466 accepts.
var myCodeMirror = CodeMirror[document.body];
467Computes the height of the top of a line, in the coordinate system specified by
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
84 [see
var myCodeMirror = CodeMirror[document.body];
466], which defaults to
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
68. When a line below the bottom of the document is specified, the returned value is the bottom of the last line in the document. By default, the position of the actual text is returned. If `includeWidgets` is true and the line has line widgets, the position above the first line widget is returned.
var myCodeMirror = CodeMirror[document.body];
471Returns the line height of the default font for the editor.
var myCodeMirror = CodeMirror[document.body];
472Returns the pixel width of an 'x' in the default font for the editor. [Note that for non-monospace fonts, this is mostly useless, and even for monospace fonts, non-ascii characters might have a different width].
var myCodeMirror = CodeMirror[document.body];
473Returns a
var myCodeMirror = CodeMirror[document.body];
164 object indicating the start [inclusive] and end [exclusive] of the currently rendered part of the document. In big documents, when most content is scrolled out of view, CodeMirror will only render the visible part, and a margin around it. See also the
var myCodeMirror = CodeMirror[document.body];
475 event.
var myCodeMirror = CodeMirror[document.body];
476If your code does something to change the size of the editor element [window resizes are already listened for], or unhides it, you should probably follow up by calling this method to ensure CodeMirror is still looking as intended. See also the autorefresh addon

Mode, state, and token-related methods

When writing language-aware functionality, it can often be useful to hook into the knowledge that the CodeMirror language mode has. See the section on modes for a more detailed description of how these work

var myCodeMirror = CodeMirror[document.body];
477Gets the [outer] mode object for the editor. Note that this is distinct from
var myCodeMirror = CodeMirror[document.body];
478, which gives you the mode specification, rather than the resolved, instantiated mode object.
var myCodeMirror = CodeMirror[document.body];
479Gets the inner mode at a given position. This will return the same as
var myCodeMirror = CodeMirror[document.body];
480 for simple modes, but will return an inner mode for nesting modes [such as
var myCodeMirror = CodeMirror[document.body];
481].
var myCodeMirror = CodeMirror[document.body];
482Retrieves information about the token the current mode found before the given position [a
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
55 object]. The returned object has the following properties.
var myCodeMirror = CodeMirror[document.body];
484The character [on the given line] at which the token starts.
var myCodeMirror = CodeMirror[document.body];
485The character at which the token ends.
var myCodeMirror = CodeMirror[document.body];
486The token's string.
var myCodeMirror = CodeMirror[document.body];
487The token type the mode assigned to the token, such as
var myCodeMirror = CodeMirror[document.body];
488 or
var myCodeMirror = CodeMirror[document.body];
489 [may also be null].
var myCodeMirror = CodeMirror[document.body];
490The mode's state at the end of this token. Nếu
var myCodeMirror = CodeMirror[document.body];
491 là đúng, mã thông báo sẽ được đảm bảo chính xác dựa trên các chỉnh sửa gần đây. If false or not specified, the token will use cached state information, which will be faster but might not be accurate if edits were recently made and highlighting has not yet completed.
var myCodeMirror = CodeMirror[document.body];
492This is similar to
var myCodeMirror = CodeMirror[document.body];
493, but collects all tokens for a given line into an array. It is much cheaper than repeatedly calling
var myCodeMirror = CodeMirror[document.body];
493, which re-parses the part of the line before the token for every call.
var myCodeMirror = CodeMirror[document.body];
495This is a [much] cheaper version of
var myCodeMirror = CodeMirror[document.body];
493 useful for when you just need the type of the token at a given position, and no other information. Will return
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
0 for unstyled tokens, and a string, potentially containing multiple space-separated style names, otherwise.
var myCodeMirror = CodeMirror[document.body];
498Fetch the set of applicable helper values for the given position. Helpers provide a way to look up functionality appropriate for a mode. The
var myCodeMirror = CodeMirror[document.body];
11 argument provides the helper namespace [see
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
700], in which the values will be looked up. When the mode itself has a property that corresponds to the
var myCodeMirror = CodeMirror[document.body];
11, that directly determines the keys that are used to look up the helper values [it may be either a single string, or an array of strings]. Failing that, the mode's
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
702 property and finally the mode's name are used. For example, the JavaScript mode has a property
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
703 containing
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
704. When the
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
705 addon is loaded, that defines a helper named
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
706 in the
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
703 namespace. This is then used by the
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
708 addon to figure out that it can use that folding function to fold JavaScript code. When any 'global' helpers are defined for the given namespace, their predicates are called on the current mode and editor, and all those that declare they are applicable will also be added to the array that is returned.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
709Returns the first applicable helper value. See
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
710.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
711Returns the mode's parser state, if any, at the end of the given line number. If no line number is given, the state at the end of the document is returned. This can be useful for storing parsing errors in the state, or getting other kinds of contextual information for a line.
var myCodeMirror = CodeMirror[document.body];
491 is defined as in
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
713

Miscellaneous methods

var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
714CodeMirror internally buffers changes and only updates its DOM structure after it has finished performing some operation. If you need to perform a lot of operations on a CodeMirror instance, you can call this method with a function argument. It will call the function, buffering up all changes, and only doing the expensive update after the function returns. This can be a lot faster. The return value from this method will be the return value of your function.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
715
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
716In normal circumstances, use the above
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
717 method. But if you want to buffer operations happening asynchronously, or that can't all be wrapped in a callback function, you can call
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
718 to tell CodeMirror to start buffering changes, and
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
719 to actually render all the updates. Be careful. if you use this API and forget to call
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
719, the editor will just never update.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
721Adjust the indentation of the given line. The second argument [which defaults to
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
722] may be one of.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
723Base indentation on the indentation of the previous line.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
724Use the mode's smart indentation if available, behave like
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
725 otherwise.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
726Increase the indentation of the line by one indent unit.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
727Reduce the indentation of the line.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
728Add [positive number] or reduce [negative number] the indentation by the given amount of spaces.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
729Switches between overwrite and normal insert mode [when not given an argument], or sets the overwrite mode to a specific state [when given an argument].
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
730Tells you whether the editor's content can be edited by the user.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
731Returns the preferred line separator string for this document, as per the option by the same name. When that option is
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
0, the string
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
52 is returned.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
734Runs the command with the given name on the editor.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
735Calculates and returns a
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
55 object for a zero-based
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
737 who's value is relative to the start of the editor's text. If the
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
737 is out of range of the text then the returned object is clipped to start or end of the text respectively.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
739The reverse of
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
740.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
741Give the editor focus.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
742Allow the given string to be translated with the
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
743 option.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
744Returns the input field for the editor. Will be a textarea or an editable div, depending on the value of the
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
745 option.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
746Returns the DOM node that represents the editor, and controls its size. Remove this from your tree to delete an editor instance.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
747Returns the DOM node that is responsible for the scrolling of the editor.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
748Fetches the DOM node that contains the editor gutters

Static properties

The

var myCodeMirror = CodeMirror[document.body];
1 object itself provides several useful properties

var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
750It contains a string that indicates the version of the library. This is a triple of integers
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
751, where
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
752 is zero for releases, and something else [usually one] for dev snapshots.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
753Phương thức này cung cấp một cách khác để khởi tạo trình chỉnh sửa. It takes a textarea DOM node as first argument and an optional configuration object as second. It will replace the textarea with a CodeMirror instance, and wire up the form of that textarea [if any] to make sure the editor contents are put into the textarea when the form is submitted. The text in the textarea will provide the content for the editor. A CodeMirror instance created this way has three additional methods.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
754Copy the content of the editor into the textarea.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
755Remove the editor, and restore the original textarea [with the editor's current content]. Nếu bạn tự động tạo và hủy các trình chỉnh sửa được tạo bằng `fromTextArea` mà không hủy biểu mẫu chứa chúng, bạn nên đảm bảo gọi `toTextArea` để xóa trình chỉnh sửa, nếu không trình xử lý `"submit"` của nó trên biểu mẫu sẽ gây ra lỗi .
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
756Returns the textarea that the instance was based on.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
757An object containing default values for all options. Bạn có thể gán cho các thuộc tính của nó để sửa đổi các giá trị mặc định [mặc dù điều này sẽ không ảnh hưởng đến các trình chỉnh sửa đã được tạo].
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
758Nếu bạn muốn xác định các phương thức bổ sung theo API CodeMirror, bạn có thể sử dụng
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
759. This will cause the given value [usually a method] to be added to all CodeMirror instances created from then on.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
760Like
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
759, but the method will be added to the interface for
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
762 objects instead.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
763Similarly,
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
764 can be used to define new options for CodeMirror. The
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
765 will be called with the editor instance and the new value when an editor is initialized, and whenever the option is modified through
var myCodeMirror = CodeMirror[document.body];
97.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
767Nếu tiện ích mở rộng của bạn chỉ cần chạy một số mã bất cứ khi nào một phiên bản CodeMirror được khởi tạo, hãy sử dụng
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
768. Cung cấp cho nó một hàm làm đối số duy nhất của nó và từ đó trở đi, hàm đó sẽ được gọi [với đối tượng là đối số] bất cứ khi nào một phiên bản CodeMirror mới được khởi tạo.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
769Đăng ký một giá trị trợ giúp với
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
5 đã cho trong không gian tên đã cho [
var myCodeMirror = CodeMirror[document.body];
11]. Điều này được sử dụng để xác định chức năng có thể được tra cứu theo chế độ. Sẽ tạo [nếu nó chưa tồn tại] một thuộc tính trên đối tượng
var myCodeMirror = CodeMirror[document.body];
1 cho
var myCodeMirror = CodeMirror[document.body];
11 đã cho, trỏ tới một đối tượng ánh xạ tên thành giá trị. Tôi. e. sau khi thực hiện
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
774, giá trị
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
775 sẽ trỏ đến
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
776.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
777Hoạt động như
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
700, nhưng cũng đăng ký trình trợ giúp này là 'toàn cầu', nghĩa là nó sẽ được bao gồm bởi
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
710 bất cứ khi nào
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
780 đã cho trả về true khi được gọi với chế độ cục bộ và trình chỉnh sửa.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
781Một hàm tạo cho các đối tượng được sử dụng để biểu thị các vị trí trong tài liệu soạn thảo.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
38 mặc định là null, nhưng có thể được đặt thành
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
39 hoặc
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
40 để làm cho vị trí liên kết rõ ràng với ký tự trước hoặc sau nó.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
785Hàm tiện ích tính toán vị trí kết thúc từ một thay đổi [một đối tượng có các thuộc tính
var myCodeMirror = CodeMirror[document.body];
45,
var myCodeMirror = CodeMirror[document.body];
46 và
var myCodeMirror = CodeMirror[document.body];
48, như được truyền cho các trình xử lý sự kiện khác nhau]. Vị trí được trả về sẽ là phần cuối của phạm vi đã thay đổi, sau khi thay đổi được áp dụng.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
789Tìm vị trí cột tại một chỉ mục chuỗi nhất định bằng kích thước tab nhất định

bổ trợ

Thư mục

var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
790 trong bản phân phối chứa một số thành phần có thể tái sử dụng để thực hiện chức năng biên tập bổ sung [bên cạnh các chức năng mở rộng như
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
764,
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
759 và
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
700]. Tóm lại, chúng là

var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
794Cung cấp một cách rất đơn giản để truy vấn người dùng để nhập văn bản. Thêm phương thức
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
795 vào các phiên bản CodeMirror, có thể được gọi bằng một đoạn HTML hoặc nút DOM tách rời cung cấp lời nhắc [nên bao gồm thẻ
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
796 hoặc
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
797] và chức năng gọi lại được gọi khi người dùng nhấn enter. Nó trả về một hàm
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
798, nếu được gọi, nó sẽ đóng hộp thoại ngay lập tức.
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
799 có các tùy chọn sau.
var myCodeMirror = CodeMirror[document.body];
13600Nếu đúng, hộp thoại sẽ đóng khi người dùng nhấn enter trong mục nhập. Mặc định là
var myCodeMirror = CodeMirror[document.body];
13.
var myCodeMirror = CodeMirror[document.body];
13602Xác định xem hộp thoại có bị đóng khi mất tiêu điểm hay không. Mặc định là
var myCodeMirror = CodeMirror[document.body];
13.
var myCodeMirror = CodeMirror[document.body];
13604Một trình xử lý sự kiện sẽ được gọi bất cứ khi nào
var myCodeMirror = CodeMirror[document.body];
70 kích hoạt đầu vào của hộp thoại. Nếu cuộc gọi lại của bạn trả về
var myCodeMirror = CodeMirror[document.body];
13, hộp thoại sẽ không thực hiện thêm bất kỳ quá trình xử lý sự kiện nào.
var myCodeMirror = CodeMirror[document.body];
13607Tương tự như
var myCodeMirror = CodeMirror[document.body];
13608 nhưng đối với sự kiện
var myCodeMirror = CodeMirror[document.body];
13609.
var myCodeMirror = CodeMirror[document.body];
13610Tương tự như
var myCodeMirror = CodeMirror[document.body];
13608 nhưng đối với sự kiện
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
796.
var myCodeMirror = CodeMirror[document.body];
13613. Một cuộc gọi lại sẽ được gọi sau khi hộp thoại đã được đóng và xóa khỏi DOM. Không có giá trị trả về

Cũng thêm chức năng

var myCodeMirror = CodeMirror[document.body];
13614 chỉ hiển thị một đoạn HTML dưới dạng thông báo ở đầu trình chỉnh sửa. Phải mất một lựa chọn duy nhất.
var myCodeMirror = CodeMirror[document.body];
13615, khoảng thời gian sau đó thông báo sẽ tự động đóng. Nếu
var myCodeMirror = CodeMirror[document.body];
13615 bằng 0, hộp thoại sẽ không tự động đóng

Phụ thuộc vào

var myCodeMirror = CodeMirror[document.body];
13617

var myCodeMirror = CodeMirror[document.body];
13618Thêm phương thức
var myCodeMirror = CodeMirror[document.body];
13619 vào phiên bản CodeMirror, có thể được sử dụng để triển khai chức năng tìm kiếm/thay thế.
var myCodeMirror = CodeMirror[document.body];
13620 có thể là biểu thức chính quy hoặc chuỗi.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
78 cung cấp vị trí bắt đầu tìm kiếm. Nó có thể là một đối tượng
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
55, hoặc có thể để mặc định ở đầu tài liệu.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
48 là một đối tượng tùy chọn, có thể chứa thuộc tính `caseFold. false` để vô hiệu hóa trường hợp gấp khi khớp một chuỗi hoặc thuộc tính `multiline. disable` để tắt kết hợp nhiều dòng cho các biểu thức thông thường [có thể giúp tăng hiệu suất]. Một con trỏ tìm kiếm có các phương pháp sau.
var myCodeMirror = CodeMirror[document.body];
13624
var myCodeMirror = CodeMirror[document.body];
13625Search forward or backward from the current position. The return value indicates whether a match was found. If matching a regular expression, the return value will be the array returned by the
var myCodeMirror = CodeMirror[document.body];
13626 method, in case you want to extract matched groups.
var myCodeMirror = CodeMirror[document.body];
13627
var myCodeMirror = CodeMirror[document.body];
13628These are only valid when the last call to
var myCodeMirror = CodeMirror[document.body];
13629 or
var myCodeMirror = CodeMirror[document.body];
13630 did not return false. They will return
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
55 objects pointing at the start and end of the match.
var myCodeMirror = CodeMirror[document.body];
13632Replaces the currently found match with the given text and adjusts the cursor position to reflect the replacement.
var myCodeMirror = CodeMirror[document.body];
13633Implements the search commands. CodeMirror has keys bound to these by default, but will not do anything with them unless an implementation is provided. Depends on
var myCodeMirror = CodeMirror[document.body];
13634, and will make use of
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
799 when available to make prompting for search queries less ugly.
var myCodeMirror = CodeMirror[document.body];
13636Implements a
var myCodeMirror = CodeMirror[document.body];
13637 command and binding
var myCodeMirror = CodeMirror[document.body];
13638 to it. Accepts
var myCodeMirror = CodeMirror[document.body];
13639,
var myCodeMirror = CodeMirror[document.body];
13640,
var myCodeMirror = CodeMirror[document.body];
13641,
var myCodeMirror = CodeMirror[document.body];
13642 and
var myCodeMirror = CodeMirror[document.body];
13643 formats. This will make use of
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
799 when available to make prompting for line number neater. Demo available here.
var myCodeMirror = CodeMirror[document.body];
13645Adds a
var myCodeMirror = CodeMirror[document.body];
13646 method to editor instances, which should be given a query [string or regular expression], optionally a case-fold flag [only applicable for strings], and optionally a class name [defaults to
var myCodeMirror = CodeMirror[document.body];
13647] as arguments. When called, matches of the given query will be displayed on the editor's vertical scrollbar. The method returns an object with a
var myCodeMirror = CodeMirror[document.body];
13648 method that can be called to remove the matches. Depends on the
var myCodeMirror = CodeMirror[document.body];
13649 addon, and the
var myCodeMirror = CodeMirror[document.body];
13650 file provides a default [transparent yellowish] definition of the CSS class applied to the matches. Note that the matches are only perfectly aligned if your scrollbar does not have buttons at the top and bottom. You can use the
var myCodeMirror = CodeMirror[document.body];
13651 addon to make sure of this. If this addon is loaded, the
var myCodeMirror = CodeMirror[document.body];
13652 addon will automatically use it.
var myCodeMirror = CodeMirror[document.body];
13653Defines an option
var myCodeMirror = CodeMirror[document.body];
13654 which, when set to true or an options object, causes matching brackets to be highlighted whenever the cursor is next to them. It also adds a method
var myCodeMirror = CodeMirror[document.body];
13654 that forces this to happen once, and a method
var myCodeMirror = CodeMirror[document.body];
13656 that can be used to run the bracket-finding algorithm that this uses internally. It takes a start position and an optional config object. By default, it will find the match to a matchable character either before or after the cursor [preferring the one before], but you can control its behavior with these options.
var myCodeMirror = CodeMirror[document.body];
13657Only use the character after the start position, never the one before it.
var myCodeMirror = CodeMirror[document.body];
13658Also highlight pairs of non-matching as well as stray brackets. Enabled by default.
var myCodeMirror = CodeMirror[document.body];
13659Causes only matches where both brackets are at the same side of the start position to be considered.
var myCodeMirror = CodeMirror[document.body];
13660Stop after scanning this amount of lines without a successful match. Defaults to 1000.
var myCodeMirror = CodeMirror[document.body];
13661Ignore lines longer than this. Defaults to 10000.
var myCodeMirror = CodeMirror[document.body];
13662Don't highlight a bracket in a line longer than this. Defaults to 1000.
var myCodeMirror = CodeMirror[document.body];
13663Defines an option
var myCodeMirror = CodeMirror[document.body];
13664 that will auto-close brackets and quotes when typed. By default, it'll auto-close
var myCodeMirror = CodeMirror[document.body];
13665, but you can pass it a string similar to that [containing pairs of matching characters], or an object with
var myCodeMirror = CodeMirror[document.body];
13666 and optionally
var myCodeMirror = CodeMirror[document.body];
13667 properties to customize it.
var myCodeMirror = CodeMirror[document.body];
13667 should be a similar string that gives the pairs of characters that, when enter is pressed between them, should have the second character also moved to its own line. By default, if the active mode has a
var myCodeMirror = CodeMirror[document.body];
13669 property, that overrides the configuration given in the option. But you can add an
var myCodeMirror = CodeMirror[document.body];
13670 property with a truthy value to override mode-specific configuration. Demo here.
var myCodeMirror = CodeMirror[document.body];
13671Defines an option
var myCodeMirror = CodeMirror[document.body];
13672 that, when enabled, will cause the tags around the cursor to be highlighted [using the
var myCodeMirror = CodeMirror[document.body];
13673 class]. Also defines a command
var myCodeMirror = CodeMirror[document.body];
13674, which you can bind a key to in order to jump to the tag matching the one under the cursor. Depends on the
var myCodeMirror = CodeMirror[document.body];
13675 addon. Demo here.
var myCodeMirror = CodeMirror[document.body];
13676Adds an option
var myCodeMirror = CodeMirror[document.body];
13677 which, when enabled, adds the CSS class
var myCodeMirror = CodeMirror[document.body];
13678 to stretches of whitespace at the end of lines. The demo has a nice squiggly underline style for this class.
var myCodeMirror = CodeMirror[document.body];
13679Defines an
var myCodeMirror = CodeMirror[document.body];
13680 option that will auto-close XML tags when '
var myCodeMirror = CodeMirror[document.body];
13681' or '
var myCodeMirror = CodeMirror[document.body];
13682' is typed, and a
var myCodeMirror = CodeMirror[document.body];
13683 command that closes the nearest open tag. Depends on the
var myCodeMirror = CodeMirror[document.body];
13684 addon. See the demo.
var myCodeMirror = CodeMirror[document.body];
13685Markdown specific. Defines a
var myCodeMirror = CodeMirror[document.body];
13686 command that can be bound to
var myCodeMirror = CodeMirror[document.body];
13687 to automatically insert the leading characters for continuing a list. See the Markdown mode demo.
var myCodeMirror = CodeMirror[document.body];
13688Addon for commenting and uncommenting code. Adds four methods to CodeMirror instances.
var myCodeMirror = CodeMirror[document.body];
13689Tries to uncomment the current selection, and if that fails, line-comments it.
var myCodeMirror = CodeMirror[document.body];
13690Set the lines in the given range to be line comments. Sẽ quay trở lại
var myCodeMirror = CodeMirror[document.body];
13691 khi không có kiểu nhận xét dòng nào được xác định cho chế độ.
var myCodeMirror = CodeMirror[document.body];
13692Wrap the code in the given range in a block comment. Will fall back to
var myCodeMirror = CodeMirror[document.body];
13693 when no block comment style is defined for the mode.
var myCodeMirror = CodeMirror[document.body];
13694Try to uncomment the given range. Returns
var myCodeMirror = CodeMirror[document.body];
13 if a comment range was found and removed,
var myCodeMirror = CodeMirror[document.body];
12 otherwise. The
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
48 object accepted by these methods may have the following properties.
var myCodeMirror = CodeMirror[document.body];
13698Ghi đè thuộc tính chuỗi nhận xét của chế độ bằng chuỗi nhận xét tùy chỉnh.
var myCodeMirror = CodeMirror[document.body];
13699Một chuỗi sẽ được chèn sau khi mở và đánh dấu dẫn đầu cũng như trước khi đóng đánh dấu nhận xét. Defaults to a single space.
var myCodeMirror = CodeMirror[document.body];
13700Whether, when adding line comments, to also comment lines that contain only whitespace.
var myCodeMirror = CodeMirror[document.body];
13701When adding line comments and this is turned on, it will align the comment block to the current indentation of the first line of the block.
var myCodeMirror = CodeMirror[document.body];
13702When block commenting, this controls whether the whole lines are indented, or only the precise range that is given. Defaults to
var myCodeMirror = CodeMirror[document.body];
13. The addon also defines a
var myCodeMirror = CodeMirror[document.body];
13704 command, which is a shorthand command for calling
var myCodeMirror = CodeMirror[document.body];
13704 with no options.
var myCodeMirror = CodeMirror[document.body];
13706Helps with code folding. Adds a
var myCodeMirror = CodeMirror[document.body];
13707 method to editor instances, which will try to do a code fold starting at the given line, or unfold the fold that is already present. The method takes as first argument the position that should be folded [may be a line number or a
var myCodeMirror = CodeMirror[document.body];
13708], and as second optional argument either a range-finder function, or an options object, supporting the following properties.
var myCodeMirror = CodeMirror[document.body];
13709The function that is used to find foldable ranges. Nếu điều này không được thông qua trực tiếp, nó sẽ mặc định là
var myCodeMirror = CodeMirror[document.body];
13710, sử dụng
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
710 với loại
var myCodeMirror = CodeMirror[document.body];
13712 để tìm các chức năng gấp phù hợp với chế độ cục bộ. Có các tệp trong thư mục
var myCodeMirror = CodeMirror[document.body];
13713 cung cấp
var myCodeMirror = CodeMirror[document.body];
13714, giúp tìm các khối trong các ngôn ngữ có dấu ngoặc nhọn [JavaScript, C, Java, v.v.],
var myCodeMirror = CodeMirror[document.body];
13715, dành cho các ngôn ngữ mà việc thụt đầu dòng xác định cấu trúc khối [Python, Haskell] và
var myCodeMirror = CodeMirror[document.body];
13716, dành cho các ngôn ngữ kiểu XML, .
var myCodeMirror = CodeMirror[document.body];
13718Tiện ích hiển thị cho phạm vi gấp. Có thể là một chuỗi, trong trường hợp đó, nó sẽ trở thành một khoảng với lớp
var myCodeMirror = CodeMirror[document.body];
13719 hoặc một nút DOM. Để tự động tạo tiện ích, đây có thể là một hàm trả về một chuỗi hoặc nút DOM, sau đó sẽ hiển thị như được mô tả. Hàm sẽ được gọi với các tham số xác định phạm vi sẽ được gấp lại.
var myCodeMirror = CodeMirror[document.body];
13720Khi đúng [mặc định là sai], addon sẽ cố gắng tìm phạm vi có thể gập lại trên các dòng phía trên dòng hiện tại nếu không có phạm vi đủ điều kiện trên dòng đã cho.
var myCodeMirror = CodeMirror[document.body];
13721Số lượng dòng tối thiểu mà một nếp gấp phải kéo dài để được chấp nhận. Mặc định là 0, cũng cho phép gấp một dòng. Xem bản demo để biết ví dụ.
var myCodeMirror = CodeMirror[document.body];
13722Cung cấp tùy chọn
var myCodeMirror = CodeMirror[document.body];
13723, có thể được sử dụng để tạo máng xối với các điểm đánh dấu cho biết các khối có thể được gấp lại. Tạo máng xối bằng tùy chọn
var myCodeMirror = CodeMirror[document.body];
183, đặt cho nó lớp
var myCodeMirror = CodeMirror[document.body];
13725 hoặc thứ gì đó khác nếu bạn định cấu hình addon để sử dụng một lớp khác và addon này sẽ hiển thị các điểm đánh dấu bên cạnh các khối có thể gập lại và có thể gập lại, đồng thời xử lý các lần nhấp trong máng xối này. Lưu ý rằng các kiểu CSS nên được áp dụng để tạo máng xối và các điểm đánh dấu nếp gấp bên trong nó có thể nhìn thấy được. Một bộ kiểu CSS mặc định có sẵn trong.
var myCodeMirror = CodeMirror[document.body];
13726. Tùy chọn có thể được đặt thành
var myCodeMirror = CodeMirror[document.body];
13 hoặc một đối tượng chứa các trường tùy chọn tùy chọn sau.
var myCodeMirror = CodeMirror[document.body];
13728Lớp CSS của máng xối. Mặc định là
var myCodeMirror = CodeMirror[document.body];
13729. Bạn sẽ phải tự tạo kiểu này để tạo chiều rộng [và có thể là nền]. Xem các quy tắc kiểu máng xối mặc định ở trên.
var myCodeMirror = CodeMirror[document.body];
13730Một lớp CSS hoặc phần tử DOM được sử dụng làm điểm đánh dấu cho các khối mở, có thể gập lại. Mặc định là
var myCodeMirror = CodeMirror[document.body];
13731.
var myCodeMirror = CodeMirror[document.body];
13732Một lớp CSS hoặc phần tử DOM được sử dụng làm điểm đánh dấu cho các khối được gấp lại. Mặc định là
var myCodeMirror = CodeMirror[document.body];
13733.
var myCodeMirror = CodeMirror[document.body];
13709Chức năng tìm phạm vi sử dụng khi xác định xem một thứ gì đó có thể được gấp lại hay không. Khi không được cung cấp,
var myCodeMirror = CodeMirror[document.body];
13710 sẽ được sử dụng làm mặc định. Tùy chọn trình chỉnh sửa
var myCodeMirror = CodeMirror[document.body];
13736 có thể được đặt thành một đối tượng để cung cấp cấu hình mặc định cho toàn trình chỉnh sửa. trình diễn ở đây.
var myCodeMirror = CodeMirror[document.body];
13737Có thể được sử dụng để chạy chế độ CodeMirror trên văn bản mà không thực sự mở phiên bản trình soạn thảo. Xem bản demo để biết ví dụ. Có sẵn các phiên bản thay thế của tệp để chạy độc lập [không bao gồm tất cả CodeMirror] và để chạy dưới nút. js [xem
var myCodeMirror = CodeMirror[document.body];
13738 để biết ví dụ về cách sử dụng cái sau].
var myCodeMirror = CodeMirror[document.body];
13739Cung cấp một cách thuận tiện để đánh dấu cú pháp các đoạn mã trong trang web. Phụ thuộc vào addon
var myCodeMirror = CodeMirror[document.body];
13740 [hoặc biến thể độc lập của nó]. Cung cấp một hàm
var myCodeMirror = CodeMirror[document.body];
13741 có thể được gọi với một mảng [hoặc bộ sưu tập mảng-ish khác] của các nút DOM đại diện cho các đoạn mã. Theo mặc định, nó sẽ nhận tất cả các thẻ
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
31. Sẽ đọc thuộc tính
var myCodeMirror = CodeMirror[document.body];
13743 của các nút này để tìm ra ngôn ngữ của chúng và tô màu cú pháp cho nội dung của chúng bằng chế độ CodeMirror có liên quan [bạn sẽ phải tự tải tập lệnh cho các chế độ có liên quan]. Đối số thứ hai có thể được cung cấp để đưa ra chế độ mặc định, được sử dụng khi không tìm thấy thuộc tính ngôn ngữ nào cho một nút. Được sử dụng trong sách hướng dẫn này để làm nổi bật mã ví dụ.
var myCodeMirror = CodeMirror[document.body];
13744Bộ kết hợp chế độ có thể được sử dụng để mở rộng chế độ có 'lớp phủ' — chế độ phụ được chạy trên luồng, cùng với chế độ cơ sở và có thể tô màu các đoạn văn bản cụ thể mà không can thiệp vào chế độ cơ sở. Xác định
var myCodeMirror = CodeMirror[document.body];
13745, được sử dụng để tạo một chế độ như vậy. Xem bản demo này để biết ví dụ chi tiết.
var myCodeMirror = CodeMirror[document.body];
13746Bộ kết hợp chế độ có thể được sử dụng để dễ dàng 'ghép kênh' giữa một số chế độ. Xác định
var myCodeMirror = CodeMirror[document.body];
13747 mà khi được đưa ra làm đối số đầu tiên là một đối tượng chế độ và như các đối số khác với bất kỳ số lượng đối tượng
var myCodeMirror = CodeMirror[document.body];
13748 nào, sẽ trả về một đối tượng chế độ bắt đầu phân tích cú pháp bằng cách sử dụng chế độ được chuyển làm đối số đầu tiên, nhưng sẽ chuyển sang chế độ khác ngay khi nó gặp . Khi ở chế độ phụ, nó sẽ quay lại chế độ trên cùng khi gặp chuỗi
var myCodeMirror = CodeMirror[document.body];
13750. Vượt qua
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
52 cho
var myCodeMirror = CodeMirror[document.body];
13749 hoặc
var myCodeMirror = CodeMirror[document.body];
13750 nếu bạn muốn bật một dòng trống
  • Khi
    var myCodeMirror = CodeMirror[document.body];
    13754 được chỉ định, đó sẽ là kiểu mã thông báo được trả về cho mã thông báo dấu phân cách [cũng như
    var myCodeMirror = CodeMirror[document.body];
    13755 trên mã thông báo mở và
    var myCodeMirror = CodeMirror[document.body];
    13756 trên mã thông báo đóng]
  • Khi
    var myCodeMirror = CodeMirror[document.body];
    13757 được chỉ định, đó sẽ là kiểu mã thông báo được thêm cho mỗi mã thông báo chế độ bên trong
  • Khi
    var myCodeMirror = CodeMirror[document.body];
    13758 là true, nội dung của các dấu phân cách cũng sẽ được chuyển sang chế độ bên trong. [Và
    var myCodeMirror = CodeMirror[document.body];
    13754 bị bỏ qua. ]
Chế độ bên ngoài sẽ không nhìn thấy nội dung giữa các dấu phân cách. Xem bản demo này để biết ví dụ.
var myCodeMirror = CodeMirror[document.body];
13760 Cung cấp khung hiển thị gợi ý tự động hoàn thành. Xác định
var myCodeMirror = CodeMirror[document.body];
13761, lấy một đối tượng tùy chọn tùy chọn và bật lên một tiện ích cho phép người dùng chọn hoàn thành. Tìm gợi ý được thực hiện với chức năng gợi ý [tùy chọn
var myCodeMirror = CodeMirror[document.body];
13762]. Hàm này lấy một phiên bản trình soạn thảo và một đối tượng tùy chọn, đồng thời trả về một đối tượng
var myCodeMirror = CodeMirror[document.body];
13763, trong đó
var myCodeMirror = CodeMirror[document.body];
13764 là một mảng các chuỗi hoặc đối tượng [phần hoàn thành], và
var myCodeMirror = CodeMirror[document.body];
45 và
var myCodeMirror = CodeMirror[document.body];
46 đưa ra phần đầu và phần cuối của mã thông báo đang được hoàn thành dưới dạng đối tượng
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
55. Có thể thêm thuộc tính
var myCodeMirror = CodeMirror[document.body];
13768 tùy chọn [số nguyên] vào đối tượng hoàn thành để kiểm soát gợi ý được chọn ban đầu. Nếu không có hàm gợi ý nào được cung cấp, addon sẽ sử dụng
var myCodeMirror = CodeMirror[document.body];
13769, hàm này gọi
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
710 với loại
var myCodeMirror = CodeMirror[document.body];
13771 để tìm các hàm gợi ý có thể áp dụng và thử từng hàm một. Nếu không thành công, nó sẽ tìm một người trợ giúp
var myCodeMirror = CodeMirror[document.body];
13772 để lấy danh sách các từ có thể hoàn thành cho chế độ và sử dụng
var myCodeMirror = CodeMirror[document.body];
13773 để hoàn thành từ đó. Khi hoàn thành không phải là chuỗi đơn giản, chúng phải là đối tượng có các thuộc tính sau.
var myCodeMirror = CodeMirror[document.body];
13774Văn bản hoàn thành. Đây là tài sản bắt buộc duy nhất.
var myCodeMirror = CodeMirror[document.body];
13775Văn bản sẽ được hiển thị trong menu.
var myCodeMirror = CodeMirror[document.body];
129A Tên lớp CSS để áp dụng cho dòng hoàn thành trong menu.
var myCodeMirror = CodeMirror[document.body];
13777Một phương thức được sử dụng để tạo cấu trúc DOM để hiển thị phần hoàn thành bằng cách thêm nó vào đối số đầu tiên của nó.
var myCodeMirror = CodeMirror[document.body];
13778Một phương thức được sử dụng để thực sự áp dụng hoàn thành, thay vì hành vi mặc định.
var myCodeMirror = CodeMirror[document.body];
13779Vị trí
var myCodeMirror = CodeMirror[document.body];
45 tùy chọn sẽ được sử dụng bởi
var myCodeMirror = CodeMirror[document.body];
13781 thay vì vị trí toàn cầu được thông qua với danh sách hoàn thành đầy đủ.
var myCodeMirror = CodeMirror[document.body];
13782Vị trí
var myCodeMirror = CodeMirror[document.body];
46 tùy chọn sẽ được sử dụng bởi
var myCodeMirror = CodeMirror[document.body];
13781 thay vì vị trí toàn cầu được thông qua với danh sách hoàn thành đầy đủ. Plugin hiểu các tùy chọn sau, có thể được chuyển trực tiếp trong đối số tới
var myCodeMirror = CodeMirror[document.body];
13785 hoặc được cung cấp bằng cách đặt tùy chọn trình chỉnh sửa
var myCodeMirror = CodeMirror[document.body];
13786 cho một đối tượng [tùy chọn trước được ưu tiên]. Đối tượng tùy chọn cũng sẽ được chuyển đến chức năng gợi ý, có thể hiểu các tùy chọn bổ sung.
var myCodeMirror = CodeMirror[document.body];
13787Một chức năng gợi ý, như được chỉ định ở trên. Có thể đặt thuộc tính
var myCodeMirror = CodeMirror[document.body];
13788 trên hàm gợi ý thành true, trong trường hợp đó, nó sẽ được gọi với các đối số
var myCodeMirror = CodeMirror[document.body];
13789 và giao diện hoàn thành sẽ chỉ bật lên khi hàm gợi ý gọi hàm gọi lại, chuyển cho nó đối tượng đang giữ phần hoàn thành. Chức năng gợi ý cũng có thể trả về một lời hứa và giao diện hoàn thành sẽ chỉ xuất hiện khi lời hứa được giải quyết. Theo mặc định, gợi ý chỉ hoạt động khi không có lựa chọn nào. Bạn có thể cung cấp cho hàm gợi ý một thuộc tính
var myCodeMirror = CodeMirror[document.body];
13790 với giá trị trung thực để cho biết rằng nó hỗ trợ các lựa chọn.
var myCodeMirror = CodeMirror[document.body];
13791Xác định xem, khi chỉ có một lần hoàn thành duy nhất, nó có được hoàn thành mà không hiển thị hộp thoại hay không. Mặc định là true.
var myCodeMirror = CodeMirror[document.body];
13792Căn chỉnh cửa sổ bật lên theo chiều ngang với phần đầu của từ [đúng, mặc định] hay với con trỏ [sai].
var myCodeMirror = CodeMirror[document.body];
13793Một đối tượng biểu thức chính quy được sử dụng để khớp với các ký tự khiến cửa sổ bật lên bị đóng [mặc định.
var myCodeMirror = CodeMirror[document.body];
13794]. Nếu người dùng nhập một trong các ký tự này, cửa sổ bật lên sẽ đóng lại và sự kiện
var myCodeMirror = CodeMirror[document.body];
13795 được kích hoạt trên phiên bản trình soạn thảo.
var myCodeMirror = CodeMirror[document.body];
13796Khi được bật [là mặc định], cửa sổ bật lên sẽ đóng khi trình chỉnh sửa không tập trung.
var myCodeMirror = CodeMirror[document.body];
13797Liệu một lần nhấp chuột vào mục danh sách có đủ để kích hoạt hoàn thành [là mặc định] hay người dùng phải sử dụng thao tác nhấp đúp.
var myCodeMirror = CodeMirror[document.body];
13798Có thể được sử dụng để xác định vùng chứa tùy chỉnh cho tiện ích con. Giá trị mặc định là
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
0, trong trường hợp này, phần tử
var myCodeMirror = CodeMirror[document.body];
000 sẽ được sử dụng. ________ 1001 Cho phép bạn cung cấp bản đồ phím tùy chỉnh gồm các phím sẽ hoạt động khi cửa sổ bật lên đang hoạt động. Các trình xử lý sẽ được gọi với một đối số bổ sung, một trình điều khiển cho menu hoàn thành, có các phương thức
var myCodeMirror = CodeMirror[document.body];
002,
var myCodeMirror = CodeMirror[document.body];
003,
var myCodeMirror = CodeMirror[document.body];
13781 và
var myCodeMirror = CodeMirror[document.body];
005 [xem nguồn để biết chi tiết], có thể được sử dụng để thay đổi phần tử tiêu điểm, chọn phần tử hiện tại . Ngoài ra,
var myCodeMirror = CodeMirror[document.body];
006 có thể cung cấp cho bạn quyền truy cập vào kích thước của menu thả xuống hiện tại,
var myCodeMirror = CodeMirror[document.body];
007 cung cấp cho bạn số lần hoàn thành có sẵn và
var myCodeMirror = CodeMirror[document.body];
008 cung cấp cho bạn toàn quyền truy cập vào lần hoàn thành do hàm gợi ý trả về.
var myCodeMirror = CodeMirror[document.body];
009Giống như
var myCodeMirror = CodeMirror[document.body];
010 ở trên, nhưng các ràng buộc sẽ được thêm vào tập hợp các ràng buộc mặc định, thay vì thay thế chúng.
var myCodeMirror = CodeMirror[document.body];
011Hiển thị nhiều dòng này trước và sau mục đã chọn. Mặc định là 0. Các sự kiện sau sẽ được kích hoạt trên đối tượng hoàn thành trong khi hoàn thành.
var myCodeMirror = CodeMirror[document.body];
012Được kích hoạt khi cửa sổ bật lên được hiển thị.
var myCodeMirror = CodeMirror[document.body];
013Được kích hoạt khi hoàn thành được chọn. Đã chuyển giá trị hoàn thành [chuỗi hoặc đối tượng] và nút DOM đại diện cho nó trong menu.
var myCodeMirror = CodeMirror[document.body];
014Được kích hoạt khi hoàn thành được chọn. Đã chuyển giá trị hoàn thành [chuỗi hoặc đối tượng].
var myCodeMirror = CodeMirror[document.body];
015Được kích hoạt khi quá trình hoàn thành kết thúc. Các sự kiện sau sẽ được kích hoạt trên phiên bản trình soạn thảo trong khi hoàn thành.
var myCodeMirror = CodeMirror[document.body];
016Được kích hoạt khi cửa sổ bật lên đang được đóng theo chương trình, e. g. , khi người dùng nhập một ký tự khớp với tùy chọn
var myCodeMirror = CodeMirror[document.body];
017. Addon này phụ thuộc vào phong cách từ
var myCodeMirror = CodeMirror[document.body];
018. Kiểm tra bản demo cho một ví dụ.
var myCodeMirror = CodeMirror[document.body];
019Xác định chức năng gợi ý đơn giản cho mã JavaScript [
var myCodeMirror = CodeMirror[document.body];
020] và CoffeeScript [
var myCodeMirror = CodeMirror[document.body];
021]. Điều này sẽ chỉ sử dụng môi trường JavaScript mà trình chỉnh sửa chạy trong đó làm nguồn thông tin về các đối tượng và thuộc tính của chúng.
var myCodeMirror = CodeMirror[document.body];
022Xác định
var myCodeMirror = CodeMirror[document.body];
023, tạo gợi ý cho tên thẻ XML, tên thuộc tính và giá trị thuộc tính, được hướng dẫn bởi tùy chọn
var myCodeMirror = CodeMirror[document.body];
024 [thuộc tính của đối số thứ hai được chuyển đến hàm gợi ý hoặc đối số thứ ba được chuyển đến
var myCodeMirror = CodeMirror[document.body];
025].
Thông tin lược đồ phải là tên thẻ đối tượng ánh xạ tới thông tin về các thẻ này, với tùy chọn là thuộc tính
var myCodeMirror = CodeMirror[document.body];
026 chứa danh sách tên của các thẻ cấp cao nhất hợp lệ. Các giá trị của thuộc tính phải là các đối tượng có thuộc tính tùy chọn
var myCodeMirror = CodeMirror[document.body];
027 [một mảng tên phần tử con hợp lệ, bỏ qua để chỉ cho phép tất cả các thẻ xuất hiện] và
var myCodeMirror = CodeMirror[document.body];
028 [tên thuộc tính ánh xạ đối tượng thành
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
0 đối với thuộc tính dạng tự do và một mảng gồm .
Các tùy chọn gợi ý chấp nhận một thuộc tính bổ sung.
var myCodeMirror = CodeMirror[document.body];
030Xác định xem các ký tự đã nhập có khớp ở bất kỳ đâu trong phần hoàn thành hay không, không chỉ ở phần đầu. Mặc định là sai. trình diễn tại đây.
var myCodeMirror = CodeMirror[document.body];
031Cung cấp thông tin lược đồ cho addon xml-hint cho tài liệu HTML. Xác định một đối tượng lược đồ
var myCodeMirror = CodeMirror[document.body];
032 mà bạn có thể chuyển đến dưới dạng tùy chọn
var myCodeMirror = CodeMirror[document.body];
024 và hàm gợi ý
var myCodeMirror = CodeMirror[document.body];
034 tự động gọi
var myCodeMirror = CodeMirror[document.body];
023 với dữ liệu lược đồ này. Xem bản trình diễn.
var myCodeMirror = CodeMirror[document.body];
036Một chức năng gợi ý cho mã CSS, SCSS hoặc LESS. Định nghĩa
var myCodeMirror = CodeMirror[document.body];
037.
var myCodeMirror = CodeMirror[document.body];
038Một chức năng gợi ý rất đơn giản [
var myCodeMirror = CodeMirror[document.body];
039] chỉ đơn giản là tìm các từ trong mã gần đó và điền vào các từ đó. Có hai tùy chọn tùy chọn,
var myCodeMirror = CodeMirror[document.body];
040, một biểu thức chính quy khớp với các từ [chuỗi một hoặc nhiều ký tự] và
var myCodeMirror = CodeMirror[document.body];
041, xác định số lượng dòng mà addon sẽ quét khi hoàn thành [mặc định là 500].
var myCodeMirror = CodeMirror[document.body];
042Một gợi ý SQL đơn giản. Định nghĩa
var myCodeMirror = CodeMirror[document.body];
043. Có hai tùy chọn tùy chọn,
var myCodeMirror = CodeMirror[document.body];
044, một đối tượng có tên bảng làm khóa và mảng tên cột tương ứng làm giá trị và
var myCodeMirror = CodeMirror[document.body];
045, một chuỗi tương ứng với tên bảng trong
var myCodeMirror = CodeMirror[document.body];
044 để tự động hoàn thành.
var myCodeMirror = CodeMirror[document.body];
047Thêm tùy chọn
var myCodeMirror = CodeMirror[document.body];
048 có thể được bật để đánh dấu tất cả các phiên bản của từ hiện được chọn. Có thể được đặt thành true hoặc thành một đối tượng chứa các tùy chọn sau.
var myCodeMirror = CodeMirror[document.body];
049, đối với số ký tự được chọn tối thiểu để kích hoạt đánh dấu [mặc định 2],
var myCodeMirror = CodeMirror[document.body];
158, đối với kiểu được sử dụng để đánh dấu các kết quả phù hợp [mặc định
var myCodeMirror = CodeMirror[document.body];
051, sẽ tương ứng với lớp CSS
var myCodeMirror = CodeMirror[document.body];
052],
var myCodeMirror = CodeMirror[document.body];
053, kiểm soát xem khoảng trắng có được . Khi được bật, nó sẽ làm nổi bật từ hiện tại khi không có gì được chọn [mặc định là tắt]. trình diễn tại đây.
var myCodeMirror = CodeMirror[document.body];
056Xác định thành phần giao diện để hiển thị cảnh báo xơ vải, với các nguồn cảnh báo có thể cắm được [xem
var myCodeMirror = CodeMirror[document.body];
057,
var myCodeMirror = CodeMirror[document.body];
058,
var myCodeMirror = CodeMirror[document.body];
059,
var myCodeMirror = CodeMirror[document.body];
060 và
var myCodeMirror = CodeMirror[document.body];
061 trong cùng thư mục]. Xác định tùy chọn
var myCodeMirror = CodeMirror[document.body];
062 có thể được đặt thành nguồn chú thích [ví dụ:
var myCodeMirror = CodeMirror[document.body];
063], thành đối tượng tùy chọn [trong trường hợp đó, trường
var myCodeMirror = CodeMirror[document.body];
064 được sử dụng làm nguồn chú thích] hoặc đơn giản là
var myCodeMirror = CodeMirror[document.body];
13. Khi không có nguồn chú thích nào được chỉ định, ________ 1066 với loại _____ 1067 được sử dụng để tìm chức năng chú thích. Một hàm nguồn chú thích, khi được cung cấp một chuỗi tài liệu, một đối tượng tùy chọn và một phiên bản trình soạn thảo, sẽ trả về một mảng các đối tượng
var myCodeMirror = CodeMirror[document.body];
068 đại diện cho các vấn đề. Khi hàm có thuộc tính
var myCodeMirror = CodeMirror[document.body];
13788 với giá trị trung thực, nó sẽ được gọi với đối số thứ hai bổ sung, đây là hàm gọi lại để chuyển mảng tới. Hàm linting cũng có thể trả về một lời hứa, trong trường hợp đó, kẻ nói dối sẽ chỉ được thực thi khi lời hứa được giải quyết. Theo mặc định, kẻ nói dối sẽ chạy [gỡ lỗi] bất cứ khi nào tài liệu được thay đổi. Bạn có thể vượt qua tùy chọn
var myCodeMirror = CodeMirror[document.body];
070 để tắt tùy chọn đó. Bạn có thể chuyển tùy chọn
var myCodeMirror = CodeMirror[document.body];
071 để hiển thị chú giải công cụ bên trong phiên bản trình chỉnh sửa. Và một tùy chọn
var myCodeMirror = CodeMirror[document.body];
072 để thêm kiểu cho các dòng có vấn đề. Phụ thuộc vào
var myCodeMirror = CodeMirror[document.body];
073. Một bản demo có thể được tìm thấy ở đây.
var myCodeMirror = CodeMirror[document.body];
074Làm cho văn bản đã chọn được đánh dấu bằng lớp CSS
var myCodeMirror = CodeMirror[document.body];
075 khi tùy chọn
var myCodeMirror = CodeMirror[document.body];
076 được bật. Useful to change the colour of the selection [in addition to the background], like in this demo.
var myCodeMirror = CodeMirror[document.body];
077Xác định tùy chọn
var myCodeMirror = CodeMirror[document.body];
078, khi được bật, sẽ cung cấp cho trình bao bọc của dòng chứa con trỏ lớp
var myCodeMirror = CodeMirror[document.body];
079, thêm nền với lớp
var myCodeMirror = CodeMirror[document.body];
080 và thêm lớp
var myCodeMirror = CodeMirror[document.body];
081 vào khoảng trống của dòng được bật. Giá trị của tùy chọn có thể là một boolean hoặc một đối tượng chỉ định các tùy chọn sau.
var myCodeMirror = CodeMirror[document.body];
082Kiểm soát xem lựa chọn một dòng hay chỉ lựa chọn con trỏ được tạo kiểu. Mặc định là sai [chỉ lựa chọn con trỏ]. Xem bản trình diễn. ________ 1083 Xác định tùy chọn ________ 1084 mà bạn có thể sử dụng để kiểm soát giao diện con trỏ chuột khi di chuột qua lựa chọn. Nó có thể được đặt thành một chuỗi, chẳng hạn như
var myCodeMirror = CodeMirror[document.body];
085 hoặc thành true, trong trường hợp đó, con trỏ [mũi tên]
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
5 sẽ được sử dụng. Bạn có thể xem demo tại đây.
var myCodeMirror = CodeMirror[document.body];
087Xác định một hàm
var myCodeMirror = CodeMirror[document.body];
088 sẽ cố tải một chế độ nhất định và gọi hàm gọi lại khi nó thành công.
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
48 là một đối tượng tùy chọn có thể chứa.
var myCodeMirror = CodeMirror[document.body];
090Xác định cách ánh xạ tên chế độ tới đường dẫn.
var myCodeMirror = CodeMirror[document.body];
091Ghi đè cách tải tập lệnh chế độ. Theo mặc định, điều này sẽ sử dụng trình tải mô-đun CommonJS hoặc AMD nếu có và quay lại tạo thẻ
var myCodeMirror = CodeMirror[document.body];
092 nếu không. Addon này cũng định nghĩa
var myCodeMirror = CodeMirror[document.body];
093, điều này sẽ đảm bảo chế độ đã cho được tải và khiến phiên bản trình chỉnh sửa đã cho làm mới chế độ của nó khi quá trình tải thành công. Xem bản trình diễn.
var myCodeMirror = CodeMirror[document.body];
094Cung cấp siêu thông tin về tất cả các chế độ trong bản phân phối trong một tệp duy nhất. Xác định
var myCodeMirror = CodeMirror[document.body];
095, một mảng các đối tượng có thuộc tính
var myCodeMirror = CodeMirror[document.body];
096, trong đó
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
5 là tên con người có thể đọc được,
var myCodeMirror = CodeMirror[document.body];
098 loại MIME và
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
84 tên của tệp chế độ xác định MIME này. Có các thuộc tính tùy chọn
var myCodeMirror = CodeMirror[document.body];
100, chứa một mảng các loại MIME cho các chế độ có nhiều MIME được liên kết và
var myCodeMirror = CodeMirror[document.body];
101, chứa một mảng các phần mở rộng tệp được liên kết với chế độ này. Bốn chức năng tiện lợi,
var myCodeMirror = CodeMirror[document.body];
102,
var myCodeMirror = CodeMirror[document.body];
103,
var myCodeMirror = CodeMirror[document.body];
104 và
var myCodeMirror = CodeMirror[document.body];
105 được cung cấp, trả về một đối tượng như vậy được cung cấp MIME, phần mở rộng, tên tệp hoặc chuỗi tên chế độ. Lưu ý rằng, vì lý do lịch sử, tệp này nằm trong thư mục
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
84 cấp cao nhất, không nằm trong thư mục
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
790. Thử nghiệm.
var myCodeMirror = CodeMirror[document.body];
108Thêm tùy chọn
var myCodeMirror = CodeMirror[document.body];
109, tùy chọn này đặt xem trình chỉnh sửa có tạo dòng tiếp theo tiếp tục nhận xét hay không khi bạn nhấn Enter bên trong khối nhận xét. Có thể được đặt thành boolean để bật/tắt chức năng này. Đặt thành chuỗi, nó sẽ tiếp tục nhận xét bằng phím tắt tùy chỉnh. Đặt thành một đối tượng, nó sẽ sử dụng thuộc tính
var myCodeMirror = CodeMirror[document.body];
110 cho lối tắt tùy chỉnh và thuộc tính boolean
var myCodeMirror = CodeMirror[document.body];
111 để xác định xem có nên tiếp tục nhận xét một dòng hay không [mặc định là
var myCodeMirror = CodeMirror[document.body];
13].
var myCodeMirror = CodeMirror[document.body];
113Thêm tùy chọn
var myCodeMirror = CodeMirror[document.body];
114 có thể được sử dụng để hiển thị nội dung trong trình chỉnh sửa khi nó trống và không có tiêu điểm. Nó có thể chứa một chuỗi hoặc một nút DOM. Đồng thời cung cấp cho trình soạn thảo một lớp CSS
var myCodeMirror = CodeMirror[document.body];
115 bất cứ khi nào nó không chứa bất kỳ văn bản nào. Xem bản trình diễn.
var myCodeMirror = CodeMirror[document.body];
116Xác định một tùy chọn
var myCodeMirror = CodeMirror[document.body];
117, khi được đặt thành
var myCodeMirror = CodeMirror[document.body];
13, sẽ làm cho trình chỉnh sửa ở chế độ toàn màn hình [như trong, chiếm toàn bộ cửa sổ trình duyệt]. Phụ thuộc vào
var myCodeMirror = CodeMirror[document.body];
119. trình diễn tại đây.
var myCodeMirror = CodeMirror[document.body];
120Addon này có thể hữu ích khi khởi tạo trình chỉnh sửa trong nút DOM ẩn, trong trường hợp khó gọi
var myCodeMirror = CodeMirror[document.body];
121 khi trình chỉnh sửa hiển thị. Nó xác định một tùy chọn
var myCodeMirror = CodeMirror[document.body];
122 mà bạn có thể đặt thành true để đảm bảo rằng, nếu trình chỉnh sửa không hiển thị khi khởi tạo, nó sẽ được làm mới khi nó hiển thị lần đầu tiên. Điều này được thực hiện bằng cách bỏ phiếu sau mỗi 250 mili giây [bạn có thể chuyển một giá trị như
var myCodeMirror = CodeMirror[document.body];
123 làm giá trị tùy chọn để định cấu hình giá trị này]. Lưu ý rằng addon này sẽ chỉ làm mới trình chỉnh sửa một lần khi nó hiển thị lần đầu tiên và sẽ không quan tâm đến việc sắp xếp lại và thay đổi kích thước.
var myCodeMirror = CodeMirror[document.body];
124Xác định hai mô hình thanh cuộn bổ sung,
var myCodeMirror = CodeMirror[document.body];
125 và
var myCodeMirror = CodeMirror[document.body];
126 [xem bản trình diễn] có thể được chọn bằng tùy chọn
var myCodeMirror = CodeMirror[document.body];
127. Phụ thuộc vào
var myCodeMirror = CodeMirror[document.body];
128, có thể được ghi đè thêm để tạo kiểu cho thanh cuộn của riêng bạn.
var myCodeMirror = CodeMirror[document.body];
129Cung cấp chức năng hiển thị các điểm đánh dấu trên thanh cuộn để gọi ra một số phần của tài liệu. Thêm một phương thức
var myCodeMirror = CodeMirror[document.body];
130 vào các phiên bản trình soạn thảo có thể được gọi, với tên lớp CSS làm đối số, để tạo một tập hợp các chú thích. Phương thức trả về một đối tượng có thể gọi phương thức
var myCodeMirror = CodeMirror[document.body];
62 với một mảng được sắp xếp gồm các đối tượng
var myCodeMirror = CodeMirror[document.body];
132 đánh dấu các phạm vi sẽ được đánh dấu. Để tách các chú thích, hãy gọi phương thức
var myCodeMirror = CodeMirror[document.body];
13648 của đối tượng.
var myCodeMirror = CodeMirror[document.body];
134Thêm tùy chọn
var myCodeMirror = CodeMirror[document.body];
135, có thể được sử dụng để hiển thị một hoặc nhiều thước dọc trong trình chỉnh sửa. Tùy chọn, nếu được xác định, sẽ được cung cấp một mảng gồm các đối tượng hoặc số
var myCodeMirror = CodeMirror[document.body];
136 [biểu thị một cột]. Thước sẽ được hiển thị tại cột được biểu thị bằng số hoặc thuộc tính
var myCodeMirror = CodeMirror[document.body];
137. Thuộc tính
var myCodeMirror = CodeMirror[document.body];
138 có thể được sử dụng để gán kiểu tùy chỉnh cho thước. trình diễn ở đây.
var myCodeMirror = CodeMirror[document.body];
139Xác định một phương thức
var myCodeMirror = CodeMirror[document.body];
140 cho các phiên bản CodeMirror, đặt nút DOM bên trên hoặc bên dưới trình chỉnh sửa và thu nhỏ trình chỉnh sửa để tạo chỗ cho nút. The method takes as first argument as DOM node, and as second an optional options object. Đối tượng
var myCodeMirror = CodeMirror[document.body];
141 được phương thức này trả về có phương thức
var myCodeMirror = CodeMirror[document.body];
13648 được sử dụng để xóa bảng điều khiển và phương thức
var myCodeMirror = CodeMirror[document.body];
143 có thể được sử dụng để thông báo cho addon khi kích thước của nút DOM của bảng điều khiển đã thay đổi.
Phương thức chấp nhận các tùy chọn sau.
var myCodeMirror = CodeMirror[document.body];
144Kiểm soát vị trí của bảng điều khiển mới được thêm vào. Các giá trị sau đây được công nhận.
var myCodeMirror = CodeMirror[document.body];
145Thêm bảng điều khiển ở trên cùng.
var myCodeMirror = CodeMirror[document.body];
146Thêm bảng ở dưới cùng của bảng trên cùng.
var myCodeMirror = CodeMirror[document.body];
147Thêm bảng điều khiển ở dưới cùng.
var myCodeMirror = CodeMirror[document.body];
148Thêm bảng điều khiển ở trên cùng của bảng điều khiển phía dưới.
var myCodeMirror = CodeMirror[document.body];
149Bảng điều khiển mới sẽ được thêm vào trước bảng điều khiển đã cho.
var myCodeMirror = CodeMirror[document.body];
150Bảng điều khiển mới sẽ được thêm vào sau bảng điều khiển đã cho.
var myCodeMirror = CodeMirror[document.body];
151Bảng điều khiển mới sẽ thay thế bảng điều khiển đã cho.
var myCodeMirror = CodeMirror[document.body];
152Có nên cuộn trình chỉnh sửa để giữ vị trí thẳng đứng của văn bản ổn định hay không khi thêm bảng điều khiển phía trên văn bản. Mặc định là sai. Khi sử dụng các tùy chọn
var myCodeMirror = CodeMirror[document.body];
153,
var myCodeMirror = CodeMirror[document.body];
154 hoặc
var myCodeMirror = CodeMirror[document.body];
155, nếu bảng điều khiển không tồn tại hoặc đã bị xóa, giá trị của tùy chọn
var myCodeMirror = CodeMirror[document.body];
156 sẽ được sử dụng làm phương án dự phòng.
Bản demo của addon có tại đây.
var myCodeMirror = CodeMirror[document.body];
157Addon thực hiện ngắt/ngắt dòng cứng cho đoạn văn bản. Thêm các phương thức này vào các phiên bản trình soạn thảo.
var myCodeMirror = CodeMirror[document.body];
158Bọc đoạn văn ở vị trí đã cho. Nếu không cung cấp
var myCodeMirror = CodeMirror[document.body];
454, nó sẽ mặc định ở vị trí con trỏ.
var myCodeMirror = CodeMirror[document.body];
160Bao bọc phạm vi đã cho thành một đoạn văn lớn.
var myCodeMirror = CodeMirror[document.body];
161Gói các đoạn văn trong [và trùng lặp với] phạm vi đã cho riêng lẻ. Các tùy chọn sau được công nhận.
var myCodeMirror = CodeMirror[document.body];
162Các dòng trống luôn được coi là ranh giới của đoạn văn. Các tùy chọn này có thể được sử dụng để chỉ định một mẫu khiến các dòng được coi là bắt đầu hoặc kết thúc đoạn văn.
var myCodeMirror = CodeMirror[document.body];
163Cột để bọc tại. Mặc định là 80.
var myCodeMirror = CodeMirror[document.body];
164Một biểu thức chính quy chỉ khớp với những chuỗi hai ký tự cho phép gói. Theo mặc định, addon kết thúc trên khoảng trắng và sau các ký tự gạch ngang.
var myCodeMirror = CodeMirror[document.body];
165Có nên giữ nguyên hoặc xóa khoảng trắng ở cuối do gói không. Mặc định là true.
var myCodeMirror = CodeMirror[document.body];
166Nếu được đặt thành true, lực ngắt tại
var myCodeMirror = CodeMirror[document.body];
137 trong trường hợp không tìm thấy mẫu
var myCodeMirror = CodeMirror[document.body];
168 nào trong phạm vi. Nếu đặt thành false cho phép dòng vượt quá giới hạn
var myCodeMirror = CodeMirror[document.body];
137 nếu không tìm thấy mẫu
var myCodeMirror = CodeMirror[document.body];
168. Mặc định là true. Bản demo của addon có sẵn tại đây.
var myCodeMirror = CodeMirror[document.body];
171Xác định tùy chọn `"scrollPastEnd"`, khi được đặt thành giá trị trung thực, cho phép người dùng cuộn một chiều cao của không gian trống của trình chỉnh sửa để xem ở cuối trình chỉnh sửa.
var myCodeMirror = CodeMirror[document.body];
172Triển khai giao diện để hợp nhất các thay đổi, sử dụng chế độ xem 2 chiều hoặc 3 chiều. Hàm tạo
var myCodeMirror = CodeMirror[document.body];
173 nhận các đối số tương tự như hàm tạo
var myCodeMirror = CodeMirror[document.body];
1, đầu tiên là nút để nối giao diện vào, sau đó là đối tượng tùy chọn. Các tùy chọn được chuyển đến người chỉnh sửa bên trong chế độ xem. Các tùy chọn bổ sung này được công nhận.
var myCodeMirror = CodeMirror[document.body];
175 và
var myCodeMirror = CodeMirror[document.body];
176Nếu được cung cấp các phiên bản gốc của tài liệu, sẽ được hiển thị ở bên trái và bên phải của trình chỉnh sửa trong các phiên bản CodeMirror không thể chỉnh sửa. Giao diện hợp nhất sẽ làm nổi bật các thay đổi giữa tài liệu có thể chỉnh sửa và [các] tài liệu gốc. Để tạo chế độ xem hợp nhất 2 chiều [trái ngược với 3 chiều], chỉ cung cấp một trong số chúng.
var myCodeMirror = CodeMirror[document.body];
177Xác định xem các nút cho phép người dùng hoàn nguyên các thay đổi có được hiển thị hay không. Mặc định là true.
var myCodeMirror = CodeMirror[document.body];
178Có thể được sử dụng để xác định hành vi tùy chỉnh khi người dùng hoàn nguyên một đoạn đã thay đổi.
var myCodeMirror = CodeMirror[document.body];
179Đặt kiểu được sử dụng để kết nối các đoạn mã đã thay đổi. Theo mặc định, các trình kết nối được vẽ. Khi điều này được đặt thành
var myCodeMirror = CodeMirror[document.body];
180, thay vào đó, đoạn nhỏ hơn sẽ được đệm để căn chỉnh với đoạn lớn hơn.
var myCodeMirror = CodeMirror[document.body];
181Khi đúng [mặc định là sai], các đoạn văn bản không thay đổi sẽ bị thu gọn. Khi một số được đưa ra, số này cho biết số lượng đường có thể nhìn thấy xung quanh các đoạn đó [mặc định là 2].
var myCodeMirror = CodeMirror[document.body];
182Xác định xem trình chỉnh sửa gốc có cho phép chỉnh sửa hay không. Mặc định là sai.
var myCodeMirror = CodeMirror[document.body];
183Khi đúng [mặc định], các đoạn văn bản đã thay đổi được đánh dấu.
var myCodeMirror = CodeMirror[document.body];
184Theo mặc định, các đoạn nổi bật được thêm vào bằng cách sử dụng
var myCodeMirror = CodeMirror[document.body];
400 với "nền". Ghi đè giá trị này để tùy chỉnh nó thành bất kỳ tham số `where` hợp lệ nào hoặc một Mảng gồm các tham số `where` hợp lệ. Addon cũng xác định các lệnh
var myCodeMirror = CodeMirror[document.body];
186 và
var myCodeMirror = CodeMirror[document.body];
187 để nhanh chóng chuyển sang đoạn thay đổi tiếp theo. trình diễn ở đây.
var myCodeMirror = CodeMirror[document.body];
188Cung cấp tích hợp với công cụ phân tích Tern JavaScript, để hoàn thành, tìm định nghĩa và trợ giúp tái cấu trúc nhỏ. Xem bản demo để tích hợp rất đơn giản. Để biết thêm các kịch bản liên quan, hãy xem các nhận xét ở đầu addon và triển khai trình diễn [nhiều tệp] trên trang web Tern.

Viết mãChế độ phản chiếu

Các chế độ thường bao gồm một tệp JavaScript duy nhất. Tệp này xác định, trong trường hợp đơn giản nhất, một từ vựng [bộ mã thông báo] cho ngôn ngữ của bạn—một hàm lấy luồng ký tự làm đầu vào, chuyển nó qua mã thông báo và trả về kiểu cho mã thông báo đó. Các chế độ nâng cao hơn cũng có thể xử lý thụt đầu dòng cho ngôn ngữ

Phần này mô tả giao diện chế độ cấp thấp. Nhiều chế độ được viết trực tiếp chống lại điều này, vì nó cung cấp nhiều quyền kiểm soát, nhưng để định nghĩa chế độ nhanh, bạn có thể muốn sử dụng tiện ích bổ trợ chế độ đơn giản

Tập lệnh chế độ sẽ gọi

var myCodeMirror = CodeMirror[document.body];
189 để tự đăng ký với CodeMirror. Hàm này nhận hai đối số. Đầu tiên phải là tên của chế độ, mà bạn nên sử dụng một chuỗi chữ thường, tốt nhất là một chuỗi cũng là tên của các tệp xác định chế độ [i. e.
var myCodeMirror = CodeMirror[document.body];
190 được định nghĩa trong
var myCodeMirror = CodeMirror[document.body];
191]. The second argument should be a function that, given a CodeMirror configuration object [the thing passed to the
var myCodeMirror = CodeMirror[document.body];
1 function] and an optional mode configuration object [as in the
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
84 option], returns a mode object

Typically, you should use this second argument to

var myCodeMirror = CodeMirror[document.body];
194 as your module scope function [modes should not leak anything into the global scope. ], i. e. viết toàn bộ chế độ của bạn bên trong chức năng này

Trách nhiệm chính của tập lệnh chế độ là phân tích nội dung của trình chỉnh sửa. Tùy thuộc vào ngôn ngữ và số lượng chức năng mong muốn, điều này có thể được thực hiện theo những cách thực sự dễ dàng hoặc cực kỳ phức tạp. Một số trình phân tích cú pháp có thể không có trạng thái, nghĩa là chúng xem xét một phần tử [mã thông báo] của mã tại một thời điểm mà không có ký ức về những gì xảy ra trước đó. Hầu hết, tuy nhiên, sẽ cần phải nhớ một cái gì đó. Điều này được thực hiện bằng cách sử dụng một đối tượng trạng thái, là đối tượng luôn được truyền khi đọc mã thông báo và có thể bị thay đổi bởi trình mã thông báo

Các chế độ sử dụng trạng thái phải xác định phương thức

var myCodeMirror = CodeMirror[document.body];
195 trên đối tượng chế độ của chúng. Đây là một chức năng không có đối số tạo ra một đối tượng trạng thái được sử dụng khi bắt đầu tài liệu

Phần quan trọng nhất của đối tượng chế độ là phương thức

var myCodeMirror = CodeMirror[document.body];
196 của nó. Tất cả các chế độ phải xác định phương pháp này. Nó sẽ đọc một mã thông báo từ luồng mà nó được cung cấp dưới dạng đối số, tùy ý cập nhật trạng thái của nó và trả về một chuỗi kiểu hoặc
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
0 đối với các mã thông báo không cần phải tạo kiểu. Đối với phong cách của bạn, bạn nên sử dụng tên 'tiêu chuẩn' được xác định trong chủ đề [không có tiền tố
var myCodeMirror = CodeMirror[document.body];
198]. Nếu không thành công, bạn cũng có thể tự nghĩ ra và viết tệp chủ đề CSS của riêng mình

Chuỗi mã thông báo điển hình sẽ là

var myCodeMirror = CodeMirror[document.body];
199 hoặc
var myCodeMirror = CodeMirror[document.body];
489. Có thể trả về nhiều kiểu [được phân tách bằng dấu cách], ví dụ:
var myCodeMirror = CodeMirror[document.body];
201 cho một thứ trông giống như một chuỗi nhưng không hợp lệ bằng cách nào đó [giả sử, thiếu dấu ngoặc kép của nó]. Khi một kiểu có tiền tố là
var myCodeMirror = CodeMirror[document.body];
202 hoặc
var myCodeMirror = CodeMirror[document.body];
203, thì kiểu đó sẽ được áp dụng cho toàn bộ dòng, tương tự như những gì phương thức
var myCodeMirror = CodeMirror[document.body];
400 thực hiện—tạo kiểu cho
var myCodeMirror = CodeMirror[document.body];
189 trong trường hợp đơn giản và phần tử
var myCodeMirror = CodeMirror[document.body];
190 khi có tiền tố là
var myCodeMirror = CodeMirror[document.body];
203

Đối tượng luồng được chuyển đến

var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
85 gói gọn một dòng mã [mã thông báo có thể không bao giờ trải dài trên các dòng] và vị trí hiện tại của chúng tôi trong dòng đó. Nó có API sau

var myCodeMirror = CodeMirror[document.body];
209Chỉ trả về true nếu luồng ở cuối dòng.
var myCodeMirror = CodeMirror[document.body];
210Chỉ trả về true nếu luồng ở đầu dòng.
var myCodeMirror = CodeMirror[document.body];
211Trả về ký tự tiếp theo trong luồng mà không tăng ký tự đó. Sẽ trả lại một
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
0 ở cuối dòng.
var myCodeMirror = CodeMirror[document.body];
213Trả về ký tự tiếp theo trong luồng và chuyển tiếp ký tự đó. Cũng trả về
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
0 khi không còn ký tự nào nữa.
var myCodeMirror = CodeMirror[document.body];
215
var myCodeMirror = CodeMirror[document.body];
13626 có thể là một ký tự, một biểu thức chính quy hoặc một hàm nhận một ký tự và trả về một giá trị boolean. Nếu ký tự tiếp theo trong luồng 'khớp' với đối số đã cho, nó sẽ được sử dụng và trả về. Mặt khác,
var myCodeMirror = CodeMirror[document.body];
165 được trả về.
var myCodeMirror = CodeMirror[document.body];
218 Gọi liên tục
var myCodeMirror = CodeMirror[document.body];
219 với đối số đã cho, cho đến khi không thành công. Trả về true nếu bất kỳ ký tự nào bị ăn.
var myCodeMirror = CodeMirror[document.body];
220Phím tắt cho
var myCodeMirror = CodeMirror[document.body];
221 khi khớp với khoảng trắng.
var myCodeMirror = CodeMirror[document.body];
222Di chuyển vị trí đến cuối dòng.
var myCodeMirror = CodeMirror[document.body];
223Bỏ qua để bắt đầu lần xuất hiện tiếp theo của chuỗi đã cho, nếu được tìm thấy trên dòng hiện tại [không chuyển tiếp luồng nếu chuỗi không xuất hiện trên dòng]. Trả về true nếu tìm thấy chuỗi.
var myCodeMirror = CodeMirror[document.body];
224
var myCodeMirror = CodeMirror[document.body];
225Hành động như một người có nhiều ký tự
var myCodeMirror = CodeMirror[document.body];
219—nếu
var myCodeMirror = CodeMirror[document.body];
227 là đúng hoặc không được cung cấp—hoặc xem trước không cập nhật vị trí phát trực tiếp—nếu là sai.
var myCodeMirror = CodeMirror[document.body];
228 có thể là một chuỗi hoặc một biểu thức chính quy bắt đầu bằng
var myCodeMirror = CodeMirror[document.body];
229. Khi nó là một chuỗi, thì có thể đặt
var myCodeMirror = CodeMirror[document.body];
230 thành true để khớp không phân biệt chữ hoa chữ thường. Khi khớp thành công một biểu thức chính quy, giá trị trả về sẽ là mảng được trả về bởi
var myCodeMirror = CodeMirror[document.body];
13626, trong trường hợp bạn cần trích xuất các nhóm đã khớp.
var myCodeMirror = CodeMirror[document.body];
232Sao lưu luồng
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
68 ký tự. Sao lưu nó xa hơn điểm bắt đầu của mã thông báo hiện tại sẽ khiến mọi thứ bị hỏng, vì vậy hãy cẩn thận.
var myCodeMirror = CodeMirror[document.body];
234Trả về cột [có tính đến các tab] tại đó mã thông báo hiện tại bắt đầu.
var myCodeMirror = CodeMirror[document.body];
235Cho bạn biết dòng hiện tại đã được thụt lề bao xa, trong khoảng trắng. Sửa các ký tự tab.
var myCodeMirror = CodeMirror[document.body];
236Nhận chuỗi giữa điểm bắt đầu của mã thông báo hiện tại và vị trí luồng hiện tại.
var myCodeMirror = CodeMirror[document.body];
237Lấy dòng
var myCodeMirror = CodeMirror[function[elt] {
  myTextArea.parentNode.replaceChild[elt, myTextArea];
}, {value: myTextArea.value}];
68 [>0] sau dòng hiện tại, để quét trước qua các ranh giới dòng. Lưu ý rằng bạn muốn làm điều này một cách cẩn thận, vì nhìn xa về phía trước sẽ làm cho bộ nhớ đệm trạng thái chế độ kém hiệu quả hơn nhiều.
var myCodeMirror = CodeMirror[document.body];
239Chế độ được thêm thông qua
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
92 [và chỉ những chế độ như vậy] mới có thể sử dụng phương pháp này để kiểm tra mã thông báo hiện tại do chế độ cơ bản tạo ra

Theo mặc định, các dòng trống chỉ bị bỏ qua khi mã hóa tài liệu. Đối với các ngôn ngữ có các dòng trống quan trọng, bạn có thể xác định một phương thức

var myCodeMirror = CodeMirror[document.body];
241 trên chế độ của mình. Phương thức này sẽ được gọi bất cứ khi nào một dòng trống được chuyển qua, để phương thức này có thể cập nhật trạng thái trình phân tích cú pháp

Bởi vì đối tượng trạng thái bị thay đổi và CodeMirror cần giữ các phiên bản hợp lệ của trạng thái xung quanh để có thể khởi động lại phân tích cú pháp ở bất kỳ dòng nào, các bản sao phải được tạo từ đối tượng trạng thái. The default algorithm used is that a new state object is created, which gets all the properties of the old object. Any properties which hold arrays get a copy of these arrays [since arrays tend to be used as mutable stacks]. When this is not correct, for example because a mode mutates non-array properties of its state object, a mode object should define a

var myCodeMirror = CodeMirror[document.body];
242 method, which is given a state and should return a safe copy of that state

If you want your mode to provide smart indentation [through the

var myCodeMirror = CodeMirror[document.body];
243 method and the
var myCodeMirror = CodeMirror[document.body];
244 and
var myCodeMirror = CodeMirror[document.body];
245 commands, to which keys can be bound], you must define an
var myCodeMirror = CodeMirror[document.body];
246 method on your mode object

The indentation method should inspect the given state object, and optionally the

var myCodeMirror = CodeMirror[document.body];
247 string, which contains the text on the line that is being indented, and return an integer, the amount of spaces to indent. It should usually take the
var myCodeMirror = CodeMirror[document.body];
248 option into account. An indentation method may return
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
48 to indicate that it could not come up with a precise indentation

To work well with the commenting addon, a mode may define

var myCodeMirror = CodeMirror[document.body];
250 [string that starts a line comment],
var myCodeMirror = CodeMirror[document.body];
251,
var myCodeMirror = CodeMirror[document.body];
252 [strings that start and end block comments], and
var myCodeMirror = CodeMirror[document.body];
253 [a string to put at the start of continued lines in a block comment]. All of these are optional

Finally, a mode may define either an

var myCodeMirror = CodeMirror[document.body];
254 or an
var myCodeMirror = CodeMirror[document.body];
255 property, which are used to automatically reindent the line when certain patterns are typed and the
var myCodeMirror = CodeMirror[document.body];
254 option is enabled.
var myCodeMirror = CodeMirror[document.body];
254 may be a string, and will trigger a reindent whenever one of the characters in that string are typed. Often, it is more appropriate to use
var myCodeMirror = CodeMirror[document.body];
255, which should hold a regular expression, and will trigger indentation when the part of the line before the cursor matches the expression. It should usually end with a
var myCodeMirror = CodeMirror[document.body];
259 character, so that it only matches when the indentation-changing pattern was just typed, not when something was typed after the pattern

So, to summarize, a mode must provide a

var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
85 method, and it may provide
var myCodeMirror = CodeMirror[document.body];
261,
var myCodeMirror = CodeMirror[document.body];
262, and
var myCodeMirror = CodeMirror[document.body];
263 methods. For an example of a trivial mode, see the diff mode, for a more involved example, see the C-like mode

Sometimes, it is useful for modes to nest—to have one mode delegate work to another mode. An example of this kind of mode is the mixed-mode HTML mode. To implement such nesting, it is usually necessary to create mode objects and copy states yourself. To create a mode object, there are

var myCodeMirror = CodeMirror[document.body];
264, where the first argument is a configuration object as passed to the mode constructor function, and the second argument is a mode specification as in the
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
84 option. To copy a state object, call
var myCodeMirror = CodeMirror[document.body];
266, where
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
84 is the mode that created the given state

In a nested mode, it is recommended to add an extra method,

var myCodeMirror = CodeMirror[document.body];
268 which, given a state object, returns a
var myCodeMirror = CodeMirror[document.body];
269 object with the inner mode and its state for the current position. These are used by utility scripts such as the tag closer to get context information. Use the
var myCodeMirror = CodeMirror[document.body];
270 helper function to, starting from a mode and a state, recursively walk down to the innermost mode and state

To make indentation work properly in a nested parser, it is advisable to give the

var myCodeMirror = CodeMirror[document.body];
261 method of modes that are intended to be nested an optional argument that provides the base indentation for the block of code. The JavaScript and CSS parser do this, for example, to allow JavaScript and CSS code inside the mixed-mode HTML mode to be properly indented

It is possible, and encouraged, to associate your mode, or a certain configuration of your mode, with a MIME type. For example, the JavaScript mode associates itself with

var myCodeMirror = CodeMirror[document.body];
272, and its JSON variant with
var myCodeMirror = CodeMirror[document.body];
273. To do this, call
var myCodeMirror = CodeMirror[document.body];
274, where
var myCodeMirror = CodeMirror[document.body];
275 can be a string or object specifying a mode, as in the
var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
84 option

If a mode specification wants to add some properties to the resulting mode object, typically for use with

var myCodeMirror = CodeMirror.fromTextArea[myTextArea];
710, it may contain a
var myCodeMirror = CodeMirror[document.body];
278 property, which holds an object. This object's properties will be copied to the actual mode object

Sometimes, it is useful to add or override mode object properties from external code. Hàm

var myCodeMirror = CodeMirror[document.body];
279 có thể được sử dụng để thêm các thuộc tính cho các đối tượng chế độ được tạo cho một chế độ cụ thể. Its first argument is the name of the mode, its second an object that specifies the properties that should be added. This is mostly useful to add utilities that can later be looked up through
var myCodeMirror = CodeMirror[document.body];
480

VIM Mode API

CodeMirror có chế độ VIM mạnh mẽ cố gắng mô phỏng trung thực các tính năng hữu ích nhất của VIM. It can be enabled by including

var myCodeMirror = CodeMirror[document.body];
281 and setting the
var myCodeMirror = CodeMirror[document.body];
19 option to
var myCodeMirror = CodeMirror[document.body];
283

Cấu hình

VIM mode accepts configuration options for customizing behavior at run time. Các phương thức này có thể được gọi bất cứ lúc nào và sẽ ảnh hưởng đến tất cả các phiên bản CodeMirror hiện có trừ khi có quy định khác. The methods are exposed on the

var myCodeMirror = CodeMirror[document.body];
284 object

var myCodeMirror = CodeMirror[document.body];
285Sets the value of a VIM option.
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
5 should be the name of an option. If
var myCodeMirror = CodeMirror[document.body];
287 is not set and
var myCodeMirror = CodeMirror[document.body];
288 is provided, then sets the global and instance values of the option. Otherwise, sets either the global or instance value of the option depending on whether
var myCodeMirror = CodeMirror[document.body];
287 is
var myCodeMirror = CodeMirror[document.body];
290 or
var myCodeMirror = CodeMirror[document.body];
291.
var myCodeMirror = CodeMirror[document.body];
292Gets the current value of a VIM option. If
var myCodeMirror = CodeMirror[document.body];
287 is not set and
var myCodeMirror = CodeMirror[document.body];
288 is provided, then gets the instance value of the option, falling back to the global value if not set. If
var myCodeMirror = CodeMirror[document.body];
287 is provided, then gets the
var myCodeMirror = CodeMirror[document.body];
290 or
var myCodeMirror = CodeMirror[document.body];
291 value without checking the other.
var myCodeMirror = CodeMirror[document.body];
298Maps a key sequence to another key sequence. Implements VIM's
var myCodeMirror = CodeMirror[document.body];
299 command. To map ; to . in VIM would be
var myCodeMirror = CodeMirror[document.body];
300. That would translate to
var myCodeMirror = CodeMirror[document.body];
301. The
var myCodeMirror = CodeMirror[document.body];
302 can be
var myCodeMirror = CodeMirror[document.body];
303,
var myCodeMirror = CodeMirror[document.body];
304, or
var myCodeMirror = CodeMirror[document.body];
305, which correspond to
var myCodeMirror = CodeMirror[document.body];
306,
var myCodeMirror = CodeMirror[document.body];
307, and
var myCodeMirror = CodeMirror[document.body];
308 respectively.
var myCodeMirror = CodeMirror[document.body];
309Maps a key sequence to a
var myCodeMirror = CodeMirror[document.body, {
  value: "function myScript[]{return 100;}\n",
  mode:  "javascript"
}];
50,
var myCodeMirror = CodeMirror[document.body];
311, or
var myCodeMirror = CodeMirror[document.body];
312 type command. The args object is passed through to the command when it is invoked by the provided key sequence.
var myCodeMirror = CodeMirror[document.body];
313 can be
var myCodeMirror = CodeMirror[document.body];
303,
var myCodeMirror = CodeMirror[document.body];
304, or
var myCodeMirror = CodeMirror[document.body];
305, to map the key sequence only in the corresponding mode.
var myCodeMirror = CodeMirror[document.body];
317 is applicable only to actions, determining whether it is recorded for replay for the
var myCodeMirror = CodeMirror[document.body];
318 single-repeat command.
var myCodeMirror = CodeMirror[document.body];
319Remove the command
var myCodeMirror = CodeMirror[document.body];
320 if it is a user defined command. If the command is an Ex to Ex or Ex to key mapping then the context must be
var myCodeMirror = CodeMirror[document.body];
165 or
var myCodeMirror = CodeMirror[document.body];
12.
var myCodeMirror = CodeMirror[document.body];
323Remove all user-defined mappings for the provided context.
var myCodeMirror = CodeMirror[document.body];
324Non-recursive map function. This will not create mappings to key maps that aren't present in the default key map. If no context is provided then the mapping will be applied to each of normal, insert, and visual mode

Sự kiện

VIM mode signals a few events on the editor instance. For an example usage, see demo/vim. html#L101

var myCodeMirror = CodeMirror[document.body];
325Fired on keypress and mousedown where command has completed or no command found.
var myCodeMirror = CodeMirror[document.body];
326Fired on keypress,
var myCodeMirror = CodeMirror[document.body];
327 is in Vim's key notation.
var myCodeMirror = CodeMirror[document.body];
328Fired after mode change,
var myCodeMirror = CodeMirror[document.body];
329 parameter is a
var myCodeMirror = CodeMirror[document.body];
330 object. Modes.
var myCodeMirror = CodeMirror[document.body];
331. Chế độ phụ trực quan.
var myCodeMirror = CodeMirror[document.body];
332

mở rộng VIM

Chế độ VIM của CodeMirror triển khai một tập hợp con lớn chức năng chỉnh sửa cốt lõi của VIM. Nhưng vì luôn có nhiều thứ được mong muốn hơn, nên có một bộ API để mở rộng chức năng của VIM. Như với API cấu hình, các phương thức được hiển thị trên

var myCodeMirror = CodeMirror[document.body];
284 và có thể được gọi bất kỳ lúc nào

Chủ Đề