আমার অভিজ্ঞতার সর্বশেষ আপডেট
0"+y$ddনিম্নলিখিত ম্যাপিংয়ের অংশটি সত্যিই এমন কিছু যা আপনার যত্ন সহকারে চিন্তা করতে হবে এবং এটি আপনার স্বাদ / কর্মপ্রবাহ / অভিজ্ঞতা অনুসারে তৈরি করা উচিত।
উদাহরণস্বরূপ, খুব ঘন ঘন আমি নিজেকে বাফারে একাধিক লাইন দিয়ে শেষ করতে দেখেছি, যেখানে আমি কেবল কার্সারটি চালু করতে চাই; এই ক্ষেত্রে আমি 0"+y$dd:%d<CR>পরিবর্তে ব্যবহার করতে পারেন 0"+y$dd।
এবং এটি সম্ভাব্য পরিস্থিতিগুলির মধ্যে একটি মাত্র।
যারা পছন্দ করেন তাদের চূড়ান্ত উত্তর vim
vimআপনার EDITOR/ হিসাবে সেট করুন VISUAL, যাতে কোনও কমান্ড লাইন vimসম্পাদনা করার সময় আপনি এটি সম্পাদনা করতে ব্যবহার করবেন।
au BufEnter /tmp/bash-fc.* nn <Leader>d 0"+y$dd:wq<CR>আপনার ~/.vimrcফাইলটি মানচিত্রে রাখুন Leaderd(যা আপনি কমান্ড সম্পাদনা করার সময় খুব কমই ব্যবহার করবেন) +এ্যাকশনটিতে "চলমান ইওএলটি ছাড়াই রেজিস্টারটিতে
বর্তমান লাইনটি মুছুন" to
vimসম্পাদকের কোনও কমান্ড সম্পাদনা শেষ করার পরে হিট করুন EscapeLeaderd।
- ক্লিপবোর্ডটি টার্মিনালে আটকান (এটি টার্মিনাল-নির্ভর)।
আসল উত্তর
আমার প্রায়শই একই কাজ করা প্রয়োজন এবং আমি এটি নিম্নলিখিত হিসাবে করি। (আমি সাধারণত ব্যবহার set -o viমধ্যে bash, তাই নিম্নলিখিত পয়েন্ট 1 এবং 2 যদি আপনি ব্যবহার ভিন্ন set -o emacsডিফল্ট; আপনার প্রশ্নের এটি 1 পয়েন্ট এবং 2 একত্রে আছে দেখে মনে হচ্ছে তার উপর ভিত্তি করে Ctrl+ + xদ্বারা অনুসরণ Ctrl+ + e, যা কঠিন টাইপ করা হয়, এই প্রোগ্রামটিতে ।)
- Escapeস্বাভাবিক মোডে থাকতে আঘাত ,
- vকমান্ড সম্পাদনা করতে সম্পাদক প্রবেশ করতে আঘাত করুন,
- আমার মত কমান্ডটি সম্পাদনা করুন,
(আপনি এখানে প্রশ্ন জিজ্ঞাসা করেছেন))
- আঘাত Escape0"+y$dd:wq,
- দ্রষ্টব্য: 0"+y$সহজভাবে নয় "+yy, কারণ আধুনিককৃতরাও নিউলাইনটি অনুলিপি করতে পারে এবং এর ফলে কমান্ড লাইনে এটি আটকানোর পরে আদেশটি কার্যকর করা যায়,
- কমান্ড লাইনে ক্লিপবোর্ড আটকান
- আপনি যে টার্মিনালটি ব্যবহার করছেন তার উপর এটি কীভাবে নির্ভর করবে, আমার ধারণা; আমি Ctrl+ Alt+ vইন আঘাত
URxvt।
- অনুমোদনের / ম্যানুয়াল সম্পাদনাতে এগিয়ে যান।
স্পষ্টতই এটি পুরোপুরি কাজ, পুরো কমান্ডটি মোছার আগে ক্লিপবোর্ডে সম্পাদিত কমান্ডটি অনুলিপি করে তৈরি করা, যাতে সম্পাদক থেকে বেরিয়ে আসার পরে কিছুই কার্যকর না হয়; তবে আমি নিজের জন্য এটি সেরা।
হালনাগাদ
আমার EDITOR(এবং VISUAL) সমান হিসাবে vim, আমি যখন আদেশটি সম্পাদনা করি তখন আমি এটিকে সম্পাদনা করি vim।
এই সম্মানের সাথে, আমি লক্ষ্য করেছি যে বাফারের নামকরণ হয়েছে /tmp/bash-fc.random, যেখানে randomএকটি 6-অক্ষরের বর্ণমালা র্যান্ডম স্ট্রিং রয়েছে।
আপনি যদি vimআপনার সম্পাদক হিসাবে ব্যবহার করেন তবে .vimrcএটি পুরো ক্রমটি সম্পাদন করতে আপনার কিছু ম্যাপিং সংজ্ঞায়িত করতে পারে বলে এটি অনেকগুলি সম্ভাবনার স্থান দেয় Escape0"+y$dd:wq। উদাহরণস্বরূপ, কমান্ড লাইন সম্পাদনার সময় আপনি যে কমান্ডটি খুব কমই ব্যবহার করতে চান তা হ'ল Leaderd; সুতরাং আপনি mapআপনার .vimrcফাইলটিতে নিম্নলিখিত পিংটি রাখতে পারেন
au BufEnter /tmp/bash-fc.* nn <Leader>d 0"+y$dd:wq<CR>
সুতরাং উপরের রেসিপি 4 ধাপ হয়ে যায়
- হিট EscapeLeaderd
edit-and-execute-command।