2012-09-28 37 views
7

là có bất kỳ tiện ích bổ sung nào của Emacs cho phép tôi chỉnh sửa hoặc nhập dữ liệu trong tệp yaml một cách dễ dàng.Emacs Yaml Chỉnh sửa

Ví dụ:

 
--- sample yaml file --- 
Name : 
Addr : 
City : 
State: 
Zip : 

Phone: 
Email 
--- End ---- 

Khi các tập tin được mở trong Emacs, con trỏ sẽ tự động đặt ở phím YAML đầu tiên. Trong trường hợp này "Tên:", khi tôi hoàn thành việc nhập tên sau "Tên:" và nhấn trở lại, nó sẽ tự động chuyển sang phím tiếp theo. trong trường hợp này "Addr:"

tab chuyển tiếp/lùi có thể được sử dụng để di chuyển qua lại giữa các phím.

Có điều gì ngoài đó không?

Cảm ơn!

Trả lời

1

Bạn có thể xác định macro tùy chỉnh thực hiện những gì bạn muốn.

Nó có thể một cái gì đó như thế này:

;; define named macro 
(fset 'jump-next-colon 
    [?\C-f ?\C-s ?: ?\C- ? ]) 
;; assign shortcut ctrl+alt+j 
(global-set-key (kbd "C-M-j") 'jump-next-colon) 

Nếu đây không phải là chính xác những gì bạn đang tìm kiếm bạn có thể viết vĩ mô của riêng bạn. Xem http://emacswiki.org/emacs/KeyboardMacros

+0

Tôi chắp tất cả này lại với nhau: –

0

jump-char có thể hữu ích. Nó cho phép bạn nhảy đến lần xuất hiện tiếp theo/trước đó của một nhân vật một cách nhanh chóng.

3

tôi thu thập các bit và miếng từ mạng và nhận điều này:

(defun yaml-next-field() 
    "Jump to next yaml field" 
    (interactive) 
    (search-forward-regexp ": *")) 
(defun yaml-prev-field() 
    "Jump to next yaml field" 
    (interactive) 
    (search-backward-regexp ": *")) 
(add-hook 'yaml-mode-hook 
      '(lambda() 
      (define-key yaml-mode-map "\C-m" 'newline-and-indent) 
      (define-key yaml-mode-map "\M-\r" 'insert-ts) 
      (define-key yaml-mode-map (kbd "C-<tab>") 'yaml-next-field) 
      (define-key yaml-mode-map (kbd "C-S-<tab>") 'yaml-prev-field) 
      )) 
Các vấn đề liên quan