ভিমে এন ড্যাশ toোকানোর সহজতম উপায় কী?


33

একটি এন ড্যাশ sertোকাতে , আমি ব্যবহার করি ^v u 2014যা সাতটি কীপ্রেস। কোন সহজ উপায় আছে? (আমি ডিগ্রাফগুলির দিকে তাকিয়ে ছিলাম এবং সেখানে কোনও ড্যাশও পাইনি))


4
FYI, U + 2014 একটি ইম ড্যাশ। U + 2013 একটি EN ড্যাশ। fileformat.info/info/unicode/char/2014/index.htm , fileformat.info/info/unicode/char/2013/index.htm
কুইন্সি

7
আপনি যদি এক্স 11 ব্যবহার করছেন তবে আমি এক্সকম্পোজ বলব ... এটি কেবলমাত্র ভিম নয়, আপনার সমস্ত অ্যাপ্লিকেশনগুলিতে কাজ করবে। অথবা আপনি যদি ওএসএক্স বা উইন্ডোতে থাকেন তবে সেই ওএস সরবরাহ করে।
মার্টিন টর্নয়েজ

সম্ভবত সবচেয়ে সহজ উপায় নয়, তবে আমি ব্যবহারের প্রবণতা <Ctrl-Shift-U>2013<Space>কারণ এটি সর্বত্র কাজ করে। কয়েকটি কী কোড দীর্ঘ পথ যেতে পারে (আমি মূলত ইউ + 2013, ইউ + 2014, ইউ + 2026, ইউ + 2212, ইউ + 2192, ইউ + বি 0; - / - /… / - / → / °) ব্যবহার করি।
wchargin

কৌতূহলের বাইরে, আপনি কীভাবে ড্যাশগুলি প্রদর্শন করবেন ? আফাইক, অ-স্থির-প্রস্থের ফন্টগুলি সঠিকভাবে প্রদর্শন করার কোনও উপায় নেই (অর্থাত্ অ-অভিন্ন অক্ষরের প্রস্থ এবং কর্নিং সহ), সুতরাং এম এবং এন-ড্যাশগুলি সর্বদা হিফেনের মতো দেখায় যা অক্ষরের সীমার চূড়ান্ত প্রান্ত পর্যন্ত প্রসারিত। কীভাবে চরিত্রটি ভিমে প্রদর্শিত হয় এবং এটি অন্য কোথাও রেন্ডার করা হয় তার মধ্যে কী আপনার চূড়ান্ত সংযোগ স্থাপন করতে আপত্তি নেই?
কাইল স্ট্র্যান্ড

2
আমি @ কার্পেটস্মোকারের সাথে আছি: Compose - - -একটি এম-ড্যাশের Compose - - .জন্য , এন-ড্যাশের জন্য। রচনা যাদু is
রোমান

উত্তর:


42

আপনি ডিগ্রাফগুলি ব্যবহার করতে পারেন: Ctrl+k-N(মূলধন সহ N)

সন্নিবেশ মোডে, ডিগ্রাফগুলি Ctrl+kদ্বি-চরিত্রের ক্রম দ্বারা প্রবেশ করা হয় । এন-ড্যাশের জন্য, ক্রমটি হ'ল -N

কুইন্সি যেমন উল্লেখ করেছে, U+2014এম-ড্যাশ। আপনি যদি ডিগ্রাফগুলি ব্যবহার করে প্রবেশ করতে চান তবে ক্রমটি হ'ল -M


তেমনি, একটি ইম ড্যাশ <Ck>-এম দিয়ে সন্নিবেশ করা যায়।
কুইন্সি বোলার্স

U+2014এন-ড্যাশ নয়? আমার পুরো জীবন মিথ্যা ছিল! সম্পাদনা: এখন আমি এটি পেয়েছি: আমার টার্মিনাল ফন্ট (ইনকনসোলটা) উভয় ড্যাশকে একইভাবে উপস্থাপন করে।
টমাস টমেসেক

3
হেক্স 2013 দশমিক 8211 হয় ব্যবহার করুন: এই উত্তর উতরান থেকে :digraphsজন্য 8211 সকল digraphs প্রদর্শন করে কমান্ড এবং চেহারা
200_success

10

যদি কোনও পূর্বনির্ধারিত ডিজিট্রাফ না থাকে বা আপনি আরও একটি স্মরণীয় কী ক্রম চান তবে আপনি নিজের ভিএমআরসি-তে ডিগ্রাফগুলি সংজ্ঞায়িত করতে পারেন। উদাহরণস্বরূপ, নীচে এন ড্যাশ (8211) এবং এম ড্যাশ (8212) এর জন্য দুটি ডিগ্রাফ সংজ্ঞায়িত করা হবে যা তাদের এক্সকম্পোজের ক্রমগুলি মিরর করে।

