ভিমে কার্সার না নিয়ে পর্দা কীভাবে সরানো যায়?


598

আমি সম্প্রতি ভিমের জন্য Ctrl+ Eএবং Ctrl+ Yশর্টকাট আবিষ্কার করেছি যা কার্সারটি সরিয়ে না রেখে যথাক্রমে এক লাইন ধাপের সাথে স্ক্রিনটিকে উপরে এবং নীচে নিয়ে যায় ।

আপনি কি এমন কোনও কমান্ড জানেন যা কার্সারটি যেখানে রেখে দেয় সেখানে এটি পর্দা সরিয়ে দেয় যাতে কার্সারটি রেখাটি প্রথম লাইনে পরিণত হয়? (শেষ লাইনের একটি কমান্ড পাওয়া একটি দুর্দান্ত বোনাস হবে) be

আমি যথাযথভাবে Ctrl+ E(বা Ctrl+ Y) বার বার চাপ দিয়ে এটি অর্জন করতে পারি , তবে একটি আদেশ রয়েছে যে কোনওরকমভাবে সরাসরি এটি করা ভাল।

কোন ধারনা?


এই প্রশ্নটি ভিম বিভাগে থাকা উচিত নয়?
জন

উত্তর:


877
  • zz- বর্তমান লাইনটি পর্দার মাঝখানে সরান
    ( সতর্কতা অবলম্বন করুনzz , যদি আপনি Caps Lockদুর্ঘটনাক্রমে ঘটে থাকে তবে আপনি সংরক্ষণ এবং প্রস্থান করবেন vim!)
  • zt - বর্তমান লাইনটি স্ক্রিনের শীর্ষে সরিয়ে দিন
  • zb - বর্তমান লাইনটি স্ক্রিনের নীচে সরান

9
@ হ্যাপিগ্রিনকিডন্যাপস মানচিত্র যা ASAP নিয়ন্ত্রণ করতে লক কীটি ক্যাপ করে!
অ্যারন

আমি আমার ক্যাপস লকটির সাথে বিশেষভাবে সংযুক্ত রয়েছি, বিশেষত প্রচুর সি ম্যাক্রোর সাথে ডিল করছি, তবে আপনার কাছে অন্য বিকল্প রয়েছে। প্রথমে একটি মোড়বিহীন কী (অক্ষরের জন্য দুটি ক্ষেত্রে পরীক্ষা করুন; একটি চিহ্ন বা ফাংশন কী ইত্যাদি ব্যবহার করে কোনও সংশোধক বা নেতা যুক্ত করার চেষ্টা করুন) সন্ধান করুন এবং এটি সংবেদনশীল 'ঝুঁকিপূর্ণ' সংমিশ্রণে ম্যাপ করুন। দ্বিতীয়ত, ভিউমুন্ডোকে আপনার পছন্দ অনুসারে কনফিগার করুন যাতে আপনি উফ থেকে পুনরুদ্ধার করতে পারেন। (নন-পোর্টেবল হ্যাক্স ইনকামিং :) তৃতীয়, আপনার ব্যবহারকারীর কীবোর্ড কনফিগারেশন থেকে একই করুন, যেমন উইন্ডোজ কী + জেড; অনুক্রমের মানচিত্রের জন্য, চেষ্টা করুন xdotoolবা triggerhappy। শেষ অবধি, আপনার ক্যাপস লক অবস্থাটি প্রদর্শন করুন (ভিমস্ক্রিপ্টে করা যাবে না) ...
জন

2
আপনার ক্যাপস লক অবস্থা জিজ্ঞাসা করা খুব পরিবেশ নির্ভর- আমি শুনেছি এটি ভিমস্ক্রিপ্টে করা যায় না এবং এই মুহুর্তে আমি এটি গ্রহণ করেছি। আপনি যে রাস্তা নিচে যেতে চান, তাহলে সেখানে xev -q, cat /proc/bus/input/devicesক্যোয়ারী ডিভাইস খুঁজে পেতে এবং evtestবা thd ... --dump /dev/input/event<#>ইত্যাদি রাষ্ট্র চেক করতে, আপনি একেবারে একটি সিস্টেম-ব্যাপী remapping করতে হবে, তাহলে অন্তত swap 'র এ ক্যাপ মত দুই কেশ <-> NUM - তবে বিষয়টি আরও ভুলে যাচ্ছে যে এটি চালু আছে, কারণ আপনি যদি এটি আগে চেয়েছিলেন তবে আপনি যে কোনও মানচিত্রের দ্বারা এটি ব্যবহার চালিয়ে যাবেন। ফাইল / ব্যবহারকারী / সিস্টেমের আগে ভিম ভেঙে ঝুঁকি।
জন পি

