Làm thế nào để có được danh sách tất cả các bảng màu được cài đặt trong Vim?


431

Có cách nào để có được danh sách tất cả các bảng màu được cài đặt trong Vim không? Điều đó sẽ làm cho rất dễ dàng để chọn một mà không cần nhìn vào .vimthư mục.

Câu trả lời:


620

Kiểu

:colorschemesau đó Spacetheo sau TAB.

hoặc như Peter nói,

:colorschemesau đó Spacetiếp theoCTRLd

Phiên bản ngắn của lệnh là :colođể bạn có thể sử dụng nó trong hai lệnh trước đó, thay vì sử dụng "dạng dài".

Nếu bạn muốn tìm và xem trước nhiều chủ đề hơn, có nhiều trang web khác nhau như màu Vim


41
Cũng thử<c-d>
Peter Rincker

1
<cd> thực sự tốt hơn nếu bạn cài đặt nhiều lược đồ.
Xavier T.

2
Hoặc nếu bạn đã có :set wildmenubạn sắp xếp có được hiệu ứng tương tự như <c-d>với tab nhấn.
Conrad.Dean

Làm việc cho tôi sau khi tôi thêm không gian sau :colorscheme. Có lẽ đó là một cái gì đó tầm thường, tuy nhiên, tôi phải mất thời gian để tiết lộ.
jutky

4
:colokhông thực sự là dạng ngắn . Nó vừa hoàn thành vì không có lệnh xung đột. Nếu bạn thực hiện một lệnh như "colobanana", thì :colosẽ có nhiều hơn một "dạng dài", vì vậy nó sẽ không hoạt động như đề xuất.
dylnmc

53

Bạn có thể xem danh sách các bảng màu bên dưới /usr/share/vim/vimNN/colors(với NNphiên bản, ví dụ như vim74cho vim 7.4).

Điều này được giải thích ở đây .

Trên các máy chủ linux tôi sử dụng thông qua ssh, TABin ^ICTRLdin ^D.


10
Điều đó bỏ lỡ các lược đồ màu được cài đặt bởi người dùng (trong thư mục chính).
Cristian Ciupitu

4
Đường dẫn đến các bảng màu, chính xác là những gì tôi đang tìm kiếm cảm ơn!
Corepuncher

1
Lưu ý rằng NNin vimNNsẽ tương ứng với phiên bản của vim, ví dụ vim74cho vim 7.4. Chỉ muốn chỉ ra điều này bởi vì tôi chậm chạp và nó khiến tôi phải thực hiện gấp đôi khi tôi đi tìm;)
Adam P

1
@AdamP Tôi đã thêm độ chính xác trong câu trả lời.
Fabien

43

Chỉ để tham khảo thuận tiện vì tôi thấy rằng có rất nhiều người đang tìm kiếm chủ đề này và quá lười ... xin lỗi, bận, để tự kiểm tra (bao gồm cả tôi). Dưới đây là danh sách các bộ màu mặc định cho 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
Danh sách rất hữu ích. Đối với những người có đôi mắt già hơn và thậm chí còn bận rộn hơn, đây là những người tôi thấy dễ đọc nhất: delek, koehler, slate & zellner. Tôi đã chọn zellner.
theRiley

Lựa chọn tốt, nhưng có lẽ hơi quá nhiều màu đỏ đối với tôi. Tôi thích sa mạc, trong đó sử dụng màu ngọc lam / xanh nhạt. (Trong vim, loại: màu sa mạc)
HAltos

Tôi đã luôn sử dụng torte mà đối với tôi dường như có độ tương phản tốt và không cố gắng trở thành một "phong cách", và không "lãng phí băng thông tương phản" bằng cách làm cho màu sắc tương tự nhau.
NeilG


9

Đây là một hàm nhỏ tôi đã viết để thử tất cả các màu trong thư mục $ VIMRUNTIME / colors.

Thêm chức năng dưới đây vào vimrc của bạn, sau đó mở tệp nguồn của bạn và gọi hàm từ lệnh.

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
gọi DisplayColorScheme ()
Haagenti

8

