আরও দ্রুত ভিম থেকে প্রস্থান করুন


124

আমি মূলত দীর্ঘ কাজের সেশনের চেয়ে দ্রুত সম্পাদনাগুলির জন্য ভিম ব্যবহার করি। : যে অর্থে, আমি বিশেষ করে আড়ষ্ট ছাড়ার জন্য কীবোর্ড ক্রম এটি Esc, Shift+ + ;, w, q, Enter

কীভাবে ন্যূনতম কীস্ট্রোক সহ ভিম (সম্ভবত নথিটি সংরক্ষণ করা) ছাড়বেন? বিশেষত সন্নিবেশ মোড থেকে।


50
পাওয়ার বোতামটি মাত্র এক ক্লিক দূরে, আপনি জানেন।
রেনান

2
@ জেসনওয়ারিয়ান সঠিক - আপনি কমান্ড মোডে থাকলে জেডজেডটি খুব দ্রুত, তবে তুলনাটি একেবারেই ঠিক নয়। আপনার কী ক্রমটি অনুমান করে যে আপনি সন্নিবেশ মোডে আছেন। সন্নিবেশ মোড থেকে বেরিয়ে আসার জন্য Ctrl- [Esc এর চেয়ে দ্রুত। শিফট-: একটি কী-স্ট্রোক - আপনি টাইপ করতে পারবেন না: নিজে থেকে আরও দ্রুত। সুতরাং আপনি কিছু সংরক্ষণ করুন, কিন্তু খুব বেশি না।
ডমিনিক ক্রোনিন

2
Escসারণি মোড থেকে প্রস্থান করার জন্য আপনার ব্যবহার করা উচিত নয় , কারণ Escআধুনিক কী-বোর্ডে কীটি অন্যদের থেকে অনেক দূরে। ব্যবহার করুন Ctrl+ ]বা আপনার নিজের ম্যাপিং তৈরি করুন।
অকার্যকর-নির্দেশক

3
একটি ফরাসি কীবোর্ড পান - আপনি শিফটটি মুছে ফেলতে পারেন।
ধনী