অন্যান্য ভিম স্ক্রিপ্ট বিকল্পগুলি: ছাড় / ছাড় / ইত্যাদি নিশ্চিত করতে 'নিশ্চিত করুন' চালু করুন; লেখার জন্য, আমি বিশ্বাস করি আপনার সাথে বুফউইটপ্রাইয়ের জন্য একটি স্বতঃসম্পর্ক প্রয়োজন confirm()। এছাড়াও, সিআরটিএল-এ ক্যাপস লকটি ম্যাপিংয়ের পরিবর্তে, আপনি এটি কোনও কী বা সংমিশ্রণে ম্যাপ করতে পারেন যা বোঝা গেছে তবে ভিম দ্বারা আনম্যাপ করা হয়েছে, এবং তারপরে লকটি সন্নিবেশ / প্রতিস্থাপনের সময় হাতে বা github.com/tpope/ এর মতো কিছু দিয়ে একচেটিয়াভাবে লক অনুকরণ করতে পারেন em vim-CapsLock । আপনার সম্ভবত এটি ভিমের বাইরে দরকার হবে না, তবে আপনি যদি করেন তবে আপনার পরিবর্তনগুলি ফিরিয়ে আনার জন্য এক্সমোডম্যাপ স্ক্রিপ্ট লিখুন বা দেখুন প্রোগ্রামটি নিজস্ব ম্যাপিংগুলি সমর্থন করে কিনা (এবং নোটগুলি তৈরি করুন
জন পি

3
ZT / ZZ / ZB - ফিক্সড কার্সার এবং পদক্ষেপ পর্দা টি অপ / কেন্দ্র (জার্মান: ' z- র entrum') / ottom <---> হা / এম / এল - ফিক্সড স্ক্রিন এবং পদক্ষেপ কার্সারের এইচ igh / এম iddle / এল ow অবস্থান
eli

626

উপরন্তু:

  • Ctrl- yস্ক্রীনটিকে এক লাইনে নিয়ে যায়
  • Ctrl- eস্ক্রীনটিকে এক লাইনের নিচে নিয়ে যায়
  • Ctrl- uকার্সার ও স্ক্রিন আপ পৃষ্ঠাতে সরায়
  • Ctrl- dকার্সার ও স্ক্রিনটি পৃষ্ঠাতে সরায়
  • Ctrl- bএক পৃষ্ঠার স্ক্রিন উপরে নিয়ে যায়, কার্সারটি শেষ লাইনে চলে যায়
  • Ctrl- fস্ক্রীনটিকে একটি পৃষ্ঠার নীচে সরানো হয়, কার্সারটিকে প্রথম লাইনে সরানো হবে

Ctrl- yএবং Ctrl- eকেবলমাত্র কার্সারের অবস্থান পরিবর্তন করুন যদি এটি স্ক্রিন থেকে সরানো হয়।

সৌজন্যে http://www.lagmonster.org/docs/vi2.html


91
@ জুলিদকো: ইফটার (সুইডিশ ভাষায় পরে), ইওর (অতীত অর্থ), উপরে, নীচে, পিছনে, এগিয়ে। (পিছনে এবং সামনের শব্দগুলি উপরে এবং নীচের চেয়ে লম্বা, তাই স্বাভাবিকভাবেই তারা স্ক্রিনটিকে আরও দীর্ঘ দূরত্বে নিয়ে যায়;)
মোবার্গ

12
আমার ধারণা হ্যাঁ, গতকাল যেমন
স্মৃতিচারণের

Ctrl-u এবং Ctrl-d উভয়ই কার্সারটি সরান: " কার্সারটি ফাইলগুলিতে একই সংখ্যক লাইনকে সরানো হয় (যদি সম্ভব হয়; লাইনগুলি মোড়ানো হয় এবং ফাইলটির শেষের দিকে আঘাত করার সময় একটি পার্থক্য থাকতে পারে)। "
লেক্স আর

ধন্যবাদ @ লেেক্সআর, আমি এই পার্থক্যটি প্রতিফলিত করার জন্য উত্তরটি আপডেট করেছি।
পল হুইলার

1
:help CTRL-EবলেছেনMnemonic: Extra lines.
নিকো বেলিক

39

ভিমের জন্য সর্বদা কার্সারটি বর্তমান স্ক্রিনে থাকা দরকার, তবে আপনি বর্তমান অবস্থানটি স্ক্রোলটি বুকমার্ক করতে পারেন এবং তারপরে আপনি যেখানে ছিলেন সেখানে ফিরে আসতে পারেন।

mg  # This book marks the current position as g (this can be any letter)
<scroll around>
`g  # return to g

1
মনে রাখবেন যে আপনি যদি কেবল বুকমার্কড লাইনে যাওয়ার বিষয়ে চিন্তা করেন তবে আপনি 'জি
ম্যাট ব্রিগস

4
"ভিমকে সর্বদা বর্তমান স্ক্রিনে কার্সার থাকা দরকার" ভিম ব্যবহারকারীরা গর্ব করতে চান যে সমস্ত কিছুই ভিমে কনফিগারযোগ্য। এই না। আমি ফাইলটি স্ক্রোল করার সময় আমার কার্সারটি সরানো চাই না। আমার জন্য
ডিলব্রেকার

8
আমি কখনই এমন পরিস্থিতি পাইনি যেখানে আমি চেয়েছিলাম যে কার্সারটি কোথাও আপনি দেখতে পাচ্ছেন না। অবশ্যই, আপনি যখন স্ক্রোল করবেন তখন কার্সারটি চলাফেরা করে তবে আপনি যেখানে তুচ্ছ ছিলেন সেখানে ফিরে যেতে পারেন (যাতে আপনি দেখতে পাচ্ছেন যে আসলে আপনি কোথায় ছিলেন, কেবল অনুমানের ধারনা নয়)। একজনের জন্য ডাবল ব্যাক-টিক, Ctrl-Oঅন্য সত্যিই দুর্দান্ত একটির জন্য এবং "ব্যাকটিক, পিরিয়ড" আপনাকে যেখানে শেষ সম্পাদনা করেছিলেন সেখানে ফিরিয়ে দেয়।
ড্যাশ-টম-ব্যাং

3
@ গেগালাত, আপনি যখন স্ক্রোল করবেন তখন এটি অন্য সম্পাদকদের মধ্যে অত্যন্ত বিরক্তিকর, আপনার কার্সারটি আর কোথায় নেই তা জানেন না এবং মাউসটি কোথাও ক্লিক করতে হবে যাতে আপনি কার্সারটি ফিরে পেতে পারেন। অথবা আপনি মনে করেন যে আপনি "এখানে" আছেন, টাইপ করা শুরু করুন এবং এটি হঠাৎ করে লাফিয়ে যায় যেখানে কার্সারটি ছিল যেখানে আপনি যেখানে স্ক্রোল করেছিলেন সেখানে ফিরে যেতে পারবেন না, কারণ কেবল কার্সারের অবস্থানগুলিই ট্র্যাক করা হয়েছে। আপনি যেখানে যাবেন সেখানে কার্সারটি অনুসরণ করা যুক্তিযুক্তভাবে ভাল জিনিস।
শাহবাজ

1
এটি কনফিগারযোগ্য, @ গাদেলাট। আপনার এই ঠিক উত্তরটি mgমানচিত করা দরকার (এর সাথে চিহ্নিত অবস্থান , চারদিকে স্ক্রোল করা, এর সাথে চিহ্নিত চিহ্ন 'gএবং আপনার কাজ শেষ। এখন আপনি কনফিগারযোগ্য কীটি ঘুরে দেখতে পারেন এবং কার্সারটি বর্তমান অবস্থানটি কখনও ছাড়েনি বলে মনে হবে V ভয়েলি!
ডাঃ বেকো

18

এখানে আমার সমাধানটি ভিএমআরসি-তে রয়েছে:

"keep cursor in the middle all the time :)
nnoremap k kzz
nnoremap j jzz
nnoremap p pzz
nnoremap P Pzz
nnoremap G Gzz
nnoremap x xzz
inoremap <ESC> <ESC>zz
nnoremap <ENTER> <ENTER>zz
inoremap <ENTER> <ENTER><ESC>zzi
nnoremap o o<ESC>zza
nnoremap O O<ESC>zza
nnoremap a a<ESC>zza

যাতে কার্সারটি পর্দার মাঝখানে থাকবে এবং স্ক্রিনটি উপরে বা নীচে চলে যাবে।


আমি মনে করি এই সমাধানটি ওপিটির বেশি প্রয়োজন। আমি এটি প্রয়োগ করেছি এবং এটি একটি কবজির মতো কাজ করে।
গুস্তাভো পিনসার্ড

9
কিভাবে 'স্ক্রোলফ' সেট করে 'লাইনের' অর্ধেক মানের?
rld।

দুর্ভাগ্যক্রমে "nnoremap o o <ESC> zza" স্বয়ংচালিত লোকটি হারায়, তবে এটি একটি অস্থায়ী চরিত্র যুক্ত করে এবং মুছে ফেলার মাধ্যমে এর চারপাশে কাজ করে '' "nnoremap o o। <ESC> zzxa"
নিল ম্যাকগিল

আপনাকে ধন্যবাদ @ র‌্যালি, 'স্ক্রোলফ' একটি ভাল বা সম্ভবত আরও ভাল সমাধান। ধন্যবাদ! এখানে রেফারেন্সটি দেওয়া হয়েছে: vim.wikia.com/wiki/…
হেনরি

14

একই কলামে কার্সার ছেড়ে যখন আপনি ব্যবহার Ctrl+ + D, Ctrl+ + F, Ctrl+ + B, Ctrl+ + U, G, H, M, L,gg

আপনার নিম্নলিখিত বিকল্পটি নির্ধারণ করতে হবে:

:set nostartofline

2
আমি ভুলে / এটি প্রত্যেক সময় গুলান: ZT / ZZ / ZB - ফিক্সড কার্সার এবং পদক্ষেপ পর্দা টি অপ / কেন্দ্র (জার্মান: ' z- র entrum') / ottom <---> হা / এম / এল - ফিক্সড স্ক্রিন এবং পদক্ষেপ এইচ হাই / এম আইডল / এল আউ অবস্থানের উপর কার্সার
এলি

8

আমি অবাক হয়েছি যে কেউ Scrolloffবিকল্পটি ব্যবহার করছে না যা কার্সারটিকে পৃষ্ঠার মাঝখানে রাখে। এটি দিয়ে চেষ্টা করুন:

:set so=999

এটি ভিম উইকিতে প্রথম প্রস্তাবিত পদ্ধতি এবং ভালভাবে কাজ করে।


3
এবং যদি আপনি কার্সার সবসময় হতে চাই না ঠিক মাঝখানে, আপনি এটি একটি ছোট মান সেট করতে পারেন। উদাহরণস্বরূপ, :set scrolloff=4উইন্ডোর উপরে বা নীচে থেকে সর্বদা কমপক্ষে 4 লাইন দূরে থাকা কার্সারটির প্রয়োজন হবে, তাই আপনার সর্বদা কমপক্ষে কিছুটা প্রসঙ্গ থাকতে হবে।
সোরেন জর্নস্ট্যাড

6

আমি অতীতে এই শর্টকাটগুলি ব্যবহার করেছি ( দ্রষ্টব্য: পৃথক কী স্ট্রোকগুলি অর্থাৎ ট্যাপ জেড , চলুন, পরবর্তী কীটি টিপুন):

z enter -> বর্তমান লাইনটিকে পর্দার শীর্ষে সরিয়ে দেয়

z . -> বর্তমান লাইনটিকে পর্দার কেন্দ্রে নিয়ে যায়

z - -> বর্তমান লাইনটি নীচে সরানো হয়

যদি এটি সুস্পষ্ট না হয়:

enterমানে Returnবা Enterকী।

.অর্থ ডট বা "ফুল স্টপ" কী ( .)।

-মানে হাইফেন কী ( -)

এটির জন্য মূল্যবান, ক্যাপস-লক চালু থাকলে z.দুর্ঘটনাক্রমে টাইপ করে ভি কে সংরক্ষণ এবং বন্ধ করার ঝুঁকি এড়ানো ZZ


5

আপনি একটি সংখ্যার সাথে আপনার কার্সার মুভ কমান্ডগুলির উপসর্গ করতে পারেন এবং সেই আদেশটি বহুবার পুনরাবৃত্তি করবে

10Ctrl+ + Eকি করতে হবে Ctrl+ + E10 বার এক পরিবর্তে।


4

zEnter এই প্রশ্নটি যা চায় ঠিক তাই করে exactly

এটি এমন জায়গায় কাজ করে যেখানে আশ্চর্যজনকভাবে zzকাজ করবে না (উবুন্টু 2016.04 এলটিএস-তে কোনও বিশেষ .vimrc ছাড়াই) Vim 7.4.1689


4

আপনি " কার্সার, কাস্টম ম্যাপিংয়ের সাথে সম্পর্কিত স্ক্রোলিং ভিমের উত্তর পেতে পারেন " এর দরকারী ।

ScrollToPercent(0)এটি করতে আপনি এই প্রশ্নটি থেকে ব্যবহার করতে পারেন ।


সত্যই, দুর্দান্ত ফাংশন। ধন্যবাদ।
ereOn

2

কখনও কখনও এটি Kএবং Jকীগুলির সাহায্যে পাঠ্যটি স্ক্রোল করা কার্যকর হয় , সুতরাং আমার আমার .vimrc এ এই "স্ক্রোল মোড" ফাংশন রয়েছে (এছাড়াও আবদ্ধzs ) -এ ।

স্ক্রোল_মোড.ভিম দেখুন ।


2

স্ক্রোলিংয়ের জন্য আমার স্মৃতিচারণ ...

অন্যান্য উত্তরের সাথে যুক্ত করা zeএবং এর zsঅর্থও মনোযোগ দেয় : কার্সারের বাম / ডানে পর্দা সরান (কার্সারটি সরানো ছাড়াই)

+-------------------------------+
^                               |
|c-e (keep cursor)              |
|H(igh)             zt (top)    |
|                   ^           |
|           ze      |      zs   |
|M(iddle)  zh/zH <--zz--> zl/zL |
|                   |           |
|                   v           |
|L(ow)              zb (bottom) |
|c-y (keep cursor)              |
v                               |
+-------------------------------+

এছাড়াও অবস্থান তাকান hএবং lএবং tএবং bএবং (কোয়ার্টেজ কীবোর্ড সঙ্গে) c-eএবং c-yস্মরণ করার যেখানে পর্দা সরানোর হয় কীবোর্ডে (এছাড়াও "Y" একরকম নীচে পয়েন্ট)।


1

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

প্রথম লাইনে কার্সার, শেষ রেখা এবং মাঝখানে কার্সারটির মধ্যে দ্রুত ক্লিক করে দ্রুত স্যুইচ করা সহজ j, kবাl যখন আপনি প্লাগিন মোডে আছেন।

আমার ধারণা এটি এখানে ভাল ফিট হবে।


1

ভিমে প্রবেশ করুন এবং টাইপ করুন:

:help z

zredraw এর জন্য vim কমান্ড, সুতরাং আপনি যেখানে কার্সারটি রেখেছেন তার তুলনায় এটি ফাইলটি পুনরায় আঁকবে। আপনার কাছে বিকল্পগুলি নিম্নরূপ:

z+- উইন্ডোটির শীর্ষে এবং আপনার লাইনের প্রথমে খালি অক্ষরটিতে কার্সার দিয়ে ফাইলটি পুনরায় আঁকুন ।

z-- উইন্ডোটির নীচে এবং আপনার লাইনের প্রথমটি খালি অক্ষরটিতে কার্সার দিয়ে ফাইলটি পুনরায় আঁকুন ।

z.- উইন্ডোটির কেন্দ্রে এবং আপনার লাইনের প্রথম খালি অক্ষরটিতে কার্সার দিয়ে ফাইলটি পুনরায় আঁকুন ।

zt- উইন্ডোর উপরে কার্সার দিয়ে ফাইল পুনরায় আঁকুন ।

zb- উইন্ডোর নীচে কার্সার দিয়ে ফাইল পুনরায় আঁকুন ।

zz- উইন্ডোর মাঝখানে কার্সার দিয়ে ফাইল পুনরায় আঁকুন ।

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