برای خیلیها زمانهایی پیش اومده که به محیط گرافیکی دسترسی نداشتن، مثلا از راه دور به سرور روصل شده باشید، و بخواید یک کد یا فایلهای تنظیمات و... رو تغییر بدید، برای خیلیهامون که اینروزها به ابزار گرافیکی و IDEهای به اصطلاح مدرن امروزی عادت کردیم، این ویرایش فایل یکی از سختترین کارهای دنیاست، محیطهای متفاوت با کلیدها و میانبرهای متفاوت از چیزی که بهش عادت کردیم.
توی این ویدیو سعی داریم emacs رو برای استفاده توی ترمینال آماده کنیم با این هدف که ظاهر، میانبرها، کلیدها و ابزاری که ازشون استفاده میکنیم، خیلی شبیه بشه به عادتهای روزانهای که ابزارهای گرافیکی برامون درست کردن. برای مثال کلید کپی همون کنترل+سی معروف باشه و...
لینک پلی لیست ویدیوها در یوتیوب
برای شروع یک فایل با نام .emacs
رو توی دایرکتوری home خودمون درست میکنیم . و این چند خط رو بهش اضافه میکنیم
(setq cua-auto-tabify-rectangles nil) ;; Don't tabify after rectangle commands
(transient-mark-mode 1) ;; No region when it is not highlighted
(setq cua-keep-region-after-copy t) ;; Standard Windows behaviour
(cua-mode t)
با کلیدهای ctrl+x ctrl+c
ایمکس رو میبندیم و دوباره اجرا میکنیم، از این به بعد کلیدهای کپی و پیست و کات و آندو و... همه به شکلی که میشناسیم کار میکنن، یعنی با ctrl+c - ctrl+v , ctrl+z و...
برای نمایش شماره هر خط، در ابتدا، این خطوط رو به .emacs
اضافه میکنیم:
(global-linum-mode t)
(setq linum-format "%4d \u2502 ")
و بعد چندتا پکیج رو نیاز داریم که نصب کنیم که برای این هم این چند خط رو به به فایل .emacs
اضافه مکینم
(require 'package)
(let* ((no-ssl (and (memq system-type '(windows-nt ms-dos))
(not (gnutls-available-p))))
(proto (if no-ssl "http" "https")))
;; Comment/uncomment these two lines to enable/disable MELPA and MELPA Stable as desired
(add-to-list 'package-archives (cons "melpa" (concat proto "://melpa.org/packages/")) t)
;;(add-to-list 'package-archives (cons "melpa-stable" (concat proto "://stable.melpa.org/packages/")) t)
(when (< emacs-major-version 24)
;; For important compatibility libraries like cl-lib
(add-to-list 'package-archives '("gnu" . (concat proto "://elpa.gnu.org/packages/")))))
(package-initialize)
فایل رو ذخیره میکنیم و ایمکس رو میبندیم و دوباره راه اندازی میکنیم و با این دستورها این ۳ پکیج رو نصب میکنیم
package-install (enter)
tabbar (enter)
package-install (enter)
neotree (enter)
package-install (enter)
sublime-theme (enter)
و این چند خط رو به فایل .emacs
اضافه میکنیم
(defun my-tabbar-buffer-groups () ;; customize to show all normal files in one group
(list (cond ((string-equal "*" (substring (buffer-name) 0 1)) "emacs")
((eq major-mode 'dired-mode) "emacs")
(t "user"))))
(setq tabbar-buffer-groups-function 'my-tabbar-buffer-groups)
(tabbar-mode 1)
;;;;
(require 'neotree)
(global-set-key [f5] 'neotree-toggle)
;;need tabbar for active forward / backward
(global-set-key [f6] 'tabbar-backward-tab)
(global-set-key [f7] 'tabbar-forward-tab)
(global-set-key [f8] 'kill-buffer)
(global-set-key [f9] 'kill-buffer-and-window)
;;;
(load-theme 'hickey t) ;; from sublime-theme package
ایمکس رو میبندیم و مجددا باز میکنیم. تقریبا تمام شد، برای اینکه تنظیمات بیشتری رو هم داشته باشیم این فایل رو میتونید یه نگاه بندازید
https://github.com/kiamazi/kiavash.one/blob/master/content/blog/2018-08-15-sample-emacs.md
میتوانید آنرا ویرایش کنید. البته باید یادآوری کنم که هر ویرایشی قبل از اتشار نیاز به تایید دارد.
این وبلاگ از disqus برای سیستم نظردهی استفاده میکند، اگر فرم نظردادن را نمیبینید احتمالا کسی به جای شما تشخیص داده که این سرویس مناسبتان نیست و آن را از دسترس شما خارج کرده، برای نظردادن در این شرایط از ابزار رفع فیلتر استفاده کنید