আমি কীভাবে ভিমে লাইনের শেষ দিকে যেতে পারি?


1192

আমি জানি কীভাবে সাধারণত কমান্ড মোডে ঘোরাফেরা করতে হয়, বিশেষত, লাইনগুলিতে ঝাঁপ দেওয়া ইত্যাদি। তবে আমি বর্তমানে যে রেখার লাইনে আছি তার শেষের দিকে ঝাঁপিয়ে পড়ার কমান্ডটি কী?


19
বেসিক ভিম কমান্ডগুলি 10 মিনিটেরও কম সময়ে আচ্ছাদিত youtube.com/watch?v=71YTkxUNwmg
ইওমোরফ

14
ভিমটিউটর দিয়ে কয়েক মিনিট দৌড়াদৌড়ি করার কি দোষ? এটি ইতিমধ্যে আপনার ভিম ইনস্টলেশনের একটি অংশ এবং আপনাকে বেসিকগুলি দেখায়।
ড্যাশ-টম-ব্যাং

@ ড্যাশ-টম-ব্যাং ওয়েল তারা এখানে বেশ উচ্চ স্কোর পেয়েছে ... :) তবে হ্যাঁ আপনি ঠিক বলেছেন vimtutorদুর্দান্ত। সম্ভবত তারা এটি সম্পর্কে জানেন না?
প্রাইফটান

উত্তর:


2049

শুধু $ (ডলার সাইন) কী। আপনি Aলাইনটির শেষে যেতে এবং সম্পাদনা মোডে স্যুইচ করতে (অ্যাপেন্ড) ব্যবহার করতে পারেন । গত অ ফাঁকা অক্ষর তিড়িং লাফ করতে, আপনাকে টিপতে পারেন gতারপর _কি।

বিপরীত Aহয় Iএকটি সরাইয়া হিসাবে, (লাইন শুরুতে সন্নিবেশ মোড)। শুধু চাপ দিয়ে চাপলে ^আপনার কার্সারটিকে লাইনের প্রথম অ-সাদা-স্থান অক্ষরে স্থান দেওয়া হবে।


81
সর্বশেষ খালি খালি যানg_
সেরজিওআরাউজো

2
কখনও কখনও g_প্রকরণটি আরও কার্যকর হয় কারণ এতে ফাঁকা অক্ষর অন্তর্ভুক্ত থাকে না
রোজার ক্যাম্পোস

6
ভিজ্যুয়াল মোডে কাজ করার সময় _g রূপটি সত্যই কার্যকর, কারণ এটি আপনাকে শেষে কোনও নিউলাইন ছাড়াই লাইনটি ব্যবহার করতে দেয়।
গ্রেগ রবিনস

2
হোম এবং এন্ড কীগুলি নিয়মিত কীবোর্ডে কাজ করার সময়, আপনি ল্যাপটপ ব্যবহার করার সময় $ এবং needed প্রয়োজন হয় :)
শ্রীধর সারনোবাত

আপনার তালিকায় ^ যোগ করা উচিত।
টেক

303

যেমন প্রচুর লোক বলেছেন:

  • $ আপনাকে লাইনের শেষ দিকে পৌঁছে দেবে

তবে এছাড়াও:

  • ^বা _আপনাকে লাইনের প্রথম অ-শ্বেতস্থান ক্যারেক্টারে পৌঁছে দেয় এবং
  • 0(শূন্য) আপনাকে লাইনের শেষের দিকে শুরু করে। হোয়াইটস্পেস

আমি জানতাম | লাইনের শুরুতে আমাদের পেয়ে যায় তবে আমি 0 সম্পর্কে অবগত ছিলাম না So সুতরাং 0 এবং | উভয়ই ঠিক একই জিনিস, হ্যাঁ?
কামরান বিগডেলি

