วิธีรับรายการชุดสีที่ติดตั้งทั้งหมดใน Vim


431

มีวิธีรับรายการชุดสีที่ติดตั้งทั้งหมดใน Vim หรือไม่? ที่จะทำให้ง่ายต่อการเลือกโดยไม่ต้องดูที่.vimไดเรกทอรี

คำตอบ:


620

ชนิด

:colorschemeแล้วตามมาด้วยSpaceTAB

หรืออย่างที่ Peter พูด

:colorschemeจากนั้นSpaceตามด้วยCTRLd

เวอร์ชันย่อของคำสั่งคือ:coloเพื่อให้คุณสามารถใช้มันในสองคำสั่งก่อนหน้านี้แทนที่จะใช้ "รูปแบบยาว"

หากคุณต้องการค้นหาและดูตัวอย่างธีมเพิ่มเติมมีเว็บไซต์ต่าง ๆ เช่นสี Vim


41
ลองอีกด้วย<c-d>
Peter Rincker

1
<cd> จะดีกว่าถ้าคุณมีรูปแบบการติดตั้งมากมาย
Xavier T.

2
หรือถ้าคุณทำให้:set wildmenuคุณ sorta ได้รับผลเช่นเดียว<c-d>กับการกดปุ่มแท็บ
Conrad.Dean

:colorschemeทำงานให้ฉันหลังจากที่ฉันเพิ่มช่องว่างหลัง บางทีมันอาจเป็นเรื่องเล็กน้อย แต่ฉันใช้เวลาในการเปิดเผย
jutky

4
:coloไม่ได้จริงๆแบบสั้น เพิ่งเสร็จสิ้นเพราะไม่มีคำสั่งที่ขัดแย้งกัน หากคุณทำคำสั่งเช่น "colobanana" ก็:coloจะมี "แบบยาว" มากกว่าหนึ่งคำดังนั้นมันจะไม่ทำงานตามที่แนะนำ
dylnmc

53

คุณสามารถดูรายการชุดสีภายใต้/usr/share/vim/vimNN/colors(โดยNNเป็นรุ่นเช่นvim74สำหรับกลุ่ม 7.4)

นี่คือคำอธิบายที่นี่

บนเซิร์ฟเวอร์ลินุกซ์ที่ผมใช้ผ่านทาง SSH, TABการพิมพ์^Iและการพิมพ์CTRLd^D


10
ไม่พบชุดสีที่ผู้ใช้ติดตั้ง (ภายใต้โฮมไดเรกทอรี)
Cristian Ciupitu

4
เส้นทางไปยังตารางสีสิ่งที่ฉันกำลังมองหาขอบคุณ!
Corepuncher

1
โปรดทราบว่าNNin vimNNจะสอดคล้องกับเวอร์ชันของ vim เช่นvim74สำหรับ vim 7.4 แค่อยากจะชี้เรื่องนี้เพราะฉันช้าและมันทำให้ฉันทำสองครั้งเมื่อฉันไปดู;)
อดัม P

1
@ AdamP ฉันเพิ่มความแม่นยำในคำตอบ
Fabien

43

เพียงเพื่อความสะดวกในการอ้างอิงเนื่องจากฉันเห็นว่ามีผู้คนจำนวนมากกำลังค้นหาหัวข้อนี้และขี้เกียจเกินไป ... ขออภัยไม่ว่างเพื่อตรวจสอบตัวเอง (รวมถึงฉันด้วย) นี่คือรายการชุดสีเริ่มต้นสำหรับ Vim 7.4:

blue.vim
darkblue.vim,
delek.vim
desert.vim
elflord.vim
evening.vim
industry.vim                                                                                                                                                 
koehler.vim                                                                                                                                                  
morning.vim                                                                                                                                                  
murphy.vim                                                                                                                                                   
pablo.vim                                                                                                                                                    
peachpuff.vim                                                                                                                                                
ron.vim                                                                                                                                                      
shine.vim                                                                                                                                                    
slate.vim                                                                                                                                                    
torte.vim                                                                                                                                                    
zellner.vim 

