আমি কীভাবে উইন্ডোজগুলির মধ্যে দ্রুত পরিবর্তন করতে পারি?
আমার প্রায়শই একাধিক উইন্ডো খোলা থাকে এবং তাদের মধ্যে স্যুইচ করা দরকার। এই মুহুর্তে, আমি যা চাই তার C-x o
কাছে যেতে ব্যবহার করি। এর জন্য আরও কার্যকর ওয়ার্কফ্লো পাওয়া যায়?
আমি কীভাবে উইন্ডোজগুলির মধ্যে দ্রুত পরিবর্তন করতে পারি?
আমার প্রায়শই একাধিক উইন্ডো খোলা থাকে এবং তাদের মধ্যে স্যুইচ করা দরকার। এই মুহুর্তে, আমি যা চাই তার C-x o
কাছে যেতে ব্যবহার করি। এর জন্য আরও কার্যকর ওয়ার্কফ্লো পাওয়া যায়?
উত্তর:
আমি অবশ্যই এটির জন্য এস-উইন্ডো পছন্দ করি । আপনি দৃশ্যমান উইন্ডো এবং ফ্রেমগুলির মধ্যে স্যুইচ করতে পারেন। এটি মেলপাতে রয়েছে, আপনি এটি দ্রুত ইনস্টল করতে পারেন। বাঁধাই কেবল একটাই কাজ:
(global-set-key (kbd "C-x o") 'ace-window)
অথবা উইন্ডো স্যুইচ করা একটি সাধারণ কাজ হওয়ায় সম্ভবত একটি সংক্ষিপ্ত কী জট ব্যবহার করুন:
(global-set-key (kbd "M-p") 'ace-window)
ace-window
এটি একটি ড্রপ-ইন প্রতিস্থাপন other-window
। পরেরটির মতো নয়, ace-window
উইন্ডো নির্বাচন করতে আপনাকে কখনই দুটি বা ততোধিক বার কল করতে হবে না : আপনি একটি কলটিতে চান এমন একটি উইন্ডো নির্বাচন করেছেন (সম্ভবত একাধিক ফ্রেম জুড়ে)।
উইন্ডোজ স্যুইচ করা ছাড়াও, ace-window
আরও কিছু করতে পারেন (উইন্ডো মুছুন বা স্যুইপ করুন ইত্যাদি), পুনরায় দেখুন ।
ace-window
এবং তারপরে দেখেছি switch-window
যা অক্ষরগুলি আরও বেশি উচ্চারণ করা বাদে মোটামুটি একই জিনিসটি মনে করে। মজার মনে হয় আমাদের উভয় প্যাকেজ আছে।
switch-window
জমা না দেওয়া পর্যন্ত আমি সচেতন ছিলাম না ace-window
।
ace-window
, এটি অনুমান করা অন্যান্য প্যাকেজগুলির চেয়ে বেশি কাস্টমাইজেশন রয়েছে। ভবিষ্যতে এখনও কেউ সাহায্য করতে পারে এটি একটি ফাংশনটির সাথে একটি মূল বাঁধাই যা স্মার্ট অদলবদলের মতো একই পদ্ধতিতে হয় তবে সেই উইন্ডোটি খায় যার ফলে বিন্দুতে আরও বড় উইন্ডো থাকে এবং একটি ছোট আকারের বাছাই করা উইন্ডো থাকে (খাওয়া হয়) উইন্ডো আপ)। এই ক্ষেত্রে অনুপাতটি নির্ধারিত হওয়া উচিত হিসাবে অর্ধেক, এক চতুর্থ, বা তৃতীয়াংশ হতে পারে।
একটি উপায় ব্যবহার করা হয় windmove
। এর ডিফল্ট কী-বাইন্ডিংগুলির সাহায্যে এটি বর্তমানে সক্রিয় উইন্ডোটির পাশের উইন্ডোতে স্যুইচ করতে দেয়।
এটি ইমাসে নির্মিত, তাই কোনও কিছু ইনস্টল করার দরকার নেই; আপনার init ফাইলে নিম্নলিখিত ন্যূনতম সেটআপ দিয়ে এটি সক্রিয় করুন:
(windmove-default-keybindings)
এর পরে আপনি নিম্নলিখিত কী (যেখানে তীর, intuitively ব্যবহৃত দিক যা আপনি স্থানান্তর সংজ্ঞায়িত) ব্যবহার করে প্রতিবেশী জানালা সুইচ করতে পারেন: S-<left>
, S-<right>
, S-<up>
, S-<down>
।
আপনি যদি এর পরিবর্তে অন্য কোনও সংশোধক ব্যবহার করতে পছন্দ করেন তবে আপনি shiftএটিকে যুক্তি হিসাবে সরবরাহ করতে পারেন windmove-default-keybindings
। উদাহরণ স্বরূপ:
(windmove-default-keybindings 'meta)
অথবা
(windmove-default-keybindings 'control)
ইমাকস উইকিতে আরও তথ্য ।
(windmove-default-keybindings 'meta)
ইমাকসিকিউইর পরামর্শ অনুসারে ফাংশনটি পরিবর্তক কীটিকে একটি আর্গুমেন্ট হিসাবে গ্রহণ করে তা উল্লেখ করার জন্য সম্ভবত উত্তরটি আপডেট করার উপযুক্ত।
Shift-arrow
) , তবে যখন আপনার প্রচুর বিভাজন সহ একটি বড় মনিটর থাকে, তখন এই ধরনের চলাচল দ্রুত অনর্থক হয়ে যায়। এটি কোনওভাবে উইন্ডো / বিভাজনগুলি গণনা করা আরও আকর্ষণীয় হবে। পছন্দ করুন ace-window
তবে কম কী-টিপুন এবং আপনার পছন্দসই সংখ্যাটি অবিলম্বে বের করার জন্য একটি সুস্পষ্ট অ্যালগরিদম।
আপনি other-window
একটি সহজ-থেকে-টাইপ কী সিকোয়েন্সে আবদ্ধ করতে পারেন ।
উদাহরণস্বরূপ, আমি আছে C-.
আবদ্ধ other-window
, এবং C-,
পূর্ববর্তী উইন্ডোতে যেতে বাধ্য।
(global-set-key (kbd "C-.") #'other-window)
(global-set-key (kbd "C-,") #'prev-window)
(defun prev-window ()
(interactive)
(other-window -1))
এটি একাধিক উইন্ডো সরিয়ে নেওয়ার জন্য বিশেষভাবে কার্যকর; একবার আপনি নিয়ন্ত্রণটি ধরে রাখলে, আপনাকে পরবর্তী উইন্ডোতে যেতে কেবল একটি একক বোতাম টিপতে হবে। এটি চলন প্রতি তিনটি কীপ্রেসের চেয়ে অনেক সহজ।
C-x o
জন্য other-window
"সবচেয়ে খারাপ ডিফল্ট Emacs শর্টকাট" এর শিরোনাম জন্য কয়েক কঠিন প্রতিযোগী অন্যতম। আমার সমাধানটি (জ্যাকের অনুরূপ) other window
একটি (উপায়) সহজ কী ক্রমটি পুনরায় প্রত্যাবর্তন করা ছিল - আমার কাছে এটি আবদ্ধ C-;
(এবং আমার এটির Caps-Lock
সাথে Ctrl
সমস্ত পরিবর্তন হয় গোলাপীদের একটি দ্রুত ট্যাপ)। বিটিডব্লিউ, আমি সম্পূর্ণরূপে helm
এবং এর কিছু বৈশিষ্ট্যের উপর নির্ভরশীল icicles
(যেমন, আমি "অ্যান্টি-প্যাকেজগুলি" বা কোনও কিছুর নয়); আমি কেবল মনে করি যে একটি সাধারণ সমাধান এখানে সবচেয়ে ভাল কাজ করে।
M-o
জন্য other-window
। কিছু মোড ইতিমধ্যেই আছে M-o
বাঁধাই, বিশেষত diff-mode
, ggtag-mode
এবং ibuffer-mode
। আপনাকে প্রতিটি মোডের মানচিত্রে এটি ম্যানুয়ালি আনবাইন্ড করতে হবে। unbind-key
সরবরাহিত bind-key.el
খুব দরকারী।
M-o
পাশাপাশি ব্যবহার করি এবং যখন আমার অতিরিক্ত শক্তি প্রয়োজন তখন তার সাথে M-O
আবদ্ধ ace-window
।
উইন্ডো-নম্বরিং.এল!
নির্দিষ্ট উইন্ডোটি স্যুইচ করার জন্য আমি হটকি ", 1", ", 2", ", 3" বরাদ্দ করি (দয়া করে নোট করুন আমি দুষ্টু-মোড ব্যবহার করি)
তদতিরিক্ত, আমি পিনকে রঙের মোড লাইনে উইন্ডো নম্বরটি প্রদর্শিত করছি, আন্ডারলাইন করে।
এটি একটি দৃষ্টিভঙ্গি ইঙ্গিত যা আপনি কখনই উপেক্ষা করতে পারবেন না,
এটি উইন্ডো স্যুইচ করার দ্রুততম উপায় ।
পরীক্ষা https://github.com/redguardtoo/emacs.d/blob/master/lisp/init-evil.el এবং https://github.com/redguardtoo/emacs.d/blob/master/lisp/init-modeline আমার সেটআপের জন্য .el ।
সিলভাইন বেনার স্পেসম্যাক্সে আমার ধারণাটি গ্রহণ করেছিলেন তবে কী বাইন্ডিংগুলি আলাদা । সুতরাং আপনি যদি স্পেসম্যাক ব্যবহার করেন তবে আপনি বাক্সের থেকে দ্রুত সমাধান পান।
window-number
সঙ্গে M-<num>
দ্রুত খ W Windows / স্যুইচ।
কোনও অতিরিক্ত অ্যাড-অন ব্যবহার না করে আপনি C-x o
সেই অনেকগুলি উইন্ডোতে এড়াতে alচ্ছিক উপসর্গটি ব্যবহার করে চালিয়ে যেতে পারেন । উদাহরণস্বরূপ: C-u 1 C-x o
ক্রমে পরবর্তী উইন্ডোতে যাবে (উদাহরণস্বরূপ, আপনি সমতল দিয়ে কী পাবেন C-x o
), C-u 2 C-x o
দুটি উইন্ডো উপরের দিকে C-u 3 C-x o
যায়, তিনটি উইন্ডো উপরে যায় এবং এই জাতীয়।
other-window
ডক্টরসিংয়ের একটি অংশ (ফাংশন যার দ্বারা ডাকে C-x o
:
নির্বাচন বাছাইয়ের আগে নির্বাচিত উইন্ডোটি দিয়ে শুরু করে, এড়িয়ে যাওয়ার জন্য উইন্ডোগুলির সংখ্যা উল্লেখ করে। যদি COUNT ইতিবাচক হয় তবে COUNT উইন্ডো ফরোয়ার্ড এড়িয়ে যান। COUNT যদি নেতিবাচক হয় তবে পশ্চিমে -COUNT উইন্ডোটি পিছনে যান। COUNT শূন্য মানে কোনও উইন্ডো এড়িয়ে যাবেন না, তাই নির্বাচিত উইন্ডোটি নির্বাচন করুন। একটি ইন্টারেক্টিভ কলে, COUNT হ'ল সংখ্যাসূচক উপসর্গ আর্গুমেন্ট। ফিরে শূন্য।
কিছু লোক সম্পাদক ব্রিফের কথা স্মরণ করতে পারে (আন্ডারওয়্যার নামে পরিচিত একটি সংস্থা দ্বারা মজাদারভাবে যথেষ্ট পরিমাণে উত্পাদিত)।
এটি দৃশ্যমান উইন্ডোগুলির মধ্যে স্যুইচ করার একটি সুন্দর উপায় ছিল। এম-তীরটি কার্সারটি সরাসরি তীর কী এর দিকের সাথে সামঞ্জস্য করে উইন্ডোতে স্থানান্তরিত করে।
তাই, আমি ম্যাপ winmove-left
, winmove-right
, winmove-up
এবং winmove-down
ফাংশন M-left
, M-right
, M-up
এবং M-down
আমার .emacs ফাইলে কী হিসেবে অনুসরণ করে -
(global-set-key [M-left] 'windmove-left) ; move to left window
(global-set-key [M-right] 'windmove-right) ; move to right window
(global-set-key [M-up] 'windmove-up) ; move to upper window
(global-set-key [M-down] 'windmove-down) ; move to lower window
আমি কনফিগারেশনটি কতটা বিশৃঙ্খলাযুক্ত না করেই এখন উইন্ডোজগুলির মধ্যে স্বাচ্ছন্দ্যে সরে যেতে পারি ... এবং এটি আজকাল ডিসপ্লে আকারে বেশ বিশৃঙ্খলা পেতে পারে ...
(windmove-default-keybindings 'meta)
!
আপনি যদি আইকিকেল ব্যবহার করেন তবে C-x o
আপনার নামে উইন্ডোজ নির্বাচন করতে দেওয়া (বা সাইকেল চালিয়ে)।
কোনও উপসর্গের আর্গুমেন্ট না থাকলে, C-x o
যথারীতি একই রকম other-window
, যদি না ফ্রেমের কেবল একটি উইন্ডো থাকে, তবে এটি ক্ষেত্রে other-frame
।
একটি উপসর্গ ARG সঙ্গে, C-x o
একটি হল বহু-কমান্ড যাদের নাম আপনি উইন্ডোজ বা ফ্রেম মধ্যে নেভিগেট (অথবা সাইক্লিং দ্বারা) ক্ষমতা প্রদান করে। উইন্ডোগুলির মধ্যে নেভিগেটে মাল্টি-কমান্ড ব্যবহার করা হয় icicle-select-window
; ফ্রেম ব্যবহারের মধ্যে নেভিগেট icicle-select-frame
।
কোন নেভিগেশন ব্যবহৃত হয় তা উপসর্গের আর্গের উপর নির্ভর করে:
জিরো উপসর্গ আর্গ (উদাঃ C-0
): নির্বাচিত ফ্রেমে যদি একাধিক উইন্ডো থাকে তবে
প্রার্থী হিসাবে একই ফ্রেমেicicle-select-window
উইন্ডো রয়েছে with অন্যথায় (একক উইন্ডো ফ্রেম), এটি ।icicle-select-frame
C-u
: যদি নির্বাচিত ফ্রেমে একাধিক উইন্ডো থাকে, তবে এটি হ'ল
প্রার্থী হিসাবে icicle-select-window
সমস্ত দৃশ্যমান ফ্রেমের উইন্ডো । অন্যথায়, এই হয় icicle-select-frame
।
C-u C-u
: icicle-select-window
, প্রার্থী হিসাবে সমস্ত ফ্রেম থেকে উইন্ডোজ সহ (আইকনযুক্ত বা লুকানো ফ্রেম সহ)।
আইকিসিসের মতো সর্বদা , আপনি (ক) সমাপ্তি , মিলটি প্রার্থীদের সেট সংকীর্ণ করতে পাঠ্য টাইপ করতে পারেন (উইন্ডো বা ফ্রেমের নাম, এক্ষেত্রে), (খ) সাইক্লিং (মিলিত প্রার্থীদের মধ্যে) দিয়ে।
উইন্ডোগুলির মধ্যে দ্রুত জাম্পের জন্য কী-জ্যাড ব্যবহার করার বিষয়টি বিবেচনা করুন । আমি এটি একটি পরিবর্তক কী (এবং পাশাপাশি আমার হাতের উপর কম স্ট্রেইন) পৌঁছানোর চেয়ে আরও দ্রুত পেয়েছি।
আমার প্যাকেজটি ব্যবহারের পছন্দটি হ'ল এটি ace-window
আপনাকে একাধিক উইন্ডোতে কেবল নেভিগেট করতে দেয় other-window
।
(require 'key-chord)
(key-chord-define-global "xo" 'ace-window)
(key-chord-mode +1)
অবশ্যই আপনার এটির প্রয়োজন key-chord
এবং এটি ace-window
উভয়ই মেলপাতে উপলব্ধ।
ace-window
@ আবো-অ্যাবো এর উত্তর হিসাবে কাজ করছে। এটি আমাকে আঘাত করে যে, এই প্রসঙ্গে, নির্দিষ্ট কী-বাইন্ডিংটি ব্যবহারের জন্য উত্তর হিসাবে মন্তব্য করার চেয়ে আরও বেশি অর্থবোধ করবে। শুধু আমার দুই সেন্ট।
key-chord
কীগুলির খুব অ্যাক্সেসযোগ্য সংমিশ্রণগুলিকে আবদ্ধ করার অনুমতি দেয়। উদাহরণস্বরূপ বাইন্ডিং xo
দ্রুত C-x o
(এক তুলনায় দুটির গভীরতা)। এই উত্তরটি জোর দিয়েই বলা যেতে পারে যে উত্তরটি ফাংশন নির্বাচন সম্পর্কে অন্যান্য উত্তরগুলির সাথে অর্থকোনাল (এবং ace-window
বর্ণিত ফ্যাশনে আবদ্ধ হতে পারে এমন অনেকগুলি পছন্দগুলির মধ্যে একটি মাত্র)। এই উত্তর পৃথক হিসাবে রাখুন!
কিছু ভাল উত্তর এখানে, আমি উইনমোভেরও একজন অনুরাগী, তবে আমি এটি সি-তে আবদ্ধ করি কারণ org-মোড এম- ব্যবহার করে শিরোনামগুলি পরিচালনা করে
(define-key global-map (kbd "C-<up>") 'windmove-up)
(define-key global-map (kbd "C-<down>") 'windmove-down)
(define-key global-map (kbd "C-<left>") 'windmove-left)
(define-key global-map (kbd "C-<right>") 'windmove-right)
এটি হাইড্রার সাথে একত্রিত হলে এটি সত্যিই ভাল হয়ে যায় । তাদের উইকের উদাহরণ অনুসরণ করে আমি আমার নিজস্ব দৈত্য তৈরি করেছি:
(defhydra hydra-windows ()
"C-arrow = switch, S-arrow = size, M-arrow = move"
("C-<left>" windmove-left nil)
("C-<right>" windmove-right nil)
("C-<up>" windmove-up nil)
("C-<down>" windmove-down nil)
("S-<left>" hydra-move-splitter-left nil)
("S-<right>" hydra-move-splitter-right nil)
("S-<up>" hydra-move-splitter-up nil)
("S-<down>" hydra-move-splitter-down nil)
("M-<left>" buf-move-left nil)
("M-<right>" buf-move-right nil)
("M-<up>" buf-move-up nil)
("M-<down>" buf-move-down nil)
("p" previous-buffer "prev-buf")
("n" next-buffer "next-buf")
("1" delete-other-windows "1")
("d" delete-window "del")
("k" kill-buffer "kill")
("s" save-buffer "save")
("u" (progn (winner-undo) (setq this-command 'winner-undo)) "undo")
("r" winner-redo "redo")
("b" helm-mini "helm-mini" :exit t)
("f" helm-find-files "helm-find" :exit t)
("|" (lambda () (interactive) (split-window-right) (windmove-right)))
("_" (lambda () (interactive) (split-window-below) (windmove-down)))
("q" nil "cancel")
)
(global-set-key (kbd "M-#") 'hydra-windows/body)
এটি আমাকে উইন্ডোজ পরিবর্তন করতে, সেগুলির আকার পরিবর্তন করতে, বাফারগুলি উইন্ডো থেকে উইন্ডো, চক্র বাফারগুলিতে, বাফারগুলিকে হত্যা করতে এবং উইন্ডো কনফিগারেশনগুলিকে বিজয়ী-মোডের মাধ্যমে পূর্বাবস্থায় ফেলার অনুমতি দেয় এবং এটি হেলমকে সংহতও করে। হাইড্রা থেকে বেরিয়ে আসার জন্য, কেবল হাইড্রায় নয় তীর বা অন্য কিছু কী টিপুন। আপনি হাইড্রার উদাহরণগুলিতে "হাইড্রা-মুভ" ফাংশনগুলি খুঁজে পেতে পারেন হাইড্রার দুর্দান্ত কাজটি হ'ল আমাকে সেই সমস্ত কী-বাইন্ডিংগুলি এবং এর "মোডেফুল" মনে রাখতে হবে না, তাই আপনি একবার হাইড্রায় আসার পরে সমস্ত কিছুর একক কী হিসাবে উপলব্ধ is টিপুন।
(windmove-default-keybindings 'control)
।
আপনি যদি ব্যবহার করেন তবে আপনি চান উইন্ডোটি বাছাই করতে আপনি ( ) evil-mode
দিয়ে একটি সংখ্যাসূচক উপসর্গ ব্যবহার করতে পারেন। সুতরাং: চক্রাকার ক্রমে প্রথম উইন্ডোটি বাছাই করে , চক্রাকার ক্রমে তৃতীয় উইন্ডোটি বাছাই করে, এবং আরও এগিয়ে।C-w C-w
evil-window-next
1 C-w C-w
3 C-w C-w
টেক্কা ঝাঁপ দাও আপনি একটি পর্দায় সব কথা আপনার পয়েন্টার নেভিগেট, কি উইন্ডো বা ফ্রেম তারা রয়েছেন নির্বিশেষে, তাই এটি টেক্কা উইন্ডো ব্যবহার বা উইন্ডো সুইচ থেকে তাই বিভিন্ন নয় দেয়।
একটি সুবিধা হ'ল উইন্ডোজ জাম্প করার সময় আপনি কিছুটা নির্ভুলতার সাথে আপনার পয়েন্টারটিও রাখতে পারেন।
আমি এখনও এটি কিছুটা জটিল বা বিভ্রান্তিকর খুঁজে পাই এবং আমি windmove
আরও বেশি ব্যবহার করছি বলে মনে করি, কারণ এটি খুব সহজ, তবে আমি যখন অন্য উইন্ডো বা ফ্রেমে পড়ছি এবং সেখানে একটি স্পেসে যেতে চাইছি তখনও এস এস ঝাঁপ ব্যবহার করুন।
যথারীতি এটি সম্পাদন করার জন্য একশো আলাদা উপায় রয়েছে। আমার পছন্দের উপায়টি সংখ্যাযুক্ত উইন্ডো ব্যবহার করছে । আমি তারপরে সুপার এবং কীগুলি 1-9 ব্যবহার করে নীচের কিবাইন্ডটি সেট করেছিলাম।
(global-set-key (kbd "s-1") (lambda() (interactive) (window-number-select 1)))
আমি আমার একটি সাম্প্রতিক পোস্ট যা আপনি দুপুরের কোডারে পড়তে পারেন তার সাথে এই সঠিক বিষয়ে আরও কিছুটা বিশদে যাচ্ছি ।
আপনি ভিজ্যুয়াল প্রতিস্থাপন হিসাবে স্যুইচ-উইন্ডোটি ব্যবহার করার সিদ্ধান্ত নিতে পারেনC-x o
switch-window
অন্য সকলকে ব্যবহার করার সিদ্ধান্ত নেবে ?