2017-09-17 2 views
1

私はelispプログラミングには本当に新しく、ハイライトされた領域の非ASCII文字をすべて削除するEmacs elisp関数を書こうとしています。ここで非ASCII文字を見つける方法のサンプルelisp関数を見つけました:https://www.emacswiki.org/emacs/FindingNonAsciiCharacters。私はそれを自分で修正しようとしましたが、動作させることができませんでした。誰かがGNU Emacsでハイライト領域では、すべての非ASCII文字を削除するには、以下のelispの関数を変更する方法私を見ることができます。emacsで非アスキー文字を削除する方法

(defun find-first-non-ascii-char() 
    "Find the first non-ascii character from point onwards." 
    (interactive) 
    (let (point) 
    (save-excursion 
     (setq point 
      (catch 'non-ascii 
       (while (not (eobp)) 
       (or (eq (char-charset (following-char)) 
         'ascii) 
        (throw 'non-ascii (point))) 
       (forward-char 1))))) 
    (if point 
     (goto-char point) 
     (message "No non-ascii characters.")))) 

答えて

3

私はこの記事への答えを変更することで答えを見つけたと思う:how to collapse whitespaces in a region?

これは私が思いついたものです:

(defun del-binary_characters (beg end) 
    "Delete binary characters in a region" 
    (interactive "r") 
    (save-excursion 
    (save-restriction 
     (narrow-to-region beg end) 
     (goto-char (point-min)) 
     (while (re-search-forward "[^[:ascii:]]" nil t) 
     (replace-match ""))))) 
関連する問題