বৈধ রঙের স্কিমগুলি তালিকাভুক্ত করবেন?


15

আমি :colorschemeকমান্ড সম্পর্কে সবেমাত্র জানতে পেরেছি । ভিমের কাছ থেকে বৈধ রঙের স্কিমগুলির একটি তালিকা পেতে পারি এমন কোনও উপায় আছে কি? আমি ইন্টারনেটে কোথাও একটি তালিকা থেকে নয়, ভিমের মধ্যে থেকে এটি করতে সক্ষম হতে চাই।

উত্তর:


17

সবচেয়ে সহজ উপায় :help c_Ctrl-dপরে ব্যবহার করা হয় :colorscheme

সুতরাং, :colorschemeCtrl-dআপনার জন্য উপলব্ধ রঙশালীগুলিকে আউটপুট দেবে।

পরে কোনও স্থান আছে তা নিশ্চিত করুন :colorscheme


উইন্ডোতেও কাজ করেছেন!
isomorphismes

10

তালিকাটি দেখানোর আরেকটি উপায় হ'ল set wildmenu। এটির সাথে, :colorscheme+ space+ এর পরে tab, সমাপ্তির একটি তালিকা প্রদর্শিত হয় এবং তীর কী বা Ctrl-Nএবং এর সাথেও নির্বাচনযোগ্য Ctrl-P। এটি কেবল রঙশ্মিতেই নয়, অন্যান্য সেমিডলাইন সমাপ্তিতেও কাজ করে। আচরণটি প্রভাবিত হয় wildmodeএবং ডিফল্ট মানকে আরও ভাল সেট করে full


3

আপনি যদি ভিমস্ক্রিপ্টে এটি করতে চান, আপনি getcompletion () ফাংশনটি ব্যবহার করে রঙের স্কিমগুলির একটি তালিকা পেতে পারেন :

let c = getcompletion('', 'color')
echo c

এটি বিদ্যমান ভিমস্ক্রিপ্ট উত্তরের চেয়ে কিছুটা সহজ, যা ফাইল সিস্টেমটি স্ক্যান করে।

দেখুন :help getcompletion()আরো বিস্তারিত জানার জন্য।


2

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

এই সমাধানটি 'runtimepath'সমস্ত উপলব্ধ রঙচেম ডিরেক্টরিগুলি পেতে বিকল্পটি ব্যবহার করে এবং তারপরে তাদের এক্সটেনশানগুলি সরিয়ে সেই ডিরেক্টরিগুলিতে ভিমস্ক্রিপ্ট ফাইলগুলির একটি তালিকা এনে দেয়। এটি করার নিরাপদ উপায় এটি নাও হতে পারে, সুতরাং উন্নতিগুলি স্বাগত:

function! GetColorschemes()
    " Get a list of all the runtime directories by taking the value of that
    " option and splitting it using a comma as the separator.
    let rtps = split(&runtimepath, ",")
    " This will be the list of colorschemes that the function returns
    let colorschemes = []

    " Loop through each individual item in the list of runtime paths
    for rtp in rtps
        let colors_dir = rtp . "/colors"
        " Check to see if there is a colorscheme directory in this runtimepath.
        if (isdirectory(colors_dir))
            " Loop through each vimscript file in the colorscheme directory
            for color_scheme in split(glob(colors_dir . "/*.vim"), "\n")
                " Add this file to the colorscheme list with its everything
                " except its name removed.
                call add(colorschemes, fnamemodify(color_scheme, ":t:r"))
            endfor
        endif
    endfor

    " This removes any duplicates and returns the resulting list.
    return uniq(sort(colorschemes))
endfunction

তারপরে আপনি এই ফাংশনটি দ্বারা ফিরিয়ে দেওয়া তালিকাটি ভিমস্ক্রিপ্টে ব্যবহার করতে পারেন। উদাহরণস্বরূপ, আপনি কেবল প্রতিটি রঙের ছায়া প্রতিধ্বনি করতে পারেন:

for c in GetColorschemes() | echo c | endfor

আমি প্রতিটি স্বতন্ত্র ফাংশন বা কমান্ড এখানে কী করবে তা আমি ব্যাখ্যা করব না, তবে আমি এখানে ব্যবহৃত পৃষ্ঠাগুলির জন্য সহায়তা পৃষ্ঠাগুলির একটি তালিকা:

  • :help 'runtimepath'
  • :help :let
  • :help :let-&
  • :help split()
  • :help :for
  • :help expr-.
  • :help :if
  • :help isdirectory()
  • :help glob()
  • :help fnamemodify()
  • :help add()
  • :help uniq()
  • :help sort()

-1

আপনি এটি চেষ্টা করতে পারেন

:colorscheme, তারপরে spaceকী এবং তারপরে tabকীটি চাপুন।


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