আল্ট কী কীভাবে মানচিত্র করবেন?


37

আমি Altনিম্নলিখিত উপায়ে কী ম্যাপ করার চেষ্টা করছি :

:map <A-j> j
:map <A-k> k

তবে এটি কাজ করে না (ঘণ্টা বাজানো হয় Alt + j/ Alt + k)।

আমি কী মিস করছি?

আমি ওএসএক্সে টার্মিনাল ব্যবহার করছি, দূরবর্তী লিনাক্সেও একই ঘটনা ঘটে।


চালু Ctrl + v, Alt + jআমি পেয়েছি: ?~H~F( কখন encoding=utf-8)

চালু Ctrl + v, Alt + kআমি পেয়েছি: ?~Z( ˚কখন encoding=utf-8)

প্লাগইন ( -u NONE) ছাড়াই ভিএম চালানো কোনও তাত্পর্য দেয় না।


1
নেই Alt(না হোল্ড প্রেস) এবং তারপর jকাজ করে? সঙ্গে xtermঅন্তত আমি সেট করতে হবে metaSendsEscapeকরতে true কাজ এইসব সিকোয়েন্স পেতে ... আমি আপনি একই সমস্যা আছে যদি জানি না, এবং আমি ওএসএক্স ব্যবহার করবেন না তাই আমি পরীক্ষা না ...
মার্টিন Tournoij

@ কার্পেটসমোকার প্রেসিং Alt, রিলিজ, তারপরে jবা অন্য কোনও কী স্বাভাবিক হিসাবে কাজ করে। আমি 'মেটা কী হিসাবে বিকল্পটি ব্যবহার করুন' বিকল্পটি পরীক্ষা করে দেখেছি এবং এটি সক্ষম করেছে এবং এটি এখন কাজ করে। সুতরাং metaSendsEscapeকৌশলটি কৌতুকটি করেছেন, ধন্যবাদ।
কেনারব

3
এই প্রশ্নের পূর্বে উত্তর দেওয়া হয়েছিল (ক ভাল প্রতিক্রিয়া সঙ্গে) এখানে: stackoverflow.com/questions/6778961/...
user3751385

উত্তর:


35

আমি লিনাক্স বা সাইগউইনে এটিই করি:

প্রথমে আপনার টার্মিনালটি দ্বারা কী পাঠানো হয় তা পরীক্ষা করুন যখন আপনি ALT+ টিপুন J:

