কি করে: বীম মধ্যে খোলা?


18

ভিমের ডকুমেন্টেশনে :openকমান্ডটি সম্পর্কে এটি বলা আছে :

This command is in Vi, but Vim only simulates it:

                                                        *:o* *:op* *:open*
:[range]o[pen]                      Works like |:visual|: end Ex mode.
                                {Vi: start editing in open mode}

:[range]o[pen] /pattern/    As above, additionally move the cursor to the
                                column where "pattern" matches in the cursor
                                line.

Vim does not support open mode, since it's not really useful.  For those
situations where ":open" would start open mode Vim will leave Ex mode, which
allows executing the same commands, but updates the whole screen instead of
only one line.

এটি "সিমুলেশন" এর প্রকৃতি সম্পর্কে মন্তব্য করে না, এবং কেন এটিকে বিভিন্ন আচরণ সহ সত্যিকারের আদেশের চেয়ে সিমুলেশন হিসাবে বিবেচনা করা হয়। প্রাক্তন মোড (কিউ) থেকে চালিত হলে, এটি প্রকৃতপক্ষে বর্ণিত হিসাবে আচরণ করে।

যাইহোক, এছাড়াও একটি পৃথক ওপেন কমান্ড উপস্থিত হতে পারে। যখন সাধারণ কমান্ড লাইন থেকে, বা প্রাক্তন মোড থেকে বিভিন্ন যুক্তি সহ চালানো হয় তখন এটি এর প্রতিশব্দ হিসাবে উপস্থিত হয় :edit। কমান্ড মোড থেকে ক দিয়ে চালিত হলে /pattern/, এটি কার্সারকে অবস্থান করে এবং স্পষ্টতই সঞ্চালিত হয় :edit(কার্সার অবস্থানটি কেবল তখনই প্রমাণিত হয়: সম্পাদনা ব্যর্থ হয়)) এটিও চালানো যেতে পারে :open /pattern/ file, কার্সারটি অবস্থান করে এবং রান করে:edit file

আমার প্রশ্ন: এটি কেন নথিভুক্ত নয়? :editআমি যে বিষয়টি লক্ষ্য করছি না তার থেকেও কি কোনও পার্থক্য রয়েছে ? অর্ধেক পসিক্স মেনে চলার প্রয়াসে :openএকবার কি প্রতিশব্দ ছিল :editএবং পরে কেবল পরিবর্তিত হয়েছিল?

উত্তর:


13

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

ভিম "সিমুলেশন" হ'ল কমান্ডকে সমর্থন করে, এটি কাজ করে তোলে (যেমন ডকুমেন্টেশন বলেছে) পছন্দ করে :visualএবং যেহেতু :visual"অন্যথায় একই রকম :edit," সম্ভবত এটিই আপনি এটির মতো অভিনয় করতে দেখেন :edit

উত্স কোডের দৃষ্টিকোণ থেকে, ( ) এ :openপ্রয়োগ করা হয় । এটি নিয়মিত এক্সপ্রেশন সরবরাহ করা হয় এমন ক্ষেত্রে মোকাবেলা করার জন্য কিছু স্টাফ করে, তবে সর্বদা একটি কল দিয়ে শেষ হয় ।ex_docmd.cex_open()do_exedit()

বাস্তবায়ন :edit, :baddএবং :visualমধ্যে অন্তর্ভুক্ত করা হয় ex_edit()একই ফাইল ফাংশন, এবং যে ফাংশন একটি হল সরাসরি কল করতে do_exedit()(অন্য কিছুই)। সুতরাং, নিয়মিত এক্সপ্রেশন প্যারামিটারটি পরিচালনা করার সময় বাদে, একই কোডটি কল হয়। do_exedit()কিছুটা লোমশ, এবং প্রকৃত আদেশটি জারি করা হয়েছে তার উপর ভিত্তি করে এর আচরণটি ব্যাপকভাবে পরিবর্তিত হয়েছে তবে এটি কখনই কমান্ড টোকেনগুলি খোলা / সম্পাদনা / চাক্ষুষের জন্য স্পষ্টভাবে চেক করে না। সুতরাং, তিনটি কমান্ডের ফলে একই কোড কম-বেশি-কম চালানো হয় do_exedit()


