ইমাকগুলি কার্সারটিকে অফ-স্ক্রিনে সরানো যাক


23

এই প্রশ্নটি প্রথমে /programming/15895313/let-emacs-move-the-cursor-off-screen এ জিজ্ঞাসা করা হয়েছিল , তবে আমার কমবেশি যে সমস্ত উত্তর পেয়েছে তা বলেছে "এটি করা যায় না" , যা ইমাস সহ আমি গ্রহণ করি না।

বেশিরভাগ জিইউআই পাঠ্য সম্পাদকরা যেমন কাজ করেন, তেমন ইমাকসকে কার্সারটিকে অফ-স্ক্রিনে স্থান দেওয়া দেওয়া সম্ভব হয়? আমি যখন কোনও জিইউআই সম্পাদকের উপরে ইম্যাকস ব্যবহার করি তখন এটি আমাকে সবচেয়ে বিরক্ত করে তোলে। আমি যখন নীচে স্ক্রোল করি তখন কার্সারটিকে বাফারের শীর্ষে "এগিয়ে ধাক্কা" দেওয়া হয়।

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

আমি টার্মিনাল ইমাস ব্যবহার করি, সুতরাং এটি সেখানে কাজ করা উচিত।


সমস্ত মাল্টিপল-কার্সার প্যাকেজ মনে রাখবেন জাল কার্সার যুক্ত করা যা আসলটির সীমাবদ্ধতার সাপেক্ষে নয়। আমি আশা করি আপনার পূর্ববর্তী প্রশ্নের পরামর্শের ভিত্তিতে একটি উত্তর থাকবে।
wasamasa

আমি ধরে নিই যে এই সমস্যাটি স্ক্রোল বারগুলি ব্যবহারের জন্য নির্দিষ্ট, এটি কি ঠিক?
নিস্পিও

1
সুতরাং আপনি কোন স্ক্রোল আদেশগুলি ব্যবহার করছেন যে আপনি কার্সারটি আপনার সাথে না আনার প্রত্যাশা করবেন? আমার অভিজ্ঞতায় কার্সারটি আপনাকে সমস্ত সম্পাদকগুলিতে অনুসরণ করে যখন পিজিইউপি / পিজিডিএন বা তীর কীগুলি ব্যবহার করে।
নিসপিও

4
@নিস্পিও হয়ত মাউস হুইল দিয়ে স্ক্রল করছে?
ffevotte

2
পৃষ্ঠা আপ এবং পৃষ্ঠা ডাউন (সিভি এবং এমভি) কার্সারটি স্ক্রিন থেকে সরিয়ে না দেওয়া পর্যন্ত ইমাসে কার্সারটি সরান না। স্ক্রোলিং চলন্ত (কার্সার) থেকে পৃথক।
asmeurer

উত্তর:


11

সেখানে একটি নতুন প্যাকেজ উপলব্ধ গনুহ ELPA নামক scroll-restoreএই সমস্যা প্রতিকার যে প্রচেষ্টা করা হয়েছে। মুষ্টিমেয় বিভিন্ন আচরণ বেছে নিতে বেছে নেওয়া হয়েছে, তবে আমি নিজের জন্য এটি যেভাবে কনফিগার করেছি (নীচে দেখুন) স্ক্রোলিং কমান্ডগুলির সময় কার্সারটিকে অদৃশ্য করে তোলে এবং তারপরে আবার টাইপ করা শুরু করার পরে তার মূল স্থানে ফিরে যায়।

এখনও অবধি আমি কয়েকটি বাগের মুখোমুখি হয়েছি, তবে প্যাকেজটি বেশিরভাগ অংশের জন্য বিজ্ঞাপন হিসাবে কাজ করবে বলে মনে হচ্ছে। এটি ইনস্টল করে এটি পরীক্ষা করে দেখতে পারেন

M-x package-install RET scroll-restore RET

প্যাকেজ ইনস্টল হওয়ার পরে, আপনি এর সাথে গৌণ মোড সক্ষম করতে পারেন

M-x scroll-restore-mode

ব্যক্তিগতভাবে, আমি এটি Scroll Lockচাবির সাথে আবদ্ধ করছি কারণ এটি দেখে মনে হচ্ছে এটি অবিশ্বাস্যভাবে অ্যাপ্রোপোস! এটি আমি আমার আর ডি ফাইলটিতে যুক্ত করছি:

