มีวิธีรับรายการชุดสีที่ติดตั้งทั้งหมดใน Vim หรือไม่? ที่จะทำให้ง่ายต่อการเลือกโดยไม่ต้องดูที่.vim
ไดเรกทอรี
มีวิธีรับรายการชุดสีที่ติดตั้งทั้งหมดใน Vim หรือไม่? ที่จะทำให้ง่ายต่อการเลือกโดยไม่ต้องดูที่.vim
ไดเรกทอรี
คำตอบ:
ชนิด
:colorscheme
แล้วตามมาด้วยSpaceTAB
หรืออย่างที่ Peter พูด
:colorscheme
จากนั้นSpaceตามด้วยCTRLd
เวอร์ชันย่อของคำสั่งคือ:colo
เพื่อให้คุณสามารถใช้มันในสองคำสั่งก่อนหน้านี้แทนที่จะใช้ "รูปแบบยาว"
หากคุณต้องการค้นหาและดูตัวอย่างธีมเพิ่มเติมมีเว็บไซต์ต่าง ๆ เช่นสี Vim
:set wildmenu
คุณ sorta ได้รับผลเช่นเดียว<c-d>
กับการกดปุ่มแท็บ
:colorscheme
ทำงานให้ฉันหลังจากที่ฉันเพิ่มช่องว่างหลัง บางทีมันอาจเป็นเรื่องเล็กน้อย แต่ฉันใช้เวลาในการเปิดเผย
:colo
ไม่ได้จริงๆแบบสั้น เพิ่งเสร็จสิ้นเพราะไม่มีคำสั่งที่ขัดแย้งกัน หากคุณทำคำสั่งเช่น "colobanana" ก็:colo
จะมี "แบบยาว" มากกว่าหนึ่งคำดังนั้นมันจะไม่ทำงานตามที่แนะนำ
คุณสามารถดูรายการชุดสีภายใต้/usr/share/vim/vimNN/colors
(โดยNN
เป็นรุ่นเช่นvim74
สำหรับกลุ่ม 7.4)
บนเซิร์ฟเวอร์ลินุกซ์ที่ผมใช้ผ่านทาง SSH, TABการพิมพ์^I
และการพิมพ์CTRLd^D
NN
in vimNN
จะสอดคล้องกับเวอร์ชันของ vim เช่นvim74
สำหรับ vim 7.4 แค่อยากจะชี้เรื่องนี้เพราะฉันช้าและมันทำให้ฉันทำสองครั้งเมื่อฉันไปดู;)
เพียงเพื่อความสะดวกในการอ้างอิงเนื่องจากฉันเห็นว่ามีผู้คนจำนวนมากกำลังค้นหาหัวข้อนี้และขี้เกียจเกินไป ... ขออภัยไม่ว่างเพื่อตรวจสอบตัวเอง (รวมถึงฉันด้วย) นี่คือรายการชุดสีเริ่มต้นสำหรับ 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
นี่เป็นฟังก์ชั่นขนาดเล็กที่ฉันเขียนเพื่อลองใช้ชุดสีทั้งหมดในไดเรกทอรี $ 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
ถ้าคุณได้เป็นกลุ่มของคุณรวบรวมกับ+menu
คุณสามารถทำตามเมนูที่มีของ:help
console-menu
จากนั้นคุณสามารถนำทางไปยังที่จะได้รับรายการเดียวกันเช่นเดียวกับในEdit.Color\ Scheme
gvim
วิธีการอื่น ๆ คือการใช้สคริปต์เย็นScrollColorsว่าตัวอย่าง colorschemes j/k
ในขณะที่คุณเลื่อนแผนการด้วย
ดูที่ 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
มันทำต่อไปนี้:
จากนั้นเพื่อใช้ฟังก์ชั่นฉันทำอะไรเช่นนี้:
let s:schemes = GetColorSchemes()
if index(s:schemes, 'solarized') >= 0
colorscheme solarized
elseif index(s:schemes, 'darkblue') >= 0
colorscheme darkblue
endif
ซึ่งหมายความว่าฉันชอบ 'solarized' และ 'darkblue' schemes ถ้าไม่มีสิ่งเหล่านี้ให้ทำอะไรเลย
ทางออกที่ดีและขอขอบคุณผู้มีส่วนร่วมของคุณ เป็นเวลาหลายปีแล้วที่ฉันต้องดิ้นรนกับโครงร่างสีที่เส็งเคร็งโดยใช้ SSH ภายใต้ Windows Vista ไปยังระบบ Redhat ซึ่งเป็นประเภทเทอร์มินัล xterm เครื่องมือแก้ไขจะมีพื้นหลังสีดำและสีแปลก ๆ สำหรับคำหลักต่าง ๆ แย่ลง - โครงร่างสีแปลก ๆ นั้นติดอยู่ในเทอร์มินัล xterm หลังจากออกจากกลุ่ม
สับสนจริงๆ
นอกจากนี้ Backspace ล้มเหลวในระหว่างโหมดแทรกซึ่งเป็นสิ่งที่น่ารังเกียจที่จะจำ - แม้ว่า Delete จะทำในสิ่งเดียวกัน
การรักษา --
ในจอภาพ SSH เลือกแก้ไข / การตั้งค่า
เลือกการตั้งค่าโปรไฟล์ / สี
ข ทำเครื่องหมาย 'เปิดใช้งานสี ANSI'
ค. สีข้อความมาตรฐานอาจตกลง
เพิ่มบรรทัดเหล่านี้ใน $ HOME / .vimrc:
colourscheme เริ่มต้น
หาก & term == "xterm"
set t_kb = ^ H
fixdel
endif
หมายเหตุ: ต้องพิมพ์ ^ H เป็น ctrl-V ctrl-H ดูเหมือนจะแปลก แต่ดูเหมือนว่าจะทำงาน
ลอง
set wildmenu
set wildmode=list:full
set wildcharm=<C-z>
let mapleader=','
nnoremap <leader>c :colorscheme <C-z><S-Tab>
~/.vimrc
ในของคุณ
สองบรรทัดแรกทำการจับคู่ที่เป็นไปได้ปรากฏเป็นรายการ คุณสามารถใช้อย่างใดอย่างหนึ่งหรือทั้งสอง
บรรทัดที่สี่ทำให้ผู้นำแทนการเริ่มต้น,
\
บรรทัดสุดท้ายให้คุณพิมพ์เพียง,c
เพื่อรับรายการและแจ้งให้เปลี่ยนสีของคุณ
บรรทัดที่สามอนุญาตให้Tab
s ปรากฏในแผนที่หลักได้อย่างมีประสิทธิภาพ
(แน่นอนกลยุทธ์เหล่านี้ทั้งหมดที่ฉันได้เรียนรู้จากอินเทอร์เน็ตและส่วนใหญ่เป็น SO เมื่อเร็ว ๆ นี้)
อีกวิธีที่ง่ายกว่าคือในขณะที่คุณกำลังแก้ไขไฟล์ - tabe ~/.vim/colors/
ENTER
จะเปิดธีมทั้งหมดในแท็บใหม่ภายในหน้าต่างเป็นกลุ่ม
คุณอาจกลับมาที่ไฟล์ที่คุณแก้ไขโดยใช้ - CTRL + W + W
ENTER
หมายเหตุ: ด้านบนจะทำงานได้เฉพาะในกรณีที่คุณมี.vim/colors
ไดเรกทอรีอยู่ภายในไดเรกทอรีหลักของคุณสำหรับปัจจุบัน$USER
(ฉันมี 70+ ธีม)
[user @ host ~] $ ls -l ~ / .vim / colours | ห้องสุขา -l
72
<c-d>