ভিএম এডিটরে কমান্ড কিভাবে যুক্ত করবেন?


86

ধরুন আমার উত্স কোড ফাইলের নাম "foo.c"। সম্পাদনা এবং ডিবাগ করার সময় আমি সর্বদা এই আদেশটি কার্যকর করি: -

:! gcc -g foo.c -o foo; gdb foo

আমি কি ভিমে এমন একটি কাস্টম কমান্ড যুক্ত করতে পারি যে যদি আমি ": ডিবাগ" টাইপ করি তবে উপরের কমান্ডটি কার্যকর করে? আমি কীভাবে এটি অর্জন করব?

উত্তর:


102

হ্যাঁ. ভিম ডকুমেন্টেশন, বিভাগ 40.2, কমান্ড-লাইন ম্যাপিংস :

ভিম সম্পাদক আপনাকে নিজের আদেশগুলি সংজ্ঞায়িত করতে সক্ষম করে। আপনি অন্যান্য কমান্ড-লাইন মোড কমান্ডের মতো এই কমান্ডগুলি কার্যকর করেন ute কমান্ডটি সংজ্ঞায়িত করতে, নিম্নলিখিতভাবে ": কমান্ড" কমান্ডটি ব্যবহার করুন:

: কমান্ড মুছে ফেলুন ফার্স্ট 1 ডিলিট

এখন যখন আপনি কমান্ডটি কার্যকর করেন ": মুছে ফেলুন ফার্স্ট" ভিম এক্সিকিউটস ": 1 ডিলিট", যা প্রথম লাইনটি মুছে দেয়।

দ্রষ্টব্য: ব্যবহারকারী-সংজ্ঞায়িত কমান্ডগুলি অবশ্যই একটি মূল অক্ষর দিয়ে শুরু করা উচিত। আপনি ": এক্স", ": পরবর্তী" এবং ": মুদ্রণ" ব্যবহার করতে পারবেন না। আন্ডারস্কোর ব্যবহার করা যাবে না! আপনি অঙ্কগুলি ব্যবহার করতে পারেন তবে এটি নিরুত্সাহিত।

সেই লাইনটি আপনার ~/.vimrc( :অবশ্যই বিয়োগফলের মাইনাল ) রাখুন এবং আপনি যখনই ভিএম শুরু করবেন তখন এটি সংজ্ঞায়িত হবে। এছাড়াও, %:tসম্পাদনা করা ফাইলটি উল্লেখ করার জন্য ব্যবহার করুন (লেখার ! gcc %:tপরিবর্তে প্রতিস্থাপন হয় ! gcc foo.c)।

আপনি যদি এটি কেবল একটি ফাইলের জন্য বা নির্দিষ্ট কিছু ফাইলের জন্য সংজ্ঞায়িত করতে চান তবে আপনি একটি স্বতঃসম্পর্ক চান


4
আপনি যদি একটি বিদ্যমান কমান্ড প্রতিস্থাপন করছেন, আপনার ব্যবহার করা দরকার command!
ফায়াত

14

ভিমের ইতিমধ্যে মেকফিলস (: মেক) এর জন্য সমর্থন রয়েছে । আপনি যদি আপনার উত্সের জন্য একটি তৈরি করেন তবে আপনি এটি করতে চাইলে এটি নির্দিষ্ট করতে পারেন। এছাড়াও, ctags এর মাধ্যমে, ভিম সংকলনের সময় পাওয়া কোনও ত্রুটির মাধ্যমে পুনরাবৃত্তি করতে সক্ষম হবে।


5

একজন ব্যবহারকারী সংজ্ঞাযুক্ত vi সম্পাদক কমান্ড যুক্ত করুন:

এটি এটি তৈরি করবে যাতে ব্যবহারকারী যখন :Legendস্বাভাবিক মোডে টাইপ করেন, কার্সারের নীচে পাঠ্যের একটি ব্লক যুক্ত হয়।

পদক্ষেপ 1: এই লাইনটি file / কিংবদন্তি_সামগ্রী .txt` নামের একটি ফাইলে রাখুন `

this text will be added

পদক্ষেপ 2: আপনার command / .vimrc ফাইলটিতে এই আদেশটি দিন (যদি ফাইলটি বিদ্যমান না থাকে তবে এটি তৈরি করুন):

"The following command puts the contents of ~/legend_header.txt 
"under the cursor when the user types ":Legend" in normal mode.
command Legend :r ~/legend_header.txt

পদক্ষেপ 3: পরিবর্তনগুলি কার্যকর হওয়ার জন্য vi পুনরায় চালু করুন। তুমি করেছ.

এটা পরীক্ষা করো

পদক্ষেপ 1: vi এ একটি নতুন ফাইল খুলুন। Vi এ ডিফল্ট "নরমাল মোডে" থাকুন। আদর্শ:Legend

পদক্ষেপ 2: ~/legend_header.txtকার্সার যেখানে রয়েছে সেখানে সামগ্রীর সামগ্রী যুক্ত করা উচিত।


0

আমি এই কোডটি আমার .vimrc এ সি কোডটি সংকলন এবং সম্পাদন করতে ব্যবহার করি:

:command Gcc !set $1 `echo "%" | sed 's/\.c//g'` ;gcc -o $1 "%" ; chmod o+x $1; $1

, তবে আপনার প্রয়োজনের জন্য আপনি এটি রাখতে পারেন:

:command Gdb !set $1 `echo "%" | sed 's/\.c//g'` ;gcc -o $1 "%" ; gdb $1

আপনি নিশ্চিত হতে পারেন যে এক্সিকিউট ফাইলের নামটি .c এক্সটেনশন ছাড়াই উত্সের নাম হবে।

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