ঘের বন্ধনী অন্তর্ভুক্ত করার জন্য অঞ্চল সেট করুন


9

বিন্দু বা সক্রিয় অঞ্চল দিয়ে শুরু করে, কীভাবে আমি কীভাবে দ্রুত (একটি কীস্ট্রোক / কমান্ডে) বর্ধিত বন্ধনীর পরবর্তী সেটটি অন্তর্ভুক্ত করতে 'প্রসারিত' করব?

আমি যদি দিয়ে শুরু করি: ( |মানে পয়েন্ট)

(defn foo [x] (+ x |42))

বা যদি আমি এটি দিয়ে শুরু করি: ( <এবং >নির্বাচিত অঞ্চলটি বন্ধনী)

(defn foo [x] (+ x <42>|))

আমি শেষ করতে চাই

(defn foo [x] <(+ x 42)>|)

উত্তর:


10

প্রসারিত অঞ্চল ব্যবহার করুন :

প্রসারিত অঞ্চলটি শব্দার্থক ইউনিট দ্বারা নির্বাচিত অঞ্চলকে বাড়িয়ে তোলে। আপনি কী চান তা নির্বাচন না করা অবধি কী টিপতে থাকুন।

একটি উদাহরণ:

(setq alphabet-start "abc def")

সিটিতে কার্সারের সাহায্যে এটি পুরো শব্দটি এবিসি চিহ্নিত করে শুরু হয়, তারপরে উদ্ধৃতিগুলি অ্যাবিসিএফ ডিফেক্টে প্রসারিত করুন, তারপরে পুরো উদ্ধৃতিতে "অ্যাবসি ডিএফ", তারপরে সেক্সপ সেটেক বর্ণমালা-স্টার্ট "এবিসি Def "এবং অবশেষে পুরো যৌনতার কাছে।

আপনি এটি সেট আপ করতে পারেন:

(require 'expand-region)
(global-set-key (kbd "C-=") 'er/expand-region)

আপনি খুব দূরে প্রসারিত হলে আপনি অঞ্চলটিকে আবার নেতিবাচক উপসর্গের সাথে চুক্তি করতে পারেন।


1
রেফারেন্সের জন্য, expand-regionতালিকাটি অবিলম্বে চিহ্নিত করার জন্য নির্দিষ্ট ফাংশনটি বলা হয় er/mark-outside-pairs
আয়া

4

আমি সম্মত হয়েছি যে আপনি expand-regionঅন্য উত্তরে প্রস্তাবিত হিসাবে চেষ্টা করা উচিত (যে আমি ভোট দিচ্ছি)।

তবে কেবলমাত্র যদি আপনি সম্পর্কিত বিল্ট-ইন কমান্ডগুলির সাথে পরিচিত না হন তবে:

C-M-u, backward-up-list
C-M-SPC, mark-sexp

আপনার প্রথম উদাহরণে যেখানে কোনও অঞ্চল নেই সেখানে আপনি ব্যবহারের C-M-u C-M-SPCতালিকাটি চিহ্নিত করতে ব্যবহার করতে পারেন । যদি ইতিমধ্যে একটি নির্বাচিত অঞ্চল থাকে তবে এই কমান্ডগুলি এটি প্রসারিত করে। সুতরাং যদি 42নির্বাচিত হয় এবং আপনি আঘাত করেন C-M-uতবে এটি নির্বাচনের পিছনে তালিকার প্রারম্ভের দিকে প্রসারিত হবে তবে ক্লোজিং পেরেনকে অন্তর্ভুক্ত করবে না।

সুতরাং এমন কিছুর অভাবে expand-regionআমি যে C-gকোনও বর্তমান নির্বাচন বাতিল করতে আঘাত করব , তারপরে C-M-uআপনি যতটা প্যারেন চান তারপরে ফিরে যান, তারপরে C-M-SPCচিহ্নিত করতে


3

সক্রিয় অঞ্চলের ক্ষেত্রে, hমধ্যে lispy আপনি যা চান তা করতে হবে। আমার সাম্প্রতিক পরিচয় পোস্ট দেখুন

প্রথম ক্ষেত্রে, আপনার প্রয়োজন M-m h

আপডেট: আপনার সাথে থাকা সমস্ত বিকল্প lispy

দিয়ে শুরু:

(defn foo [x] (+ x ~42|))

এখানে ~চিহ্নটি চিহ্নিত করে (অঞ্চলের শুরু), এবং |বিন্দুটি বোঝায় (অঞ্চলের শেষ)।

  1. সঙ্গে hআপনি পান:

    (defn foo [x] |(+ x 42)~)
    
  2. সঙ্গে lআপনি পান:

    (defn foo [x] ~(+ x 42)|)
    
  3. আপনার সাথে k(এর সাথে পূর্বাবস্থায় ফিরে আসতে পারে j):

    (defn foo [x] (+ ~x| 42))
    
  4. সাথে 2kবা kkআপনি পাবেন:

    (defn foo [x] (~+| x 42))
    
  5. সঙ্গে dআপনি পান:

    (defn foo [x] (+ x |42~))
    
  6. আপনার সাথে d>(এর সাথে পূর্বাবস্থায় ফিরে আসতে পারে <):

    (defn foo [x] (+ |x 42~))
    
  7. সাথে d2>বা d>>আপনি পাবেন:

    (defn foo [x] (|+ x 42~))
    
  8. সঙ্গে mআপনি পান:

    (defn foo [x] (+ x 42|))
    

শুধু সংক্ষেপ, যখন অঞ্চলের সক্রিয় থাকার সময় h, j, k, l তীর সেই অঞ্চলের সরাতে হয়। >বিন্দুটির দিকনির্দেশে এককে একক দ্বারা অঞ্চলটিকে বৃদ্ধি করে। <বিন্দুটির দিক দিয়ে অঞ্চলকে এক মুহূর্তে সঙ্কুচিত করে। mচিহ্ন নিষ্ক্রিয়। iঅঞ্চলটির প্রথম উপাদানটি নির্বাচন করে এবং dবিন্দু ও চিহ্নকে আদান প্রদান করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.