5
รายการที่มีประโยชน์มาก สำหรับผู้ที่มีตาที่มีอายุมากกว่าและผู้ที่ยุ่งมาก ๆ นี่คือสิ่งที่ฉันพบว่าสามารถอ่านได้มากที่สุด: delek, koehler, slate & zellner ฉันเลือก zellner
theRiley

ทางเลือกที่ดี แต่อาจมีสีแดงมากเกินไปสำหรับฉัน ฉันชอบทะเลทรายซึ่งใช้สีเทอร์ควอยซ์ / น้ำเงิน (ในกลุ่มให้พิมพ์: colours desert)
HAltos

ฉันมักจะใช้torteซึ่งสำหรับฉันแล้วดูเหมือนว่าจะมีความคมชัดที่ดีและไม่พยายามที่จะเป็น "สไตล์" และไม่ต้อง "เสียแบนด์วิดท์ของความคมชัด" ด้วยการทำให้สีคล้ายกัน
NeilG

15

หากคุณมีความเต็มใจที่จะติดตั้งปลั๊กอินผมขอแนะนำhttps://github.com/vim-scripts/CycleColor

เพื่อหมุนเวียนไปตามชุดสีที่ติดตั้งทั้งหมด วิธีที่ดีในการเลือก colorcheme ได้อย่างง่ายดาย


9

นี่เป็นฟังก์ชั่นขนาดเล็กที่ฉันเขียนเพื่อลองใช้ชุดสีทั้งหมดในไดเรกทอรี $ VIMRUNTIME / colours

เพิ่มฟังก์ชั่นด้านล่างเพื่อ vimrc ของคุณจากนั้นเปิดไฟล์ต้นฉบับและเรียกใช้ฟังก์ชันจากคำสั่ง

function! DisplayColorSchemes()
   let currDir = getcwd()
   exec "cd $VIMRUNTIME/colors"
   for myCol in split(glob("*"), '\n')
      if myCol =~ '\.vim'
         let mycol = substitute(myCol, '\.vim', '', '')
         exec "colorscheme " . mycol
         exec "redraw!"
         echo "colorscheme = ". myCol
         sleep 2
      endif
   endfor
   exec "cd " . currDir
endfunction

1
โทร
DisplayColorSchemes

8

ถ้าคุณได้เป็นกลุ่มของคุณรวบรวมกับ+menuคุณสามารถทำตามเมนูที่มีของ:help console-menuจากนั้นคุณสามารถนำทางไปยังที่จะได้รับรายการเดียวกันเช่นเดียวกับในEdit.Color\ Schemegvim

วิธีการอื่น ๆ คือการใช้สคริปต์เย็นScrollColorsว่าตัวอย่าง colorschemes j/kในขณะที่คุณเลื่อนแผนการด้วย


6

ดูที่ menu.vim ของระบบของฉัน (มองหา 'เมนูย่อย Color Scheme') และคำตอบของ @ chappar ฉันมาด้วยฟังก์ชั่นต่อไปนี้:

" Returns the list of available color schemes
function! GetColorSchemes()
   return uniq(sort(map(
   \  globpath(&runtimepath, "colors/*.vim", 0, 1),  
   \  'fnamemodify(v:val, ":t:r")'
   \)))
endfunction

มันทำต่อไปนี้:

  1. รับรายการสคริปต์ชุดรูปแบบสีที่มีอยู่ภายใต้เส้นทางพา ธ ทั้งหมด (globpath, runtimepath)
  2. แม็พพา ธ ของสคริปต์กับชื่อฐาน (ตัดส่วนขยายพาเรนต์และส่วนขยาย) (แม็พเปลี่ยนชื่อไฟล์)
  3. จัดเรียงและลบรายการที่ซ้ำกัน (uniq, sort)

จากนั้นเพื่อใช้ฟังก์ชั่นฉันทำอะไรเช่นนี้:

