ভিম: উইন্ডো বাম / ডান সরান?


215

ভিমে, কি উইন্ডোটি বাম বা ডানদিকে "সরিয়ে" নেওয়া সম্ভব? যেমন, এর মতো <c-w> rবা <c-w> x, তবে উপরে / নীচে বাম / ডান?

উদাহরণস্বরূপ, যদি আমি এই লেআউটটি পেয়েছি:

+---+---+---+
|   |   +---+
| A +---+---+
|   |   |   |
+---+---+---+

আমি এটিকে এটিতে পরিণত করতে চাই:

+---+---+---+
|   |   +---+
+---+ A +---+
|   |   |   |
+---+---+---+

যা করা কঠিন / বিরক্তিকর <c-w> {H,J,K,L}

উত্তর:


425

Ctrl w আপনাকে নিম্নলিখিত উইন্ডো কমান্ড মোড দেয়:

  • Ctrl w+ R- উইন্ডোজ উপরে / বাম দিকে ঘোরানোর জন্য।

  • Ctrl w+ r- উইন্ডোজটি নীচে / ডানে ঘোরানোর জন্য।

উইন্ডোর অবস্থান পরিবর্তন করতে আপনি নেভিগেশন কীগুলির সাহায্যে "উইন্ডোজ কমান্ড মোড" ব্যবহার করতে পারেন:

  • Ctrl w+ L- বর্তমান উইন্ডোটিকে "ডানদিকে" সরান

  • Ctrl w+ H- বর্তমান উইন্ডোটিকে "খুব বাম দিকে" সরান

  • Ctrl w+ J- বর্তমান উইন্ডোটিকে "খুব নীচে" এ সরান

  • Ctrl w+ K- বর্তমান উইন্ডোটিকে "খুব উপরে" সরিয়ে দিন

পরীক্ষা করে দেখুন :help window-movingআরও তথ্যের জন্য


2
<c-w> rকেবল উল্লম্বভাবে ঘোরে।
ডেভিড ওলবার

10
@ ডেভিড ওলিভার, আপনাকে এই ক্ষেত্রে উপরের কেস অক্ষরগুলি ব্যবহার করতে হবে, উদাহরণস্বরূপ: Ctrl-W + Shift-L, উদাহরণস্বরূপ। আমি মনে করি এটি আপনি যা খুঁজছেন তা হতে পারে।
রিকার্ডো ভ্যালারিয়ানো

@ ডেভিড - কেবল এটি পরীক্ষা করা হয়েছে এবং <cw> আমার জন্য অনুভূমিকভাবে কাজ করেছে।
ostler.c

3
@ ostler.c একটি উল্লম্ব বিভাজন তৈরি করুন, তারপরে কলামগুলির মধ্যে একটির মধ্যে একটি অনুভূমিক বিভাজন তৈরি করুন। এখন <cw> r ব্যবহার করুন এবং এটি কেবল দুটি উইন্ডোকে একটি উল্লম্ব বিভাজনের মধ্যে চক্র করে।
শেভ

1
@ nn0p না, তারা চারদিকে উইন্ডোজ সরিয়ে দেয়। <cw> h কার্সারটি পরবর্তী উইন্ডোতে বাম দিকে সরানো হবে, যখন <cw> এইচ বর্তমান উইন্ডোটি (কার্সার সহ একসাথে) বাম দিকে সরিয়ে ফেলবে।
মারসফট

58

এটি আমার জন্য সবচেয়ে দরকারী (এবং সম্ভবত প্রশ্নের সঠিক উত্তর):

  • Ctrl W+ xOR Ctrl W+ Ctrl x- ডানদিকের নিকটতম উইন্ডোটি সহ বর্তমান ফোকাসযুক্ত উইন্ডোটি ঘোরান।

আপনি যখন ফলকের মাঝখানে থাকবেন এবং ডানদিকের একটি দিয়ে অদলবদল করতে চান তখন খুব দরকারী। এই এক জন্য ধন্যবাদ!
ড্যানিয়েল আন্দ্রে মিনসি

8

আপনি কি উইন্ডোটি নিজেই সরাতে চান বা কেবল আপনার কার্সার অবস্থানে?

পরবর্তী আবর্তিত বা সাইকেল আপনি ইতিমধ্যে উল্লিখিত মত, এটা জানালা নিজেই সরাতে শুধুমাত্র সম্ভব পর্যন্ত যথাক্রমে সাথে সঠিক, শীর্ষ, নীচে বাম বা:

^W K
^W J
^W H
^W L

আমি মনে করি না যে উইন্ডোটির এক জায়গায় ডানদিকে সরানোর জন্য একটি ডিফল্ট অন্তর্নির্মিত উপায় আছে।


1
আমি উইন্ডোজ সরিয়ে নিতে চাই, কার্সারটি নয়।
ডেভিড ওলবার

1
তারপরে এটি যতদূর আপনি ভিআইএম উইন্ডো কমান্ডের সাথে যেতে পারেন, যদি এটি আপনার পক্ষে উপকারী হয় তবে দয়া করে সমাধান হিসাবে চিহ্নিত করুন :-)
বিটারজয়েট

2
আমি যদি পারতাম তবে @ বিটারজয়েটের মন্তব্যকে কমিয়ে ফেলব। উপরের উত্তরগুলি দেখুন
নাথান

1

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

" Rotate a window horizontally to the left
function! RotateLeft()
    let l:curbuf = bufnr('%')
    hide
    wincmd h
    split
    exe 'buf' l:curbuf
endfunc

" Rotate a window horizontally to the right
function! RotateRight()
    let l:curbuf = bufnr('%')
    hide
    wincmd l
    split
    exe 'buf' l:curbuf
endfunc

-6
  • ctrl + h কার্সারটি পরবর্তী উইন্ডোতে সরান (ডানদিকে)

  • ctrl + l পূর্ববর্তী উইন্ডোতে ক্রেসট সরান (বাম)

আরও তথ্য সম্পর্কে, দয়া করে উল্লেখ করুন: :help window-moving


3
সঠিক না. Ctrl+h/lউইন্ডো নেভিগেশনের জন্য স্ট্যান্ডার্ড বাইন্ডিং নয় (যদিও তারা অবশ্যই কনফিগার করা যেতে পারে, এবং কিছু প্লাগইন দ্বারা দেওয়া হয়)। এবং এটি যাইহোক মূল প্রশ্নের উত্তর দেয় না।
মারসফট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.