আইডিও থেকে হেলমে যাওয়ার সময় আমার কর্মপ্রবাহ কীভাবে পরিবর্তন করা উচিত


44

ইমাক্স নবাগত হিসাবে আমি আইডিও খুঁজে পেয়েছি এবং এটি পছন্দ করেছি যেহেতু এটি ফাইলগুলি এত দ্রুত অনুসন্ধান করা। এই সাইটে কিছু সময় ব্যয় করার পরে, আমি হেলম সম্পর্কে আরও বেশি করে পড়েছি এবং আমি স্যুইচটি তৈরির পরিকল্পনা করছি। আমার কয়েকটি প্রশ্ন হ'ল:

  1. সবচেয়ে বড় পার্থক্য কি?
  2. বিশেষত, ফাইলগুলি খুঁজে বের করার সময়, বাফারগুলি স্যুইচ করার সময় বা নতুন কমান্ডগুলি কল করার সময় আমার কর্মপ্রবাহের কীভাবে পরিবর্তন হওয়া উচিত?

আমি এই পোস্টটি হেলম সেট আপ করতে ব্যবহার করেছি , তবে আমার ফাইল অনুসন্ধানগুলি ( C-x C-f) এবং বাফার সুইচগুলি ( C-x b) তারা আগের মতো দেখতে দেখতে অনেকটা একই দেখাচ্ছে।

এখানে আমার কনফিগারেশন:

