কীবোর্ডে ভিজ্যুয়াল নির্বাচন অনুলিপি করার পরে, আসল অবস্থানে ফিরে আসুন


18

আমার কার্সারটি অনুচ্ছেদের মাঝখানে রয়েছে যখন আমি হঠাৎ সিদ্ধান্ত নিই আমাকে এই অনুচ্ছেদটি অনুলিপি করা দরকার:

শুরু

সুতরাং আমি vipঅনুচ্ছেদটি দৃশ্যত নির্বাচন করতে টাইপ করেছি :

নির্বাচিত

এখন আমি cmd+Cক্লিপবোর্ডে অনুলিপি মারলাম (এটি আপনার সিস্টেমে পৃথক হতে পারে তবে আমার পোস্টের কেন্দ্রীয় প্রশ্নের সাথে প্রাসঙ্গিক হওয়া উচিত নয়), যা অনুচ্ছেদের শুরুতে আমার কার্সারটি ফেলেছে:

চূড়ান্ত

বরং কাঙ্ক্ষিত অবস্থানের চেয়ে আমি যেখানে শুরু হয়েছিল এটিই ছিল।

অবিচলিতভাবে নির্বাচনটি নির্বাচন করার সময় একই সমস্যাটি লক্ষ্য করুন yip

আমি চাই ডিফল্ট আচরণটি এই জাতীয় নির্বাচন / অনুলিপি ক্রিয়া করার পরে "মূল কার্সার অবস্থানে ফিরে" হোক। এমন কোনও কনফিগারেশন রয়েছে যা এটি সম্ভব করে তোলে?


11
হ্যাঁ, আমিও এটিকে বিরক্তিকর মনে করি। আমি কেবল সে লক্ষ্যে চিহ্নগুলি ব্যবহার করতে চাই: mm "+yap `m( "+yআপনার সিস্টেমে ক্লিপবোর্ডে
ইয়াঙ্কগুলি

3
কার্সারটি শুরুতে বা ইয়্যাঙ্কড জোনটির শেষে রেখে দেওয়া আমার পক্ষে উপকারী বলে মনে হচ্ছে। সর্বোপরি, এখন ইয়ঙ্কযুক্ত পাঠ্য এবং এর ভিতরে কার্সার দিয়ে আমি কী করতে পারি? এখন একটি পুট / পেস্ট করা খুব বেশি অর্থবোধ করে না। তবে, আমি যদি পরে এটি করতে চাই, তবে এর অর্থ আমি পরে ইয়েঙ্কও করতে পারি ... আপনার এখন যা দরকার তা কেবল একটি চিহ্ন।
ভ্যানল্যাসার

উত্তর:


14

একটি সম্ভাব্য সমাধান হ'ল জাম্প ব্যবহার করা:

ইয়াঙ্কিং বা দর্শনীয়ভাবে নির্বাচনের আগে আপনি একটি নতুন জাম্প সেট করতে পারেন যা আপনার কার্সারটি সরে যাওয়ার পরে আপনি অ্যাক্সেস করতে সক্ষম হবেন। তাই ব্যবহার m`

তারপরে আপনার কার্সারটি সরানোর পরে ctrloজাম্প তালিকার পিছনে ঝাঁপ দেওয়ার জন্য ইয়ঙ্কিং ব্যবহারের কারণে । এছাড়াও আপনি সাথে উপলব্ধ জাম্প তালিকা দেখতে পারেন :jumpsএবং সঙ্গে এই তালিকায় নেভিগেট ctrloএবংctrli

আপনার কর্মপ্রবাহের যোগফলটি হ'ল:

  • m`
  • yip
  • ctrlo

ব্যবহার হিসাবে m` একটি চিহ্ন সেট, আপনি ``পরিবর্তে এটিতে লাফাতে পারেন ctrlo

আপনি পড়তে পারেন :h mark-motionsএবং :h :jumpsআরও তথ্যের জন্য।


আমি এই পছন্দ। জাম্পিং করার সময় কি সাধারণভাবে ব্যাকটিকের মতো আচরণ করার কোনও উপায় আছে? একক উদ্ধৃতি টাইপ করা সহজ, এবং সাধারণত আমি সঠিক কলামের অবস্থানের পাশাপাশি ডান
জোনাহ

1
@Jonah, আমি মানচিত্র <leader>'হতে `, যা বেশ ভাল আমার জন্য কাজ করে। (আমি <space>আমার নেতা হিসাবে ব্যবহার করি ))
নুমেরি

@ জোনাঃ নুমেরি যেমন বলেছিলেন যে ম্যাপিং একটি উত্তম সমাধান হতে পারে, অন্যথায় আপনি যদি ব্যাকটিক থেকে মুক্তি পেতে চান তবে আপনার নজর দেওয়া উচিত :h 'langmap'। আমি এটি আদর্শ সমাধান বলছি না তবে এটি আপনার পক্ষে আকর্ষণীয় হতে পারে।
স্ট্যাটক্স

@ জোহাহ, আমি আসলে একক উদ্ধৃতি এবং পিছনের টিকটি ব্যবহার করে noremap ' ` noremap ` 'বদলে যাচ্ছি ... এটি আমার ভিমার্কে রয়েছে এবং দুর্দান্ত কাজ করেছে
নিকো বেলিক

10

আপনি এতে কার্সারটি সরিয়ে এড়াতে পারবেন:

:'{,'}y

দেখুন :help range, :help mark-motionsএবং :help :y


1
সম্পর্কে জেনে ভাল লাগছে, তবে আপনি কি আসলে এটি করছেন? মনে হচ্ছে 8 টি কীস্ট্রাক দুটি টাইপ করে দুটি বন্ধনী ব্যবহার করে এটি চিহ্নের সমাধানের চেয়ে আরও শক্ত করে তোলে
জোনাহ

