ভিম ম্যাক্রো ক্যামেলকেসকে ছোট হাতের_উথ_উইন্ডসকরে রূপান্তর করতে


12

ক্যামেলকেসকে লোয়ারকেস_উইথ_ফন্ডস্কোর এবং এর বিপরীতে রূপান্তর করার জন্য কি কোনও ভিম ​​ম্যাক্রো আছে?

উত্তর:


19

টিম পোপ এর abolish.vimমধ্যে রূপান্তর করতে পারেন camelCase, MixedCase, snake_case, এবং UPPER_CASE, সেইসাথে থেকে রূপান্তর করুন (একমুখী) dash-case

কোনো কার্সারটি fooBar, FooBar, foo_bar, অথবা FOO_BARএবং ব্যবহার

  • crc রূপান্তর করতে fooBar
  • crm রূপান্তর করতে FooBar
  • cr_বা
    crsরূপান্তর করতেfoo_bar
  • cru রূপান্তর করতে FOO_BAR
  • cr- রূপান্তর করতে foo-bar

নিখুঁত সমাধান
নীল জি

টিম পোপ দুর্দান্ত। অনেক দুর্দান্ত প্লাগইন।
হেন্ডরিক

6

হ্যাঁ আছে , এবং একটি বোনাস হিসাবে বিপরীত দিকে যেতে সেখানে একটি আছে!

উইকিটি চলে যাওয়ার ক্ষেত্রে উদ্ধৃতি:

" Change selected text from NameLikeThis to name_like_this.
vnoremap ,u :s/\<\@!\([A-Z]\)/\_\l\1/g<CR>gul

এবং বিপরীত দিকের জন্য:

" Change selected text from name_like_this to NameLikeThis.
vnoremap ,c :s/_\([a-z]\)/\u\1/g<CR>gUl

ধন্যবাদ! এটি প্রায় নিখুঁত, আমার ভিমে বাদে, এটি ক্যামেলকেসের নামের প্রথম অক্ষরটি পরিবর্তন করে না। আমি নিশ্চিত না কেন।
নিল জি

খুব সুন্দর. আমি দেখতে পেলাম যে সাপটিকে উটের দিকে পরিচালিত করার জন্য এই পরিবর্তনটি করা দরকার:vnoremap tos :s/\C\(\U\&\S\)\([A-Z]\)/\1_\l\2/g<CR>
জোনা

1

lh-dev নামকরণ শৈলীর মধ্যে রূপান্তর করতে কমান্ডও সরবরাহ করে:

:NameConvert snake

কার্সারের অধীনে শব্দটিকে স্নাপকেসে রূপান্তরিত করবে।

:%ConvertNames/\<m_\k\+(/getter/gc

প্যাটার্নটির প্রতিটি ঘটনাকে একজন গেটর নামে রূপান্তর করবে, ধরে নিবেন ব্যবহারকারী পরিবর্তনের বিষয়টি নিশ্চিত করে ( :h :s_flags)

সমর্থিত শৈলীগুলি দুই ধরণের:


1

আমি এটির মতো একটি আদেশ তৈরি করেছি:

command! Ctl
    \ exec "norm \"xygn" |
    \ let @y = substitute(@x, "\\([^A-Z]\\)\\([A-Z]\\)", "\\1_\\2", "g") |
    \ let @y = tolower(@y) |
    \ exec "norm cgn\<C-r>y" |
    \ let @@ = ":Ctl\n"

আপনাকে প্রথমে প্রতিস্থাপন করতে চাইছে এমন একটি স্ট্রিং অনুসন্ধান করতে হবে /nameToReplaceএবং তারপরে আপনি চালাবেন :Ctlএবং পরবর্তী অনুসন্ধান মিলটি হয়ে যাবে name_to_replace। কমান্ডটি নিজেকে @@নিবন্ধকের মধ্যে রাখে যাতে আপনি চাপ দিয়ে ক্রিয়াটি পুনরাবৃত্তি করতে পারেন @@

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