এটি করার জন্য আমি কনসোল এবং চালাতে যাই sed -n l(আপনি catএটির জন্যও ব্যবহার করতে পারেন )। তারপরে আমি ALT+ টিপুন Jএবং দেখুন যে পর্দার অক্ষরগুলি রয়েছে ^[j

আমি প্রতিস্থাপন ^[সঙ্গে \e(আমার টার্মিনাল দ্বারা পাঠানো হয় যখন আমি চাপুন কারণ যে escএবং আমার জন্য চূড়ান্ত স্ট্রিং) \ej

তারপরে আমি এটি আমার .vimrc:

execute "set <M-j>=\ej"
nnoremap <M-j> j

এবং ম্যাপিং কাজ করে।


4
আমি :set <M-j>=\ejঅংশটির জন্য ডকুমেন্টেশন খুঁজে পাই না । আমার কী সন্ধান করা উচিত?
এভেজেনি সার্জিভ

1
উত্তরের জন্য ধন্যবাদ, এটিই একমাত্র সমাধান যা আমার জন্য কাজ করেছে w / Iterm + vim
newUserNameHere

নাহ, এটি কাজ করে না। কখনও কখনও
ইসি

1
@ এভেজেনিসারজিভ দেখুন:help :set-termcap
ধনী

9

সাহায্যে Carpetsmoker , মনে হয় যে টার্মিনাল 'মেটা কী-এর মত ব্যবহার করুন অল্টার / বিকল্পটি' করার জন্য কনফিগার করা হয় নি (এই গুই টার্মিনাল জন্য বিশেষত সাধারণ)।

ওএসএক্স-এ টার্মিনালের জন্য, এটি পছন্দসমূহ -> সেটিংস -> কীবোর্ড ট্যাব -> 'মেটা কী হিসাবে বিকল্পটি ব্যবহার করুন' এ । চেক করুন: মেটা কী হিসাবে বিকল্পটি ব্যবহার করতে আমি কীভাবে টার্মিনাল পরিবর্তন করতে পারি? ( ম্যাভেরিক্স )

এক্সটার্মের জন্য, পরীক্ষা করুন: মেটাতে ডিফল্টতে এক্সটার্ম কনফিগার করা প্রস্থান পাঠায় যা বলে:

আপনার ব্যক্তিগত .Xdeafults ফাইল ( ~/.Xdefaults) এর যে কোনও জায়গায় এই লাইনটি যুক্ত করুন :

xterm*metaSendsEscape: true

তারপরে কনফিগারেশনটি xrdb দিয়ে পুনরায় লোড করুন। এই পদক্ষেপ ব্যতীত .Xdefaultsপরবর্তী এক্স পুনরায় আরম্ভ না হওয়া পর্যন্ত পরিবর্তনগুলি কার্যকর হবে না:

xrdb -l ~/.Xdefaults

তারপরে কীগুলির সাথে মানক ম্যাপিংগুলি Alt:

:map <A-j> j
:map <A-k> k

ঠিকভাবে কাজ করে.

সাহায্যের জন্য, দেখুন: :h :map-alt-keys


4
:h :map-alt-keysঅন্য তথ্যের উত্স হিসাবেও দেখতে চাইতে পারে
পিটার রিনকার

4

আক্ষরিক কী প্রেসগুলি ম্যাপিংয়ের মাধ্যমে কোসাকের উত্তরের মতো তবে কিছুটা সহজ।

হয় চাপানোর পরে স্বাভাবিক মোডে :বা আপনার .vimrcমধ্যে sertedোকানো হয়, ম্যাপিং শুরু করে সরাসরি ইনপুটটি ম্যাপ করুন:

nnoremap 

তারপর আঘাত Ctrl+ + Vতাহলে রেকর্ড, যেমন করতে কীস্ট্রোক Alt+ + । এটি এর মতো কিছু হিসাবে প্রদর্শিত হবে:

nnoremap ^[[1;3D

তবে প্রত্যেকটিই ^[একক, আক্ষরিক অব্যাহতি অক্ষর এবং সিনট্যাক্স হাইলাইটিংটি এটি দেখানো উচিত। আক্ষরিক অবতরণ (গুলি) পাঠ্যের সাথে প্রতিস্থাপন করুন <Esc>এবং আপনি যে আদেশটি ব্যবহার করতে চান তা যুক্ত করুন:

nnoremap <Esc>[1;3D <C-w>h

আমি জানি ওপি Alt+ চিঠিগুলি ম্যাপ করছে , তবে আমি ডিফল্টরূপে ম্যাপ না করা এমন কিছুর জন্য এটি কীভাবে তা দেখানোর জন্য তীরগুলি ব্যবহার করেছি used


কবজির মতো কাজ করেছেন, অনেক অনেক ধন্যবাদ!
অ্যারেন্ডিন

2

এটি আমার জন্য উবুন্টু 16.04 এক্সএফসি টার্মিনাল (এবং এলাক্রিটি জং টার্মিনাল) এ কাজ করে

আলটিসনিপ স্নিপেট ট্রিগার এতে সেট করুন Meta-/(ঠিক যেমন ইমাস স্নিপেটের মতো)

let g:UltiSnipsExpandTrigger="^[/"

এখানে এখন আমি ^[/ভিএম টাইপ করি

সন্নিবেশ মোডে Ctrl-V Alt-/

( Metaহয় Altআমার পিসিতে কীবোর্ডে চাবি)


1

তাহলে Control+Vদ্বারা অনুসরণ ALT-xশো ^[x(টার্মিনাল টাইপ) আপনার কাছ থেকে এই ছোট স্ক্রিপ্ট এটা ঠিক করতে পারবো vim.wikia.com :

for i in range(97,122)
  let c = nr2char(i)
  exec "map \e".c." <M-".c.">"
  exec "map! \e".c." <M-".c.">"
endfor

সমস্ত Alt কী ম্যাপিংয়ের জন্য .vimrc এ যুক্ত করুন।

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