8
@ কামি: বর্ণনার বর্ণনগুলি আলাদা হলেও এগুলি একই রকম আচরণ করে বলে মনে হয়। তবে পাইপ |কমান্ড একটি গণনা নিতে পারে, যেমন 3 | তৃতীয় কলামে লাফ দিতে।
পল রুয়ান

136
  • $ লাইনের শেষ অক্ষরে চলে আসে।
  • g _ শেষ নন-হোয়াইটস্পেসের চরিত্রটিতে যায়।

  • g $ স্ক্রিন লাইনের শেষ দিকে যায় (যখন কোনও বাফার লাইন একাধিক স্ক্রীন লাইন জুড়ে থাকে)


আমার মনে হচ্ছে g_ $ b এর মতোই
ডেভ অ্যারন স্মিথ

3
@ ডেভ অ্যারনস্মিথ: bআগের শব্দের শুরুতে গেছে যা মোটেও একই জিনিস নয়। এটি মোটামুটি সমান $ge
পল রুয়ান

9
আমি ব্যবহার করি _এবং g_ভিজ্যুয়াল / ইয়াঙ্কিংয়ের $জন্যও নতুন লাইন (এলএন) চরিত্রটি অনুলিপি / মুছে ফেলব।
আর্নেস্ট

আমার জন্য, the বর্তমান স্ক্রীন লাইনের শেষ দিকে যায় (যখন মোড়ানো থাকে)। আমি কেন তা বুঝতে পেরেছি না। g_লাইনের আসল প্রান্তে পৌঁছানোর একমাত্র উপায়।
ezuk

আমার $কাছে জড়িত হয়েও @zuk লাইনের শেষ প্রান্তে যায়। আমি জানি না এর আচরণটি সামঞ্জস্য করার কোনও সেটিংস। সম্ভবত এটি আপনার .vimrc দ্বারা পুনরায় তৈরি করা হয়েছে g$?
পল রুয়ান

66

মূল প্রশ্ন - লাইন শেষ

$ লাইনের শেষ দিকে যায়, কমান্ড মোডে থাকে remains

A লাইনের শেষ দিকে যায়, মোড সন্নিবেশ করতে স্যুইচ করে

বিপরীতে - লাইনটির সূচনা (প্রযুক্তিগতভাবে প্রথম অ-শ্বেতস্থান অক্ষর)

^ লাইনের শুরুতে যায়, কমান্ড মোডে থাকে

I (বড় হাতের আই) লাইনের শুরুতে যায়, সন্নিবেশ মোডে স্যুইচ করে

আরও - লাইনটির সূচনা ( শ্বেত স্পেস নির্বিশেষে প্রযুক্তিগতভাবে প্রথম কলাম )

0 (শূন্য) লাইনের শুরুতে যায়, কমান্ড মোডে থাকে

0i (শূন্যের পরে ছোট হাতের আই) লাইনের শুরুতে যায়, সন্নিবেশ মোডে পরিবর্তন করে

যারা ভিআই শিখতে শুরু করেন তাদের জন্য, টিপিক্যাল উইন্ডোজ জিইউআই এডিটর কার্সার মুভমেন্ট এবং শর্টকাট কীগুলিতে পাশাপাশি বাই কমান্ডের তালিকাভুক্ত করে vi এর একটি ভাল পরিচয় দেওয়া হয়েছে।

উইন্ডোজ ব্যবহারকারীদের জন্য vi সম্পাদক


3
থেকে অ্যানালগ Iনয় 0কিন্তু ^উভয় হিসাবে, Iএবং ^প্রথম যেতে অ হোয়াইটস্পেস লাইনের চরিত্র কিন্তু 0(যেমন তার নাম থেকেই বোঝা) কলাম শূন্য চলে যায়।
wchargin

@ ওয়াচারগিন সত্য, ভেবেছিলাম আমি কি খুঁজে পাচ্ছি না যে এর অ্যানালগটি 0হবে? (লাইনের প্রথম অক্ষর (= কলাম 0) এ যান এবং মোড সন্নিবেশ করতে যান)
ফ্রান্সসু