(require 'scroll-restore)
(scroll-restore-mode 1)
;; Allow scroll-restore to modify the cursor face
(setq scroll-restore-handle-cursor t)
;; Make the cursor invisible while POINT is off-screen
(setq scroll-restore-cursor-type nil)
;; Jump back to the original cursor position after scrolling
(setq scroll-restore-jump-back t)
;; Toggle scroll-restore-mode with the Scroll Lock key
(global-set-key (kbd "<Scroll_Lock>") 'scroll-restore-mode)

1
যদি আপনি এটির কোনও চাবি আবদ্ধ করেন তবে আমি মনে করি আপনি এটি কখনও কখনও অক্ষম করতে চান। এই মোডটি কি সাধারণ সম্পাদনার জন্য বিরক্তিকর?
টি ভেররন

1
@ টি.ভেরন এটি এখনই বেশ বগি বলে মনে হচ্ছে এবং এর ব্যর্থতার একটি উপায় হ'ল কোনও অঞ্চলে আপনার কার্সারকে "ফাঁদে ফেলতে" এবং এটি ছেড়ে না দেওয়া। আমার কার্সারটি আবার মুক্ত করার একমাত্র উপায়টি হল মোডটি অক্ষম করা। একবারে সমস্ত বাগ কাজ শেষ হয়ে গেলে, আমি এটি সমস্ত সময় ব্যবহার করে মনে করব না।
নিস্পিও

2
এটি কীভাবে কাজ করার কথা? আমি কিছুই করতে পারে বলে মনে হচ্ছে না।
asmeurer

5

আমি সর্বদা যে পদ্ধতিটি ব্যবহার করি তা হ'ল আমি যেখানে ফিরে যেতে চাই সেখানে চিহ্নিত করা এবং তারপরে আমি যখন বাফারটি ব্যবহার করার পরে করি তখন আমি চিহ্নটি পপ করে ব্যবহার করি C-u C-SPC। এমনকি আমি ঘোরাফেরা করার আগে চিহ্নটি স্থাপন করতে ভুলে গেলেও আমি দেখতে পেলাম যে চিহ্নটি পপিং করা সাধারণত আমাকে যেখান থেকে এসেছিল তার খুব কাছেই নিয়ে যায়। এটি আংশিকভাবে সত্য যে কারণে কিছু কমান্ড ( isearchউদাহরণস্বরূপ) আপনাকে এমনকি উপলব্ধি না করেই চিহ্ন সেট করে। সুতরাং আপনার সম্পাদনা চলাকালীন, আপনি অজান্তেই ব্রেডক্র্যাম্বসের একটি সামান্য ট্রেইল ছেড়ে চলে যাচ্ছেন।

ডকুমেন্টেশন থেকে:

set-mark-command is an interactive compiled Lisp function in `simple.el'.

It is bound to C-@, C-SPC.

(set-mark-command ARG)

....

With prefix argument (e.g., C-u C-SPC), jump to the mark, and set the mark
from position popped off the local mark ring (this does not affect the global
mark ring).  Use C-x C-@ to jump to a mark popped off the global mark ring
(see `pop-global-mark').

আমি বুকমার্কস বা রেজিস্টারগুলি সেট করতে প্রায় বিরক্ত করি না, তবে আমি প্রায় সবসময়ই আমার ফিরে যেতে পারি যেখানে আমি C-u C-SPCবা অন্য কোনটি ব্যবহার করে দ্রুত ফিরে এসেছি pop-global-mark


সত্যি বলতে গেলে, আমি মনে করি যে লোকেরা কার্সারটিকে স্ক্রিনটি অফ-স্ক্রিনে সরাতে সক্ষম করতে চায় তার প্রধান কারণ হ'ল কারন কার্সার অবস্থানের সঠিক ইতিহাস না থাকা সম্পাদকদের তারা অভ্যস্ত। আপনি এটিও তৈরি করতে পেরেছিলেন scroll-upএবং scroll-downস্বয়ংক্রিয়ভাবে চিহ্নটি সেট করে রেখেছিলেন, যাতে C-u C-SPCআপনি যেখান থেকে এসেছেন তা আপনাকে ফিরিয়ে আনতে নিশ্চিত হবে be
রেডন রোসবারো

0

নিম্নলিখিত কোডটি আমার পক্ষে মাউস হুইল স্ক্রোলের পরে পিছনে ঝাঁপিয়ে পড়ার পক্ষে যথেষ্ট:

(advice-add 'mwheel-scroll :before (lambda (arg) (if (not (eq last-command 'mwheel-scroll)) (setq point-before-mwheel-scroll (window-point)))))
(defun jump-back () (goto-char point-before-mwheel-scroll))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.