digraph -. 8211 -- 8212

:digraphকমান্ড আশা মান দশমিক বদলে হেক্স নির্ধারণ করা হয়, যার কারণে এটি স্বীকারোক্তি বদলে ড্যাশ 2013 জন্য 8211 আছে।


এন ড্যাশ
ডিগ্রাফ

1
@ 200_success আমি বলিনি যে এটি ছিল না। :) ভিমের ডিগ্রাফের পছন্দগুলি সবসময় আরও প্রমিত মানের সাথে একত্রিত হয় না, সুতরাং আপনার নিজস্ব ডিজিট্রাফ কীভাবে সংজ্ঞায়িত করা যায় তা জানা থাকলেও এটি ইতিমধ্যে বিদ্যমান থাকলেও।
জামেসান

8

টমকমডো ব্যাখ্যা অনুসারে ভিমে একটি এন ড্যাশ in োকানোর প্রমিত উপায়টি একটি ডিজিরাফ ব্যবহার করা ।

যাইহোক, আমি সাধারণভাবে digraphs, এবং বিশেষ করে এই এক ( Ctrl+k, -, Shift+N) টাইপ করতে প্রশংসনীয় বিশ্রী। ড্যাশগুলির দ্রুত ইনপুটগুলির জন্য, আপনি ফাইল টাইপ ফাইলে নিম্নলিখিত সংযুক্ত সন্নিবেশ-মোড ম্যাপিংগুলি যুক্ত করতে পারেন .vim/after/ftplugin/markdown.vim

যথাক্রমে এন / এম ড্যাশগুলির জন্য:

inoremap <buffer> --<space> –<space>
inoremap <buffer> -- —

এনবি এর <buffer>অর্থ এই ম্যাপিংটি কেবল মার্কডাউন ফাইলগুলিতে প্রযোজ্য। এটি প্রয়োজনীয় কারণ এখানে কিছু প্রসঙ্গ রয়েছে (যেমন প্রোগ্রামিং) যেখানে আমি চাই না যে দুটি হাইফেন ড্যাশ দিয়ে প্রতিস্থাপন করা হোক।

এই ম্যাপিংগুলি এই বিষয়টির সদ্ব্যবহার করে যে আমি সাধারণত তাদের ব্যবহারগুলিতে ব্যবহার করি, এন ড্যাশগুলি চারপাশে ফাঁকা জায়গা থাকে এবং এম ড্যাশগুলি হয় না* এই ম্যাপিংগুলি ব্যবহার করার অর্থ হ'ল আমি কম সক্ষম পাঠ্য সম্পাদকগুলিতে ঠিক একই কিপ্রেসগুলি ব্যবহার করতে পারি যা আমাকে মাঝে মাঝে ব্যবহার করতে বাধ্য করা হয় এবং এখনও একটি বুদ্ধিমান আউটপুট পেতে পারি। **

আমি আসলে উপরের তুলনায় কিছুটা জটিল সমাধান ব্যবহার করি, কারণ, টাইপোগ্রাফিক কারণে আমি চুলের জায়গাগুলি দিয়ে আমার ইম-ড্যাশগুলি ঘিরে রাখতে পছন্দ করি । মার্কডাউন এগুলি এটিকে কম পাঠযোগ্য করে তোলে, তবে ভাগ্যক্রমে, ভিমের এর "গোপন" ফাংশন সহ এর সমাধান রয়েছে, যা কার্সার যখন অন্য লাইনে থাকে তখন আপনাকে নির্দিষ্ট সিনট্যাক্স আইটেমগুলি আড়াল করতে দেয়: ***

inoremap <buffer> --<space> –<space>
inoremap <buffer> -- &#8202;—&#8202;

syntax match entity_hairspace "&#8202;" conceal
setl conceallevel=2

* যদি আমাকে কখনই কোনও এন-ড্যাশ অপ্রচলিত ব্যবহারের প্রয়োজন হয় তবে আমি ম্যাপিং টাইপ করার পরে কেবল ব্যাকস্পেস টিপতে পারি।
** আপনি যদি সাধারণত এন-ড্যাশ ব্যবহার না করেন, বা যদি আপনি কখনও ভিমের বাইরে বেরোন না, আপনি ম্যাপিংগুলি ট্রিগার করতে অন্য কিছু ব্যবহার করতে পারেন: যেমন --.এবং ---। আপনি যদি অন্য ট্রিগার ব্যবহার করেন তবে আপনি এটি সরাসরি আপনার .vimrc এ স্থাপন করতে পারেন এবং <buffer>বিকল্পগুলি সরিয়ে ফেলতে পারেন ।
*** আপনি ccharসিনট্যাক্স আইটেমগুলিকে পুরোপুরি আড়াল না করে একক অক্ষর দিয়ে প্রতিস্থাপন করতে একটি গোপন অক্ষরও ব্যবহার করতে পারেন । আপনি যদি এনকোডিং সংক্রান্ত সমস্যাগুলি সম্পর্কে উদ্বিগ্ন হন তবে আপনি এটি ব্যবহার করতে পারেন ভিএমকে &ndash;এইচটিএমএল সত্তা ফাইলটিকে এন ড্যাশ হিসাবে প্রদর্শন করতে ।