@ ফ্রানসু: কেবলমাত্র আমিই জানি 0i। :-)
wchargin

@wchargin - প্রযুক্তিগত নির্ভুলতার জন্য ধন্যবাদ। আমি পোস্ট আপডেট করেছি।
এপি-ওএসডি

42

যদি আপনার বর্তমান লাইনটি দৃশ্যমান পর্দার চারপাশে পরবর্তী লাইনে আবৃত হয়, আপনি স্ক্রিন লাইনের শেষ দিকে যেতে g $ ব্যবহার করতে পারেন ।


3
আমি সবেমাত্র জি-এর সাথে আপ-ডাউন কমান্ডগুলি প্রাক-পেন্ডিং খুঁজে পেয়েছি লাইন-ভিত্তিক না হয়ে কার্সার স্ক্রিন-ভিত্তিক সরানো make অর্থ্যাৎ জিজে এবং জিকে আপনাকে দীর্ঘ লাইনে উপরে এবং নীচে যেতে দেয়। সত্যিই দরকারী।
ড্রাকলস

1
এছাড়াও আবিষ্কার করেছেন যে টাইপ করা জিডাব্লু এবং কোনও কিছুর এই জাতীয় আচরণের জন্য স্থায়ীভাবে জে এবং কে পরিবর্তিত হবে । কীভাবে বা কেন তা নিশ্চিত নয়। কেউ কি এই ব্যাখ্যা করতে পারেন?
ড্রাকলস

4
@ ড্রাকলস: কিছুটা দেরিতে জবাব, তবে আপনি যদি এখনও অবাক হয়ে থাকেন, (বা অন্য কেউ এটি পড়েন তবে) gwএবং gqপাঠ্যগুলি পুনরায় ফর্ম্যাট করার নির্দেশ রয়েছে। (দেখুন :h gwএবং :h gq) সম্ভবত যা ঘটেছিল তা আপনি করেছিলেন gw{motion}এবং কিছু পাঠ্য পরিবর্তন করেছিলেন যাতে পর্দার লাইনগুলি প্রকৃত লাইনের সাথে মিলে যায়।
পান্ডুবিয়ার


13

অনেক ক্ষেত্রে, আমরা যখন একটি স্ট্রিংয়ের অভ্যন্তরে থাকি তখন আমরা একটি ডাবল উদ্ধৃতি দ্বারা আবদ্ধ হয়ে যাই, বা বিবৃতি লেখার সময় আমরা পালাতে চাপতে চাই না এবং তীর কী দিয়ে সেই লাইনের শেষ দিকে যেতে পারি এবং সেমিকোলন টিপুন ( ;ঠিক) শেষ করতে লাইন. আপনার ভিএমআরসি ফাইলের মধ্যে নিম্নলিখিত লাইনটি লিখুন :

imap <C-l> <Esc>$a

লাইন কী বলে? এটি Ctrl + l কে বিভিন্ন কমান্ডের মানচিত্র দেয়। এটি একবারে Esc(কমান্ড মোড), $(লাইনের শেষ), a(সংযোজন) টিপানোর সমতুল্য ।


তার জন্য আপনাকে ধন্যবাদ আমি আমার প্রথম মেশিনের মতো লাইনের শেষ প্রান্তে যেতে যেতে আমার
ভিমে সিটিআরএল

1
গৃহীত উত্তর হিসাবে, আপনি একই জিনিস করতে A টিপতে পারেন।
ট্রাইসিস

4
@ ট্রাইসিস যে আপনি ভুল বোঝে, এটি সম্পাদনা মোড থেকে সরে যায় না যা বেশ সুন্দর।
মার্কোনি

