ডিফল্টকিবিন্ডিং.ডিক্ট - পুরাতন স্টাইলের NeXT ফর্ম্যাট বনাম এক্সএমএল প্লাস্ট ফর্ম্যাট


9

DefaultKeyBinding.dict

~/Library/KeyBindings/DefaultKeyBinding.dictপুরোনো শৈলী নেক্সট ফরম্যাট (: ফাইল আপনি সংজ্ঞায়িত ম্যাক OS X আপনার নিজের কী বাইন্ডিং এটা দুই ফরম্যাটের এক হতে পারে দেয় উদাহরণস্বরূপ ) অথবা আধুনিক ধাঁচের এক্সএমএল plist ফরম্যাট ( উদাহরণস্বরূপ )।

রিবন্ডিং +

আমি কমান্ড-ব্যাকস্পেস ( + ) এ পুনরায় প্রত্যাবর্তন করতে চেয়েছিলাম deleteWordBackward:, এবং আমি এই এসকিডিফরেন্ট থ্রেডে কিছুটা সহায়তা পেয়েছি । এটি আমার DefaultKeyBinding.dictফাইল হিসাবে এটি ব্যবহার করার পরামর্শ দেওয়া হয়েছিল :

/* my keybindings */
{
"@\U007F" = "deleteWordBackward:"; /* delete backwards one word */
}  

এই পরামর্শটি কাজ করেছে (ধন্যবাদ, ছেলেরা!), তবে ইতিমধ্যে আমার DefaultKeybinding.dictএক্সএমএল ফর্ম্যাটে একটি কাজ রয়েছে, তাই আমি সেভাবে এটি চালিয়ে যাওয়ার চেষ্টা করতে চেয়েছিলাম। আমি আমার বিদ্যমান ফাইলটির নীচে কেবল এই পাঠ্যটি যুক্ত করেছি:

<key>@\U007F</key>
<string>deleteWordBackward:</string>

এবং আমি মাত্র + এন্ট্রি সহ একটি ব্র্যান্ড-নতুন এক্সএমএল-ফর্ম্যাট ফাইল তৈরি করার চেষ্টা করেছি :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>@\U007F</key>
    <string>deleteWordBackward:</string>
</dict>
</plist>

তবে দুটি ফাইলই কাজ করেনি। আপাত অবস্থা, তারপর, আপনি নতুন করে বাঁধানো পারে + + শুধুমাত্র পুরোনো শৈলী নেক্সট বিন্যাসে, এবং এক্সএমএল plist বিন্যাসে। আমার প্রশ্নগুলি হ'ল:

  1. এটি কি সঠিক, বা আমি যখন এক্সএমএল ফর্ম্যাটে স্যুইচ করছি তখন সিনট্যাক্সটি কোনওরকম পরিবর্তন হওয়া উচিত?
  2. আমি কি আমার বাকী DefaultKeyBinding.dictফাইলটিকে পুরানো বাক্য বাক্সে সরানোর জন্য আফসোস করব ? এটি করা খুব বেশি কাজ হবে না - এটি কেবল এক বা দুই ডজন এন্ট্রি - তবে আমি নিশ্চিত নই যে পুরানো স্টাইলটি অন্য কোনও কারণে অবচিত বা খারাপ পরামর্শ দেওয়া হয়েছে কিনা।

সম্পাদনা করুন: মূল ডিফল্টকী বাইন্ডিং.ডিক্ট

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

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key></key>
    <string>complete:</string>
    <key>^ </key>
    <string>setMark:</string>
    <key>^a</key>
    <string>moveToBeginningOfLine:</string>
    <key>^e</key>
    <string>moveToEndOfLine:</string>
    <key>^j</key>
    <string>setMark:</string>
    <key>^v</key>
    <string>pageDown:</string>
    <key>^w</key>
    <string>deleteToMark:</string>
    <key>^x</key>
    <dict>
        <key>^m</key>
        <string>selectToMark:</string>
        <key>^x</key>
        <string>swapWithMark:</string>
    </dict>
    <key>~</key>
    <string>deleteWordBackward:</string>
    <key>~&lt;</key>
    <string>moveToBeginningOfDocument:</string>
    <key>~&gt;</key>
    <string>moveToEndOfDocument:</string>
    <key>~^h</key>
    <string>deleteWordBackward:</string>
    <key>~b</key>
    <string>moveWordBackward:</string>
    <key>~d</key>
    <string>deleteWordForward:</string>
    <key>~f</key>
    <string>moveWordForward:</string>
    <key>~n</key>
    <string>scrollLineDown:</string>
    <key>~p</key>
    <string>scrollLineUp:</string>
    <key>~v</key>
    <string>pageUp:</string>
    <key>~</key>
    <string>deleteWordBackward:</string>
