কমান্ড লাইন থেকে 4 কোয়ার্টার স্প্লিট পেতে ভিম স্প্লিট কমান্ড ব্যবহার করে


20

আমি কমান্ড লাইনে চারটি ভিআইএম ফাইল খুলতে চাই:

vim file1 file2 file3

কিন্তু আমি প্রতিটি ফাইল পৃথক বিভক্ত করা উচিত চাই:

vim -c "split file1" -c "split file2" -c "split file3" file4

(উপরোক্ত পর্দা অনুভূমিকভাবে 4 বার বিভক্ত)

আদর্শভাবে আমি যা করতে চাই তা স্ক্রিনটিকে 4 স্কোয়ারে বিভক্ত করে:

|-------|-------|
|       |       |
|       |       |
|-------|-------|
|       |       |
|       |       |
|-------|-------|

ভিমটি খোলা থাকলে আমি কীভাবে এটি করব তা জানি, কিন্তু আমি কমান্ড লাইন থেকে এটি করতে অক্ষম vs )। কোন ধারনা? আমি চেষ্টা সবকিছু শেষ পর্যন্ত এই (অথবা একটি ভিন্ন পরিবর্তন) মত দেখাচ্ছে:

|-------|-------|
|       |       |
|-------|       |
|       |       |
|-------|       |
|       |       |
|       |       |
|-------|-------|

উত্তর:


21

আপনি Ctrl + W চাপলে বিভিন্ন উইন্ডোতে সরাতে 'wincmd' কমান্ডটি ব্যবহার করতে পারেন।

vim file4 -c 'split file2' -c 'vsplit file1' -c 'wincmd j' -c 'vsplit file3'

এটি ফাইলগুলি এইভাবে সাজানো হবে:

file1   file2
file3   file4

এটি কিভাবে কাজ করে: ফাইল 4 খোলে। অনুভূমিকভাবে বিভক্ত তাই file2 এটি উপরে। উল্লম্বভাবে বিভক্ত তাই file1 বামে, পরবর্তী উইন্ডোতে (ফাইল 1) সরানো এবং উল্লম্বভাবে আবার বিভক্ত।


6

আমি এই তথ্যটি ব্যবহার করে একটি স্ক্রিপ্ট লিখেছিলাম যা আমি চাই যে স্বয়ংক্রিয়ভাবে পর্দাটি বিভক্ত করে:

vimsp.py file1 file2 / file3

ফলাফল স্বরূপ

-----------
|f1  |f2  |
|    |    |
-----------
|file 3   |
|         |
-----------

এছাড়াও, সকল ফাইলের সামনে / সামনে রেখে তাদের সকলকে উল্লম্বভাবে বিভক্ত করে তোলে:

vimsp.py / file1 file2 file3

-------------
|file 1     |
-------------
|file 2     |
-------------
|file 3     |
-------------

https://gist.github.com/1376956


1

কমান্ড লাইন থেকে কঠোরভাবে:

vim -o3 <list of 9 files> -c:{vsp,vsp,wincmd\ j,vsp,vsp,wincmd\ j,vsp,vsp} \
  -c "windo execute 'argument ' . winnr()"

... 3x3 গ্রিডে 9 টি ফাইল খুলবে।

আপনি একটি ফাংশন লিখতে এবং এটি আপনার যোগ করতে পারে .vimrc, নিম্নলিখিত মত কিছু কাজ করতে পারে। আশা করি একটি অভিজ্ঞ ভিম স্ক্রিপ্টটি ওজন করতে পারে কারণ আমি জানি যে এটি সঠিক নয়:

function! mysplit(...)
  execute sp #1
  execute sp #1
  execute vsp
  execute vsp
  execute wincmd j
  execute vsp
  execute vsp
  execute wincmd j
  execute vsp
  execute vsp
  % I'm not at all experienced with writing vim scripts, so
  % the syntax on the following line is almost certainly not
  % correct; this is conceptual only.
  execute windo execute 'argument ' . winnr()
endfunction

... তারপর কমান্ড লাইন থেকে এটি ব্যবহার করুন:

vim <list of 9 files> -c ':execute mysplit()'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.