let s:schemes = GetColorSchemes()
if index(s:schemes, 'solarized') >= 0
   colorscheme solarized
elseif index(s:schemes, 'darkblue') >= 0
   colorscheme darkblue
endif

ซึ่งหมายความว่าฉันชอบ 'solarized' และ 'darkblue' schemes ถ้าไม่มีสิ่งเหล่านี้ให้ทำอะไรเลย


3

ทางออกที่ดีและขอขอบคุณผู้มีส่วนร่วมของคุณ เป็นเวลาหลายปีแล้วที่ฉันต้องดิ้นรนกับโครงร่างสีที่เส็งเคร็งโดยใช้ SSH ภายใต้ Windows Vista ไปยังระบบ Redhat ซึ่งเป็นประเภทเทอร์มินัล xterm เครื่องมือแก้ไขจะมีพื้นหลังสีดำและสีแปลก ๆ สำหรับคำหลักต่าง ๆ แย่ลง - โครงร่างสีแปลก ๆ นั้นติดอยู่ในเทอร์มินัล xterm หลังจากออกจากกลุ่ม

สับสนจริงๆ

นอกจากนี้ Backspace ล้มเหลวในระหว่างโหมดแทรกซึ่งเป็นสิ่งที่น่ารังเกียจที่จะจำ - แม้ว่า Delete จะทำในสิ่งเดียวกัน

การรักษา --

  1. ในจอภาพ SSH เลือกแก้ไข / การตั้งค่า

    เลือกการตั้งค่าโปรไฟล์ / สี

    ข ทำเครื่องหมาย 'เปิดใช้งานสี ANSI'

    ค. สีข้อความมาตรฐานอาจตกลง

  2. เพิ่มบรรทัดเหล่านี้ใน $ HOME / .vimrc:

    colourscheme เริ่มต้น

    หาก & term == "xterm"

    set t_kb = ^ H

    fixdel

    endif

  3. หมายเหตุ: ต้องพิมพ์ ^ H เป็น ctrl-V ctrl-H ดูเหมือนจะแปลก แต่ดูเหมือนว่าจะทำงาน


0

ลอง

set wildmenu
set wildmode=list:full
set wildcharm=<C-z>
let mapleader=','
nnoremap <leader>c :colorscheme <C-z><S-Tab>

~/.vimrcในของคุณ

สองบรรทัดแรกทำการจับคู่ที่เป็นไปได้ปรากฏเป็นรายการ คุณสามารถใช้อย่างใดอย่างหนึ่งหรือทั้งสอง

บรรทัดที่สี่ทำให้ผู้นำแทนการเริ่มต้น,\

บรรทัดสุดท้ายให้คุณพิมพ์เพียง,cเพื่อรับรายการและแจ้งให้เปลี่ยนสีของคุณ

บรรทัดที่สามอนุญาตให้Tabs ปรากฏในแผนที่หลักได้อย่างมีประสิทธิภาพ

(แน่นอนกลยุทธ์เหล่านี้ทั้งหมดที่ฉันได้เรียนรู้จากอินเทอร์เน็ตและส่วนใหญ่เป็น SO เมื่อเร็ว ๆ นี้)


0

อีกวิธีที่ง่ายกว่าคือในขณะที่คุณกำลังแก้ไขไฟล์ - tabe ~/.vim/colors/ ENTER จะเปิดธีมทั้งหมดในแท็บใหม่ภายในหน้าต่างเป็นกลุ่ม

คุณอาจกลับมาที่ไฟล์ที่คุณแก้ไขโดยใช้ - CTRL + W + W ENTER

หมายเหตุ: ด้านบนจะทำงานได้เฉพาะในกรณีที่คุณมี.vim/colorsไดเรกทอรีอยู่ภายในไดเรกทอรีหลักของคุณสำหรับปัจจุบัน$USER (ฉันมี 70+ ธีม)

[user @ host ~] $ ls -l ~ / .vim / colours | ห้องสุขา -l

72

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.