তাহলে আপনি ভিমে ড্যাশ ব্যবহার করবেন? এগুলিকে কি একরকম অদ্ভুত দেখাচ্ছে না, যেহেতু তাদের কেবল একটি কলাম-প্রস্থ দেওয়া হয়েছে? আপনি কি এম-ড্যাশগুলি তৈরি করার কোনও কৌশল সম্পর্কে জানেন যে খুব ভাল জায়গা, সম্ভবত দুটি কলামের মূল্য গ্রহণ করতে পারে?
কাইল স্ট্র্যান্ড 21

@ কাইলস্ট্র্যান্ড আপনি কীভাবে হিকি পেতে চান? এটি ব্যবহার করে দেখুন: set conceallevel=1 | syntax match longdash '—' conceal cchar=-(মনে রাখবেন যে এই কমান্ডের প্রথম ড্যাশটি একটি এম-ড্যাশ এবং দ্বিতীয়টি পূর্ণ-প্রশস্ত হাইফেন-বিয়োগ))
রিচ

আমি ডিসপ্লেতে কোনও পার্থক্য দেখতে পাচ্ছি না বা কেন দেখায় যে এটি প্রদর্শন দুটি কলাম নিতে পারে। আপনি কি যথাযথভাবে আমার প্রশ্নটিকে ভুল বুঝেছেন, বা সম্ভবত আমি আপনার পরামর্শটি ভুল বুঝেছি?
কাইল স্ট্র্যান্ড

.... আসলে, আমি ভিম সিনট্যাক্সের স্পেসিফিকেশন সম্পর্কে কিছুই জানি না। না syntax matchকমান্ড এমনকি একটি বাক্য গঠন ফাইল প্রেক্ষাপটে বাইরে কাজ?
কাইল স্ট্র্যান্ড

@ কাইলস্ট্র্যান্ড আমি আপনার প্রশ্নটি বুঝতে পেরেছি। আপনি কি এই লাইনটি আপনার ভিএমআরসি-তে অনুলিপি করার চেষ্টা করেছেন? নাকি শুধু ভিমে চলছে? :)
ধনী

3

আমার ফরাসি আজার্টি ম্যাক কীবোর্ডে, আমি Alt+ দিয়ে একটি এন ড্যাশ inোকাতে পারি -। আপনার মাইলেজ স্পষ্টতই পৃথক হতে পারে।


2
Alt+-(বা বরং Option+-পেডেন্টিক হতে) একটি ম্যাক-নির্দিষ্ট শর্টকাট। এটি ওএস এক্সে সর্বত্র কাজ করে তবে vi বা vim এর সাথে সম্পর্কিত নয়।
ash108

1
ম্যাকভিমে কাজ করে, তবে টার্মিনাল ভিমে এটি [Esc] এর মতো কাজ করে -, সুতরাং সাধারণ মোডে স্যুইচ করে পূর্ববর্তী লাইনের শুরুতে কার্সারটি রেখে দেয়।
200_সুঁচস

3

আমার ইউনিকোড প্লাগইন ইনস্টল করুন , ভিমে প্রবেশ করুন এবং CtrlXCtrlZইউনিকোড সমাপ্তি সক্রিয় করতে DASH অনুসরণ করুন ।

এখানে চিত্র বর্ণনা লিখুন

(বর্ণনায় এন-নোট নোট করুন যা সেই চরিত্রটিতে প্রবেশের জন্য ডিজিট্রাফ দেখায়)


0

রিচের দুর্দান্ত উত্তরের দ্বারা অনুপ্রাণিত হয়ে আমি আমার ভিআরসিআরিতে নিম্নলিখিত লাইনগুলি যুক্ত করেছি:

" For en/em dashes, respectively
autocmd FileType markdown imap -- –
autocmd FileType markdown imap --- —

ট্রিট মত কাজ!


0

অন্য একটি উত্তরের জন্য পরামর্শ হিসাবে একটি এন ড্যাশের জন্য একটি খনন করা সবচেয়ে ভাল উপায়। তবে যথেচ্ছ ইউনিকোড অক্ষরগুলির জন্য, অন্য উপায় হ'ল ^Vসন্নিবেশ মোডে (দেখুন :he i_CTRL-V_digit) ব্যবহার করা।

একটি এন ড্যাশ জন্য উদাহরণস্বরূপ চাই ^Vu2013


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