</dict>
</plist>

আমি এক্সএমএল ফর্ম্যাটটি ব্যবহার করি নি, তবে আপনার বিদ্যমান এক্সএমএল ফাইলটিতে আপনার কীবোর্ড শর্টকাটগুলিতে আপনি অন্য কোনও মেটা-কী ব্যবহার করছেন কিনা তা সম্পর্কে আমি আগ্রহী। আপনি ~বিকল্পের $জন্য বা শিফট জন্য ব্যবহার করছেন ?
কনগ্রিফিন

বা ^নিয়ন্ত্রণের জন্য?
কনগ্রিফিন

আমার সাথে ~এবং এর সাথে কাজ করার এন্ট্রি রয়েছে ^তবে $বা এর সাথে কোনওটিই নেই @। : (নোট আমি এগিয়ে যান এবং ভাল ক্ষেত্রে যে সক্রিয় আউট উপযোগী হতে হবে যেমন ওপি আমার মূল DefaultKeyBindings.dict ফাইল যোগ।)
মীখা আর Ledbetter,

এটি অদ্ভুত, আমি এটি আর কাজ করতে পারি না। এটি খুব ভাল নথিভুক্ত বলে মনে হয় না। আপনার কাছে কেবলমাত্র একটি ছোট সংখ্যক শর্টকাট রয়েছে যা কেবলমাত্র 1 মেটা কী এবং 1 টি অক্ষর নয় তাই সম্ভবত সেগুলি পরীক্ষায় রূপান্তর করার চেষ্টা করুন এবং যদি তারা কাজ করে তবে সম্ভবত আপনার অন্যান্যগুলিও এটির করবে। এটি এমন ক্ষেত্রে হতে পারে যে কমান্ড কীটি উপস্থাপন করা @প্লাস্ট ফাইলের XML শৈলীতে গ্রহণযোগ্য নয়। এটি বেশি অর্থবোধ করে না তবে আমি এটি সম্পর্কে আরও কিছু খুঁজে পাচ্ছি না।
কনগ্রিফিন

এ সম্পর্কিত অ্যাপলের সাথে একটি বাগ ফাইল করা শেষ; তারা জবাব দেয় কিনা দেখুন :)।
মিকাহ আর লেডবেটার

উত্তর:


3

পুরানো ফর্ম্যাটটি ব্যবহার করে আপনার কোনও সমস্যা হবে বলে আমি মনে করি না। আমি যে সমস্ত উদাহরণ পেয়েছি সেগুলি পুরানো NeXT স্বরলিপি ব্যবহার করে। যদিও আমি এক্সএমএল ফর্ম্যাটটি কাজ করে না তা ব্যাখ্যা করতে পারি না, তবে এই নির্দিষ্ট কীবোর্ড শর্টকাটের জন্য একটি কার্যকারিতা রয়েছে যার অর্থ আপনি আপনার বিদ্যমান DefaultKeyBinding.dictঅচ্ছুত রেখে যেতে পারেন ।

KeyRemap4MacBook নামে একটি অ্যাপ্লিকেশন রয়েছে যা ডাউনলোড করার জন্য নিখরচায় এবং আপনি নীচের স্ক্রিনশট থেকে দেখতে পারেন, আপনার বাকী ফাইলটি রূপান্তর না করে আপনি + কীবোর্ড শর্টকাটটি পুনরায় তৈরি করতে পারেন DefaultKeyBinding.dictএবং এই পদ্ধতিটি কোকো অ্যাপ্লিকেশনগুলিতে সীমাবদ্ধ নয়।

KeyRemap4MacBook


3

\U007fএক্সএমএল সম্পত্তি তালিকায় ব্যবহার করা যাবে না। আপনার এটির &#x007f;বা আক্ষরিক DELচরিত্রের সাথে প্রতিস্থাপন করতে হবে ।


আপনি এটি দিয়ে পুরানো স্টাইলের প্লিস্টকে এক্সএমএলে রূপান্তর করতে পারেন plutil:

plutil -convert xml1 test.plist

এবং এক্সএমএল থেকে পুরানো স্টাইলে এর সাথে pl:

pl -input test.plist

আমার ডিফল্টকিবিন্ডিং.ডিক্ট বর্তমানে 151 টি লাইন এবং আমি এটি কোনও পুরানো-শৈলীর সম্পত্তি তালিকা হিসাবে সংরক্ষণ করে কোনও সমস্যায় পড়িনিব্রেট টেরপস্ট্র্রা এবং জ্যাকব রুস পোস্ট করেছেন সেগুলিও পুরানো স্টাইলের ফর্ম্যাটে রয়েছে।

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