2
তুমি ঠিক বলছো. vimঅবশ্যই এই জাতীয় জিনিসগুলির সাথে আপনাকে অনেক কম সময়ে আরও অনেক কিছু করতে দেয়। @ রেজারপ্রেস, একটি সামান্য সমন্বয় হবে imap <C-l> <Esc>A, যা সিটিআরএল + এলকে টিপানোর সমতুল্য করে Esc(প্রস্থান সন্নিবেশ মোড), তারপরে A(লাইনের শেষ অংশে সংযোজন ) করে তোলে ।
ট্রিপসিস

3
আমি মনে করি inoremap <C-l> <C-o>A
এটির

12

'শেষ' কীটির সুবিধাটি হ'ল এটি সাধারণ এবং সন্নিবেশ মোড উভয় ক্ষেত্রেই কাজ করে।

'$' কেবলমাত্র সাধারণ / কমান্ড মোডে কাজ করে তবে এটি ক্লাসিক ভিআই সম্পাদকেও কাজ করে (যখন ভিএম উপলব্ধ না হয় তখন তা জেনে রাখা ভাল)।


38
আপনি কি সন্নিবেশ মোডের চারপাশে ঝুলছেন ?! কোনও সাধারণ ভদ্র নাগরিক দিনের আলো পরে সেখানে যায় না। তুমি জানো সেখানে কী হয়, তাই না? কোড সেখানে অদৃশ্য হয়ে গেল, তাই না? এটি অদৃশ্য হয়ে যায়, এবং আর কখনও শোনা যায় না।
রুক