1
অকার্যকর-পয়েন্টার, Ctrl + C এর পরিবর্তে Ctrl + [Esc এর বিকল্প হিসাবে কাজ করে না?
জুমালিফাইগার্ড

উত্তর:


153

Shiftzz কমান্ড মোড ফাইল সংরক্ষণ করে এবং প্রস্থান করে।


4
এটির জন্য কি একেবারে শিফ্টের প্রয়োজন বা এটি কেবল Z Z(আপার কেস)? এছাড়াও, এটির কাজ করার জন্য আপনার কমান্ড মোডে থাকা দরকার নেই, যা এটি তৈরি করবে Esc Z Z?
একটি সিভিএন

35
এছাড়াও, ESC Z Qসংরক্ষণ না করে প্রস্থান করতে
কার্লোস ক্যাম্পাদ্রেস

Strg + zz ঠিক ভুল। এটি
ভিম

2
@ মাইকেলKjörling: জেডজেডটি কেবল বড় হাতের হওয়া দরকার।
লার্শ

2
এটি কেবল একটি ফাইল বন্ধ করে দেয়। আমার প্রচুর ট্যাব খোলা আছে যাতে এটি প্রচুর পরিমাণে জেড লাগবে।
ফিলিপ

41

ZZসাধারণ মোডে বর্তমান ফাইলটি সংরক্ষণ করে যদি পরিবর্তিত হয় এবং বর্তমান উইন্ডো / ট্যাবটি প্রস্থান করে বা বন্ধ করে দেয় ( এটির মতো :xনয় :wqযা ফাইলটি পরিবর্তন না করেও লেখেন)।

সমস্ত উইন্ডোজ, ট্যাব এবং লুকানো বাফারগুলিতে সমস্ত সংশোধিত ফাইলগুলি লেখার পরে নিঃশর্ত প্রস্থান করার জন্য আপনার প্রয়োজন :xa(এটি এখনও প্রস্থান করবে না যদি কিছু ফাইল কোনও কারণে বা অন্য কোনও কারণে লেখা যায় না)

কোনও পরিবর্তন না করে নিঃশর্ত প্রস্থান করতে: ZQ(একই :q!)।


1
আমি মনে করি আপনি সাধারণ মোড বলতে চাইছেন। "কমান্ড মোড" কমান্ড-লাইন মোডের
ডেভিড ব্রাউন

@ ডেভিডব্রাউন, .তিহ্যবাহী command modeনাম তবে আমি সম্মত হলাম যে normal modeকম অস্পষ্ট। আমি উত্তরটি সংশোধন করেছি।
স্টাফেন চেজেলাস

33

:x এর চেয়ে এক কী কম :wq


11
যেমনটা তেমন ভাল না Shift + Z Z!
কোডমেডিক

@ কোডমেডিক আপনি পেয়েছেন nno : ;এবং nno ; :যদিও, এটি সবচেয়ে দ্রুত এবং দূরে । (প্লাস vno একই) আমি অদলবদল সম্পর্কে সন্দেহ ছিলাম, তবে আপনি আর ফিরে যাবেন না। :nno ,: :silent! unmap :<CR>:silent! unmap ;<CR>এবং :nno ,; :nno ; :<CR>:nno : ;<CR>:vno ; :<CR>:vno : ;<CR>বিজোড় yap@"এবং এই জাতীয় সমর্থন ।
jthill

20

প্রায়শই ব্যবহৃত কাজের জন্য একটি কাস্টম ম্যাপিং তৈরি করুন। আপনি যদি প্রায়শই ভিএম ছেড়ে যান তবে কয়েকটি কী স্ট্রোক সহ ম্যাপিং তৈরি করুন, যেমন

nnoremap <leader><leader> :xa<cr>

যদি হিট <leader>কমা ব্যবহার করে let mapleader = ","দু'বার কমা ব্যবহার করে কমা সেট করা থাকে তবে ভিএম ছাড়ার এবং আপনার পরিবর্তনগুলি সংরক্ষণ করার দ্রুত উপায়। আপনি সন্নিবেশ মোডে থাকাকালীন আপনি যদি আরও একটি কী স্ট্রোক সংরক্ষণ করতে চান তবে এগুলি সন্নিবেশ মোড ম্যাপিংটিও তৈরি করুন:

inoremap <leader><leader> <esc>:xa<cr>

তবে সাবধান, আপনি <leaderদু'বার আঘাত করলে এটি দুর্ঘটনাক্রমে যথেষ্ট vim হতে পারে ।


1
পুরো উত্তরের জন্য ধন্যবাদ, এটি আমাকে ভিএম (যা আমি এড়াতে চাই) সম্পর্কে আরও জানতে উত্সাহিত করি!
vemv

4
@ ওয়েমভ, আপনার অন্যভাবে রাউন্ডে কাজ করা উচিত - যে কোনও সময় আপনাকে একবারে একাধিকবার করতে হবে, দেখুন এটি থামানোর কোনও উপায় আছে কিনা!
ওয়েইন ওয়ার্নার

17

যাদু করতে এটি ব্যবহার করুন। দুটি কীস্ট্রোক!

Ctrl+ sসংরক্ষণ করতে,

ctrl+ dসংরক্ষণ এবং প্রস্থান করতে,

ctrl+ qপরিবর্তনগুলি বাতিল করে দিতে প্রস্থান করতে।

1st। এটি আপনার ~ / .bashrc এ রাখুন

bind -r '\C-s'
stty -ixon

2nd। এটি আপনার ~ / .vimrc এ রাখুন

inoremap <C-s> <esc>:w<cr>                 " save files
nnoremap <C-s> :w<cr>
inoremap <C-d> <esc>:wq!<cr>               " save and exit
nnoremap <C-d> :wq!<cr>
inoremap <C-q> <esc>:qa!<cr>               " quit discarding changes
nnoremap <C-q> :qa!<cr>

3 য়। ভিএম পুনরায় আরম্ভ করুন এবং আরও উত্পাদনশীল দিন পান!


2
কেননা প্রস্থানটি সরাতে কেবল জেডজেড এবং জেডকিউ নয় সিটিআরএল + ডি / সিটিআরএল + কিউ ব্যবহার করবেন?
ইভান ক্যারল

হাই ইভান, ctrl + d / ctrl + q এর জন্য কেবল দুটি কীস্ট্রোক প্রয়োজন, যখন জেডজেড এবং জেডকিউতে তিনটি কীস্ট্রোক প্রয়োজন three shift + z + z / shift + q + q। একটি সংরক্ষণের কীগুলি উল্লেখ করা যায় যদি আমরা ঘন ঘন এটি করি। তবুও আমরা শর্টকাট সংরক্ষণ হিসাবে ctrl + s দিয়ে উত্থাপিত করেছি, আমি জেডজেড বা জেডকিউয়ের চেয়ে এটি আরও স্বজ্ঞাত মনে করি।
Brain90

3
আমি সবসময় জেডকিউকে বিপজ্জনক বলে মনে করেছি। সংরক্ষণ না করার জন্য আপনি জেডকিউতে আঘাত করার উদ্দেশ্যে করতে পারেন, তবে আপনি যদি দুর্ঘটনাক্রমে জেডকে দুবার আঘাত করেন তবে আপনি যান এবং অর্থ ছাড়াই আপনার ফাইলটি সংরক্ষণ করেছেন।
কিথ ডিভেনস

1
আপনি যদি ম্যাকের উপরে থাকেন তবে ~ / .bash_profile ব্যবহার করুন। এবং এটি উত্স মনে রাখবেন।
স্নো ক্র্যাশ

15

কীভাবে শুধু Q'ছাড়ুন'?

এর জন্য কেবল একটি স্থানান্তরিত কীস্ট্রোক প্রয়োজন (যেমন Shiftএবং Q)। এটি একটি মূল সংমিশ্রণ যা আমি খুব কমই দুর্ঘটনার কবলে পড়েছিলাম।

ডিফল্টরূপে, Vim মানচিত্র Q থেকে switch to "Ex" mode। আপনি যদি আমার মতো "প্রাক্তন" মোডটিকে অকেজো (বা বিরক্তিকর) হিসাবে মনে করেন তবে আপনি এর ডিফল্ট ফাংশনটি একেবারেই মিস করবেন না।

আমার .vimrcফাইলে যা আছে তা এখানে :

" allow quit via single keypress (Q)
map Q :qa<CR>

আপনার যদি সংরক্ষিত বাফারগুলি না থাকে, এটি প্রস্থান করার আগে আপনাকে অনুরোধ জানাবে।


কোনওভাবেই আমার ভিআইএম কিউতে ইতিমধ্যে :qডিফল্টভাবে ম্যাপ করা হয়েছিল। ভকভগক.
ব্যবহারকারী 13107

7

ভিআইএমের জন্য এখানে একটি প্রতারণামূলক শীট রয়েছে

ঠকাই শীট-জন্য-VIM

To quit the vi editor without saving any changes you've made:

If you are currently in insert or append mode, press Esc. 

Press  :  (colon). The cursor should reappear at the lower left corner of the screen beside a colon prompt. 

Enter the following:
  q!
This will quit the editor, and all changes you have made to the document will be lost.

আরো কিছু ::

ফাইলগুলি বন্ধ এবং সংরক্ষণ করা হচ্ছে

When you edit a file in vi, you are actually editing a copy of the file rather than the original. The following sections describe methods you might use when closing a file, quitting vi, or both.
Quitting and Saving a File

The command ZZ (notice that it is in uppercase) will allow you to quit vi and save the edits made to a file. You will then return to a Unix prompt. Note that you can also use the following commands:

:w  to save your file but not quit vi (this is good to do periodically in
    case of machine crash!).
:q  to quit if you haven't made any edits.
:wq to quit and save edits (basically the same as ZZ).
Quitting without Saving Edits

Sometimes, when you create a mess (when you first start using vi this is easy to do!) you may wish to erase all edits made to the file and either start over or quit. To do this, you can choose from the following two commands:

:e! reads the original file back in so that you can start over.
:q! wipes out all edits and allows you to exit from vi.

শেষ 2 টিতে "শেষ বারের মতো ফাইলটি সংরক্ষণ করার পরে" যুক্ত করা উচিত ... এটি "সুস্পষ্ট" তবে একজন শিক্ষানবিস "দুর্দান্ত, এটি আমি যখন vi খুললাম" তখন বুঝতে পারত এবং আবিষ্কার করতে পারত না যে তারা যদি অধিবেশন চলাকালীন সংরক্ষণ করেছিল, ": কুই! " আসল ফাইলটি মোটেও পুনরুদ্ধার করবে না এবং ": e!" হবে না। এটি কেবলমাত্র ফাইলটি খোলার বা সংরক্ষণের সময় (যা সর্বশেষতম) এরপরে ঘটেছিল এমন পরিবর্তনগুলি বাতিল করবে।
অলিভিয়ার ডুলাক

3

বাম থেকে প্রস্থান এবং সংরক্ষণের জন্য আমার সহজ এবং সুবিধাজনক সমাধানটি হ'ল:

Ctrl+ + Xশর্টকাট।

এই কোডটি ফাইলটিতে যুক্ত .vimrcকরুন:

"Fast quit and save from normal and insert mode
:map <C-X> <ESC>:x<CR>
:imap <C-X> <ESC>:x<CR>

1
দুর্দান্ত, তবে কেন <C-Q>ম্যাপেবল নয়?
ফ্রাইডারব্লুয়েমলে

2

চেষ্টা

nno : ;
nno ; :
vno : ;
vno ; :

আপনি যদি এফএফটিটি ব্যবহার করেন তবে এটি কিছুটা অভ্যস্ত হয়ে উঠবে, তবে এখন কেবল ;xপ্রয়োজনে সংরক্ষণ করার জন্য, ;qসংরক্ষণ না করে ছেড়ে দেওয়া হবে। এছাড়াও, অন্য সব কিছু দ্রুত হয়।

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