zoukankan      html  css  js  c++  java
  • emacs quick open and jump file (or buffer) which name is current word

    Sometime, we need to open a file or buffer which name begin with current word in emacs.

    Here I give the solution as follows.

    ;; -----------------------------------------------------------------------------
    ;; quick-file-jump.el
    ;; Why this module?
    ;;     Sometimes, we need to open a file or buffer which name 
    ;;            began with current word in emacs.
    ;;     Here is the solution.
    ;;
    ;; Install.
    ;;   put this file (quick-file-jump.el) in your load path and
    ;;   add follow codes into your initial emacs files (.emacs or init.el)
    ;;   (require 'quick-file-jump)
    ;;   (global-set-key (kbd "<M-return>") 'ab/quick-buffer-jump)
    ;;
    ;; Author:
    ;;   Aborn Jiang (aborn.jiang@foxmail.com)
    ;;   2014-05-13
    ;; -----------------------------------------------------------------------------
    
    (provide 'quick-file-jump)
    (defun ab/quick-buffer-jump ()
      "Quickly jump to buffer/file which name is current word"
      (interactive)
      (setq fname (current-word))
      (setq blist (buffer-list))
      (setq status nil)
      (setq switchedbuffer "nil")
      (dolist (value blist)
        (when (and (bufferp value)
                   (buffer-file-name value)
                   (not status)
                   (string-match (concat "^" (regexp-quote fname))
                                 (buffer-name value)))
          (progn (switch-to-buffer (buffer-name value))
                 (setq status t)
                 (setq switchedbuffer (buffer-name value)))
          ))
      (if status                     ;; success search in buffer list.
          (message "skip to %s buffer" switchedbuffer)
        (ab/quick-file-jump)))       ;; find files in current path.
    
    (defun ab/quick-file-jump ()
      "Quickly open and jump file with name begin with current word"
      (interactive)
      (setq fname (current-word))
      (setq switchedfile "nil")
      (setq dflist (directory-files (ab/get-current-path)))
      (dolist (value dflist)
        (when (and (file-regular-p value)
                   (string-match 
                    (concat "^" (regexp-quote fname)) value))
          (find-file value)
          (setq switchedfile value)
          (setq status t)))
      (if status                     ;; success search in file list
          (message "open and skip to %s file." switchedfile)
        (message "not find file name begin %s" fname)))
    
    (defun ab/get-current-path ()
      "Get the current path"
      (interactive)
      (message (file-name-directory (buffer-file-name))))
    
    ;; default global key setting
    (global-set-key (kbd "<M-return>") 'ab/quick-buffer-jump)
    



    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    通过keras例子理解LSTM 循环神经网络(RNN)
    [机器学习]集成学习--bagging、boosting、stacking
    [机器学习]梯度提升决策树--GBDT
    [机器学习]回归--Decision Tree Regression
    [机器学习]回归--Support Vector Regression(SVR)
    [机器学习]回归--Polinomial Regression 多项式回归
    [机器学习]回归--(Simple LR and Multiple LR)
    [深度学习] 权重初始化--Weight Initialization
    深度学习实践经验汇总
    Deeplearning.ai课程笔记--汇总
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4820984.html
Copyright © 2011-2022 走看看