3
এটির জন্য আপনাকে ধন্যবাদ, কারণ আমি একবার প্রবেশ করানোর মোডে থাকতে চাই to দুর্ভাগ্যক্রমে আমার ল্যাপটপে একটি শেষ কী নেই। :(
রে

12

লাইন (বা সম্ভবত শারীরিক লাইন) এবং স্ক্রিন লাইনের মধ্যে পার্থক্যটিও নোট করুন । একটি লাইন শেষের রেখার অক্ষর দ্বারা শেষ করা হয় ("\ n")। আপনার টার্মিনাল বা আপনার স্ক্রিনে অক্ষরের এক সারি হিসাবে প্রদর্শিত হতে পারে যা ঘটবে তা স্ক্রিন লাইন। আপনার যদি পর্দার প্রস্থের চেয়ে দীর্ঘ দৈহিক রেখাগুলি থাকে তবে দু'টি আলাদা হয়ে যায়, যা ইমেল এবং এ জাতীয় লেখার সময় খুব সাধারণ।

পার্থক্যটি শেষ-লাইন কমান্ডগুলিতেও প্রদর্শিত হবে।

  • $এবং 0যথাক্রমে শারীরিক রেখা বা অনুচ্ছেদের শেষে বা শুরুতে যান:
  • g$এবং g0যথাক্রমে স্ক্রিন লাইন বা অনুচ্ছেদের শেষে বা প্রারম্ভে যান।

যদি আপনি সর্বদা পরবর্তী আচরণ পছন্দ করেন তবে আপনি কীগুলি পুনরায় পুনরায় তৈরি করতে পারেন:

:noremap 0 g0
:noremap $ g$

1
লাইনের শেষ অ-সাদা অংশে কীভাবে পাবেন? (এটি কোনও স্ক্রিন লাইন বা শারীরিক লাইন হোক)
কামরান বিগডিলে

g_দৈহিক রেখার সর্বশেষ অ-সাদা স্থান । পর্দার লাইন কেমন?
ট্রাইসিস


9

বা এর সুস্পষ্ট উত্তর রয়েছে: Endলাইনের শেষে যাওয়ার জন্য কীটি ব্যবহার করুন ।


1
হ্যাঁ, ম্যাক টার্মিনালটি আমি লক্ষ্য করেছি যে হাইজ্যাকগুলি কীগুলি টার্মিনালের অভ্যন্তরে চলমান স্টাফগুলিতে পাস করে না। আমি যখন কিছুটা ম্যাক ব্যবহার করি তখন এমন একটি জিনিস যা আমাকে বিরক্ত করে।
ডেভর

ভিএম ব্যবহারের পুরো পয়েন্টটিতে 'এন্ড' এর মতো কী ব্যবহার করা হয় না। কখনও হোম সারি ছেড়ে যাবেন না।
জন থরোডডসন

7
ম্যাকে কোনও শেষ কী নেই।
কেনারব

1
@ টেনরব আমি মন্তব্যটি পোস্ট করার সময় সেখানে ছিল ... কিন্তু অ্যাপল বছরের পর বছরগুলিতে বৈশিষ্ট্যগুলি সরাতে পছন্দ করে। netdna.webdesignerdepot.com/uploads/2009/01/… এটি আসলে আমার সর্বকালের প্রিয় কীবোর্ডগুলির মধ্যে একটি
ডেভর

9

আমি স্ট্যান্ডার্ড টার্মিনালে vim ব্যবহারের জন্য ম্যাকবুকের হটকি দেখতে পাচ্ছি না। আশা করি এটি কারও সাহায্য করবে। ম্যাকোস ব্যবহারকারীদের জন্য (ম্যাকবুক প্রো 2018 এ পরীক্ষিত):

fn+ - শুরু লাইনে সরান

fn+ - শেষ লাইনে সরান

fn+ - পৃষ্ঠায় সরান

fn+ - পৃষ্ঠাটি নীচে সরান

fn+ g - নথির শুরুতে কার্সারটি সরান

fn + + shift + g - নথির শেষে কার্সারটি সরান

শেষ দুটি কমান্ডের জন্য কিছু সময় দু'বার আলতো চাপতে হবে।


6

সম্ভবত সম্পর্কিত নয়, তবে আপনি যদি বর্তমান লাইনের পরে কোনও নতুন লাইন শুরু করতে চান তবে আপনি লাইনের যে কোনও জায়গায় ও ব্যবহার করতে পারেন।


3

সবচেয়ে সহজ পদ্ধিতি হল বিকল্প কী হবে $। আপনি যদি পাঠ্যের ব্লকগুলি নিয়ে কাজ করছেন, আপনি কমান্ডটির প্রশংসা করতে পারেন {এবং }অনুচ্ছেদটিকে যথাক্রমে পিছনে এবং সামনে সরিয়ে নিতে।


2

সন্নিবেশ মোডে (উইন্ডোজ এবং আমি মনে করি লিনাক্সের ব্যবহার থেকে) ম্যাক সমর্থন করে না এমন লাইনের শুরু এবং শেষের দিকে আমাকে পেতে হোম / এন্ডে অভ্যস্ত ছিলাম, যা ম্যাক সমর্থন করে না। এটি বিশেষত বিরক্তিকর কারণ যখন আমি যখন রিমোট সিস্টেমে ভিএম ব্যবহার করি তখন আমি এটি সহজেই করতে পারি না। কিছু বেদনাদায়ক পরীক্ষা এবং ত্রুটির পরে, আমি এই .vimrcলাইনগুলি নিয়ে এসেছি যা একই কাজ করে তবে লাইনটি শুরু করার জন্য Ctrl-A এবং লাইনের শেষের জন্য Ctrl-D এর সাথে আবদ্ধ। (কোনও কারণে, আমি মনে করি সিটিআরএল-ই সংরক্ষিত আছে বা কমপক্ষে আমি এটিকে আবদ্ধ করার কোনও উপায় অনুভব করতে পারি না)) উপভোগ করুন।

:imap <Char-1> <Char-15>:normal 0<Char-13>
:imap <Char-4> <Char-15>:normal $<Char-13>

এএসসিআইআই কন্ট্রোল ক্যারেক্টার কোডগুলির জন্য অন্যদের জন্যও এখানে একটি ভাল চার্ট রয়েছে:

http://www.physics.udel.edu/~watson/scen103/ascii.html

আপনি পাশাপাশি Ctrl-V + Ctrl- করতে পারেন, তবে এটি এর মতো জায়গাগুলিতেও আটকায় না।

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