(require 'helm)
(require 'helm-config)

;; The default "C-x c" is quite close to "C-x C-c", which quits Emacs.
;; Changed to "C-c h". Note: We must set "C-c h" globally, because we
;; cannot change `helm-command-prefix-key' once `helm-config' is loaded.
(global-set-key (kbd "C-c h") 'helm-command-prefix)
(global-unset-key (kbd "C-x c"))

(define-key helm-map (kbd "<tab>") 'helm-execute-persistent-action) ; rebihnd tab to do persistent action
(define-key helm-map (kbd "C-i") 'helm-execute-persistent-action) ; make TAB works in terminal
(define-key helm-map (kbd "C-z")  'helm-select-action) ; list actions using C-z

(when (executable-find "curl")
  (setq helm-google-suggest-use-curl-p t))

(setq helm-quick-update                     t ; do not display invisible candidates
      helm-split-window-in-side-p           t ; open helm buffer inside current window, not occupy whole other window
      helm-buffers-fuzzy-matching           t ; fuzzy matching buffer names when non--nil
      helm-move-to-line-cycle-in-source     t ; move to end or beginning of source when reaching top or bottom of source.
      helm-ff-search-library-in-sexp        t ; search for library in `require' and `declare-function' sexp.
      helm-scroll-amount                    8 ; scroll 8 lines other window using M-<next>/M-<prior>
      helm-ff-file-name-history-use-recentf t)

(helm-mode 1)

1
আপনি ইতিমধ্যে উপলব্ধি হিসাবে, আপনি স্টক Emacs কমান্ড প্রতিস্থাপন করতে হেলম নির্দিষ্ট কমান্ড আবদ্ধ করতে ভুলে গেছেন। আপনি যদি প্রতিটি নির্দিষ্ট হেলম কমান্ডের গাইডগুলি পড়তে থাকেন তবে আপনি দেখতে পাবেন যে আমি প্রতিটি বিভাগে কী বাইন্ডিংগুলি (সম্ভব হলে) এবং সেটআপ রেখেছি। তবুও, হেলম উপভোগ করুন :)
আপনি

উত্তর:


29

আপডেট করা (হেলম পরিবর্তন, ব্যক্তিগত কনফিগারেশনের পরিবর্তনসমূহ এবং টু ডু মন্তব্য)।

আমি কয়েক বছর আগে আইডিও থেকে হেলমে স্যুইচ করেছি এবং আমি আর পিছনে ফিরে তাকাতে পারি নি।

  • উদাহরণস্বরূপ আইডো-উল্লম্ব-মোড বলার চেয়ে আমি উপস্থাপনাটি ক্লিনার পেয়েছি।
  • যদিও হেলমের সাথে ফ্লেক্স ম্যাচিং নেই।
  • আপনার দুর্গন্ধ ইত্যাদির দরকার নেই ইত্যাদি হেলম এটি করে।
  • টু ডু নিবন্ধটি ভাল কারণ এটি হেলম কী করতে পারে তার কয়েকটি দুর্দান্ত অ্যানিমেটেড স্ক্রিনশট সরবরাহ করে।

আমি হেলম প্রজেটাইল, হেলম স্যুপ, হেলম সিনমেটিক, হেলম এজি এবং কিছু হেলম ইন্টারেক্টিভ কমান্ড ব্যবহার করি। আপনার আগ্রহী হেলম সম্পর্কিত প্যাকেজগুলির জন্য মেলপা পৃষ্ঠাটি চেকআউট করুন ।

আমার হেলম সম্পর্কিত কিছু সেটআপ এখানে দেওয়া হয়েছে:

(setq helm-ff-transformer-show-only-basename nil
      helm-adaptive-history-file             "~/.emacs.d/data/helm-history"
      helm-yank-symbol-first                 t
      helm-move-to-line-cycle-in-source      t
      helm-buffers-fuzzy-matching            t
      helm-ff-auto-update-initial-value      t)

(autoload 'helm-descbinds      "helm-descbinds" t)
(autoload 'helm-eshell-history "helm-eshell"    t)
(autoload 'helm-esh-pcomplete  "helm-eshell"    t)

(global-set-key (kbd "C-h a")    #'helm-apropos)
(global-set-key (kbd "C-h i")    #'helm-info-emacs)
(global-set-key (kbd "C-h b")    #'helm-descbinds)

(add-hook 'eshell-mode-hook
          #'(lambda ()
              (define-key eshell-mode-map (kbd "TAB")     #'helm-esh-pcomplete)
              (define-key eshell-mode-map (kbd "C-c C-l") #'helm-eshell-history)))

(global-set-key (kbd "C-x b")   #'helm-mini)
(global-set-key (kbd "C-x C-b") #'helm-buffers-list)
(global-set-key (kbd "C-x C-m") #'helm-M-x)
(global-set-key (kbd "C-x C-f") #'helm-find-files)
(global-set-key (kbd "C-x C-r") #'helm-recentf)
(global-set-key (kbd "C-x r l") #'helm-filtered-bookmarks)
(global-set-key (kbd "M-y")     #'helm-show-kill-ring)
(global-set-key (kbd "M-s o")   #'helm-swoop)
(global-set-key (kbd "M-s /")   #'helm-multi-swoop)

(require 'helm-config)
(helm-mode t)
(helm-adaptative-mode t)

(global-set-key (kbd "C-x c!")   #'helm-calcul-expression)
(global-set-key (kbd "C-x c:")   #'helm-eval-expression-with-eldoc)
(define-key helm-map (kbd "M-o") #'helm-previous-source)

(global-set-key (kbd "M-s s")   #'helm-ag)

(require 'helm-projectile)
(setq helm-projectile-sources-list (cons 'helm-source-projectile-files-list
                                         (remove 'helm-source-projectile-files-list 
                                              helm-projectile-sources-list)))
(helm-projectile-on)

(define-key projectile-mode-map (kbd "C-c p /")
  #'(lambda ()
      (interactive)
      (helm-ag (projectile-project-root))))

(define-key org-mode-map (kbd "C-x c o h") #'helm-org-headlines)

@ রায়ান লক্ষ্য করুন যে ডিফল্টটিতে helm-boring-file-regexp-listএখানে উপস্থাপন করা থেকে অনেক বেশি রয়েছে। আপনি যদি রিমিরোর সেটআপ ব্যবহার করেন তবে এই পয়েন্টটি লক্ষ্য করুন। সম্ভবত এটিই তার পছন্দ। helm-input-idle-delayএবং helm-idle-delay default0.01 মাস আগে ছিল, দ্রুততম সম্ভব প্রতিক্রিয়া করতে। সব মিলিয়ে সেটআপ ঠিক আছে।
আপনি

আপনার সারিবদ্ধতা সত্যিই দুর্দান্ত! আপনি কিভাবে সেট আপ করবেন?
fommil

ধন্যবাদ @ ফমিল, আমি প্যারামিটার এবং মাঝে মাঝে '#' দিয়ে 'অ্যালাইন-রেজিপ্সপ' ব্যবহার করি multiple-cursors
রিমেরো

আপনার উত্তর খুব সুন্দর। তবে আমার কাছে একটি প্রশ্ন আছে - প্রজেক্টাইল + ইডো ব্যবহার করে এবং projectile-find-fileপর্দার নীচে কেবল একটি লাইন পপ করব, হেল্ম + প্রজেক্টাইল তবে পুরো পপআপ হবে। এই আচরণ পরিবর্তন করার কোন বিকল্প আছে কি?
ভেন

@ ভেন, আইডো কমপ্লিটগুলি উল্লম্বভাবে ইমেক্সস্কি.আর.কম / ইমেসস / ইন্টারেক্টিভলিডোটিহিংস # toc24 , github.com/creichert/ido-versical-mode.el , github.com/larkery/ido-grid-mode হিসাবে প্রদর্শন করার জন্য বেশ কয়েকটি বিকল্প রয়েছে .el
রিমেরো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.