এটা কি আমি এর হবে যদি আমি আপনার অবস্থান ছিল না। তবে আপনি যে আচরণটি বর্ণনা করেছেন তাতে আমার কোনও সমস্যা নেই তাই আমি আসলে তা করি না।
রোমেনেল

2
@ জোনাঃ আপনার কাছে এখনও ম্যাপিং তৈরি করার বিকল্প রয়েছে। কিছু :nmap <key> :'{,'}y<CR>কাজ করা উচিত।
স্ট্যাটক্স

10

আমার কার্সারটি একটি অনুচ্ছেদের মাঝখানে

আপনি যদি কেবল এটি সম্পাদনা করেছেন, তবে সহজ সমাধানটি টাইপ করা g ;যা আপনার কার্সারটিকে শেষ সম্পাদনা অবস্থানে রাখবে।

এবং যদি আপনি অনুচ্ছেদটি সম্পাদনা না করে থাকেন তবে আপনি ঠিক তেমন কিছু সম্পাদনা না করেই কোনও সম্পাদনা "ইভেন্ট" ট্রিগার hকরতে আপনি যে চরিত্রটিতে রয়েছেন (যেমন আপনি চালু আছেন আপনি টাইপ করুন rh) দিয়ে একটি সাধারণ প্রতিস্থাপন অপারেশন করতে পারেন।


2
+1: আমি সর্বদা ব্যবহার করেছি '.তবে এটি g;এবং এর সাথে সর্বশেষ পরিবর্তনগুলির মধ্যে নেভিগেট করা খুব দরকারী g,
এমমন্টু

2
এমন কোনও সংস্করণ রয়েছে g;যা আপনাকে সঠিক কলাম অবস্থানে নিয়ে যায়?
জোনাহ

@ জোনাঃ এটাই হচ্ছে পূর্বনির্ধারিত আচরণ। এটা কি আপনার জন্য কাজ করছে না? এটি আমাকে সর্বদা সঠিক কলাম এবং লাইন অবস্থানে নিয়ে যায়।
আল.জি.

4

তেজ-easyclip প্লাগইন এই জন্য একটি সেটিং রয়েছে:

g:EasyClipPreserveCursorPositionAfterYank- ডিফল্ট 0 (যেমন অক্ষম)। ভিমের ডিফল্ট আচরণটি হ'ল ইয়্যাঙ্কযুক্ত পাঠ্যের শুরুতে কার্সারটি অবস্থান করা, যা অন্যান্য গতিগুলির সাথে সামঞ্জস্যপূর্ণ। তবে আপনি যদি ইয়ঙ্কগুলি সম্পাদন করার সময় কার্সার অবস্থানটি অপরিবর্তিত রাখতে পছন্দ করেন তবে এই বিকল্পটি সক্ষম করুন।

কেবলমাত্র এই ছোট বৈশিষ্ট্যের জন্য একটি সম্পূর্ণ প্লাগইন ইনস্টল করা আমার পক্ষে অনেকটা বেশি, তাই আমি আমার মন্তব্য অনুসারে চিহ্নগুলি ব্যবহার করতে পছন্দ করি।


0

আলজির উত্তর প্রসারিত করে, আমরা সম্পাদনা না করে প্রয়োজনীয় স্থানে যেতে পারি। সমাধান হয় gi। আমরা একই অবস্থানে পৌঁছে যাব যেখানে আগে আমরা সর্বশেষ সন্নিবেশ মোডে ছিলাম।

  • আপনি অনুচ্ছেদের মাঝখানে রয়েছেন।
  • সন্নিবেশ মোডে স্যুইচ করুন।
  • সাধারণ মোডে স্যুইচ করুন।
  • প্রেস vip
  • প্রেস gi
  • সাধারণ মোডে স্যুইচ করুন। ( giআমাদের মোড sertোকাতে ছেড়ে যাবে)

আমরা যদি হাইলাইট করা পাঠ্যের শুরু বা শেষ করতে যেতে চাই।

 :help v_o 

আপনি যখন হাইলাইট করা পাঠ্যটি ইয়েঙ্ক করবেন তখন আপনি স্বাভাবিক মোডে ফিরে আসবেন এবং আপনি মূল কার্সার অবস্থানটি ধরে রাখতে বা রাখতে পারবেন না।

  1. আপনি যদি উচ্চ থেকে নিম্ন কার্সার অবস্থানে (নিম্ন রেখা-কলাম নম্বর থেকে উচ্চতর লাইন-কলাম নম্বর পর্যন্ত) হাইলাইট করা শুরু করেন তবে আপনি চাপ দিয়ে মূল কার্সার অবস্থান ধরে রাখবেন y
  2. নিম্ন থেকে উচ্চতর কার্সারের অবস্থানে হাইলাইট শুরু হলে কার্সার বর্তমান অবস্থানে থাকবে।

ইয়াঙ্কিংয়ের পরে আসল অবস্থানে ফিরে:
gv আগের হাইলাইটটি পেতে।

এখন আপনি কী
oবা দিয়ে ভিজ্যুয়াল মোডে আসল এবং বর্তমান অবস্থানের মধ্যে স্যুইচ করতে পারেন O

স্থিতি রেখার রেখা এবং কলামের সংখ্যা সঠিক কার্সার অবস্থান জানতে সহায়তা করবে।
ডকুমেন্টেশন:

:help visual-change

vipযখন অনুচ্ছেদের মাঝখানে কার্সারটি শুরু হবে তখন এটি কাজ করে না ।
অ্যান্টনি

ওহ ইয়া আমি এটি লক্ষ্য করি নি, আপাতত আমি আমার উত্তরটি মুছে ফেলার পরিবর্তে সম্পাদনা করব।
ভাসান

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