8

ভিআই সহ একটি সম্পাদনা প্রদর্শন সম্পাদনা থেকে :

আপনি যদি হার্ডকপি টার্মিনাল বা এমন একটি টার্মিনালে আছেন যা কার্সারটি নেই যা নীচের লাইনটি সরিয়ে ফেলতে পারে, আপনি এখনও vi এর কমান্ড সেটটি ব্যবহার করতে পারেন, তবে ভিন্ন মোডে। আপনি যখন কোনও vi কমান্ড দেন, সম্পাদক আপনাকে বলবে যে এটি ওপেন মোড ব্যবহার করছে। এই নামটি প্রাক্তন ওপেন কমান্ড থেকে আসে, যা একই মোডে যেতে ব্যবহৃত হয়।

ভিজ্যুয়াল মোড এবং ওপেন মোডের মধ্যে একমাত্র পার্থক্য হ'ল পাঠ্যটি প্রদর্শিত হয়।

ওপেন মোডে সম্পাদক ফাইলটিতে একটি একক লাইন উইন্ডো ব্যবহার করে এবং ফাইলে পিছনে এবং সামনে এগিয়ে যাওয়ার ফলে সর্বদা বর্তমান লাইনের নীচে নতুন লাইন প্রদর্শিত হয়। Vi এর দুটি কমান্ড খোলা জায়গায় আলাদাভাবে কাজ করে: z এবং ^ R। Z কমান্ড প্যারামিটার নেয় না, বরং বর্তমান লাইনের চারপাশে প্রসঙ্গের একটি উইন্ডো আঁকে এবং তারপরে আপনাকে বর্তমান লাইনে ফিরিয়ে দেয়।

আপনি যদি হার্ডকপি টার্মিনালে থাকেন তবে ^ R কমান্ডটি বর্তমান লাইনে পুনরায় টাইপ করবে। এই ধরনের টার্মিনালগুলিতে, সম্পাদক বর্তমান লাইনের প্রতিনিধিত্ব করতে সাধারণত দুটি লাইন ব্যবহার করে। প্রথম লাইনটি আপনাকে সম্পাদনা করতে শুরু করার সাথে সাথে লাইনটির অনুলিপি এবং আপনি এই লাইনের নীচের লাইনে কাজ করেন। আপনি যখন অক্ষরগুলি মুছবেন, সম্পাদক মুছে ফেলা অক্ষরগুলি দেখানোর জন্য সংখ্যার গুলি টাইপ করে। সম্পাদক এই জাতীয় পরিবর্তনের পরে শীঘ্রই বর্তমান লাইনটি পুনরায় মুদ্রণ করে যাতে আপনি দেখতে পারেন যে লাইনটি আবার কেমন দেখাচ্ছে।

কখনও কখনও খুব ধীর টার্মিনালগুলিতে এই মোডটি ব্যবহার করা কার্যকর যা সম্পূর্ণ স্ক্রিন মোডে vi সমর্থন করতে পারে। আপনি প্রাক্তন প্রবেশ করে এবং একটি ওপেন কমান্ড ব্যবহার করে এটি করতে পারেন।

:openএকটি ভি ক্লোন হিসাবে ভিমের উত্সর একটি নিদর্শন যা পুরোপুরি অকেজো। আমি কেবল ধরে নিতে পারি যে এটি পসিক্সের সামঞ্জস্যের জন্য রয়ে গেছে।

অস্পষ্ট মিল সত্ত্বেও, :openহয় না বিকল্প :editকল্পনার কোনো প্রসারিত দ্বারা।

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