Nếu bạn có vim bạn biên soạn với +menu, bạn có thể làm theo các menu với :helpcác console-menu. Từ đó, bạn có thể điều hướng Edit.Color\ Schemeđể có được danh sách giống như tronggvim .

Phương pháp khác là sử dụng một tập lệnh ScrollColors tuyệt vời để xem trước các bảng màu trong khi bạn cuộn các lược đồ với j/k.


6

Nhìn vào menu.vim của hệ thống của tôi (tìm 'menu con Lược đồ màu') và câu trả lời của @ chappar, tôi đã tìm ra chức năng sau:

" 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

Nó làm như sau:

  1. Nhận danh sách các tập lệnh lược đồ màu có sẵn trong tất cả các đường dẫn thời gian chạy (globalpath, runtimepath)
  2. Ánh xạ các đường dẫn kịch bản tới tên cơ sở của chúng (dải thư mục gốc và phần mở rộng) (map, fnamemodify)
  3. Sắp xếp và loại bỏ trùng lặp (uniq, sort)

Sau đó, để sử dụng chức năng tôi làm một cái gì đó như thế này:

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

Điều đó có nghĩa là tôi thích các chương trình 'năng lượng mặt trời' và sau đó là 'bóng tối'; nếu không ai trong số họ có sẵn, không làm gì cả.


3

Một giải pháp tuyệt vời, và cảm ơn những người đóng góp của bạn. Trong nhiều năm, tôi đã phải vật lộn với một bảng màu hoàn toàn nhảm nhí - sử dụng SSH trong Windows Vista cho hệ thống Redhat, loại thiết bị đầu cuối xterm. Trình chỉnh sửa sẽ đưa ra một nền đen và màu sắc kỳ lạ cho các từ khóa khác nhau. Tồi tệ hơn - cách phối màu kỳ lạ đó dính vào thiết bị đầu cuối xterm sau khi rời Vim.

Thực sự khó hiểu.

Ngoài ra, Backspace không thành công trong chế độ chèn, rất khó nhớ - mặc dù Xóa đã làm điều tương tự.

Phương thuốc -

  1. Trong màn hình SSH, chọn Chỉnh sửa / Cài đặt.

    a. Chọn Cài đặt / Màu sắc hồ sơ

    b. kiểm tra 'bật màu ANSI'

    c. Màu văn bản tiêu chuẩn có thể là OK

  2. Thêm các dòng này vào $ HOME / .vimrc:

    màu sắc mặc định

    nếu & hạn == "xterm"

    đặt t_kb = ^ H

    sửa chữa

    endif

  3. LƯU Ý: ^ H PHẢI được gõ là ctrl-V ctrl-H. Có vẻ kỳ dị, nhưng điều này dường như làm việc.


0

Thử

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

trong của bạn ~/.vimrc.

Hai dòng đầu tiên làm cho các kết quả khớp có thể xuất hiện dưới dạng danh sách. Bạn có thể sử dụng một hoặc cả hai.

Dòng thứ tư làm cho người lãnh đạo ,thay vì mặc định \.

Dòng cuối cùng cho phép bạn chỉ cần gõ ,c để có được một danh sách và lời nhắc để thay đổi màu sắc của bạn.

Dòng thứ ba có hiệu quả cho phép Tabs xuất hiện trong các bản đồ chính.

(Tất nhiên, tất cả những chiến lược này tôi đã học được từ internet, và chủ yếu là SO, gần đây.)


0

Một cách đơn giản khác là trong khi bạn đang chỉnh sửa một tệp - tabe ~/.vim/colors/ ENTER Sẽ mở tất cả các chủ đề trong một tab mới trong cửa sổ vim.

Bạn có thể quay lại tệp bạn đang chỉnh sửa bằng cách sử dụng - CTRL + W + W ENTER

Lưu ý: Ở trên sẽ chỉ hoạt động NẾU BẠN CÓ một .vim/colorsthư mục trong thư mục chính của bạn cho hiện tại $USER (Tôi có hơn 70 chủ đề)

[người dùng @ máy chủ ~] $ ls -l ~ / .vim / colors | wc -l

72

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.