2013-04-09 4 views
9

Tôi hiện đang cố chuyển từ gedit sang vim. Tôi cố gắng làm cho vim trông giống như gedit:Tôi làm cách nào để tạo không gian hiển thị vim?

gedit

Đặc biệt, tôi muốn giới thiệu với các không gian với dấu chấm.

Tôi hiện có:

enter image description here

Có một số khác biệt, nhưng có vẻ khá giống (đây là my current .vimrc file). Nhưng tôi không có những dấu chấm đó cho không gian.

Tôi làm cách nào để tạo không gian hiển thị vim?

Tôi tìm thấy một số câu trả lời (như this one) dường như đề xuất thay thế khoảng trắng bằng ký tự hiển thị đặc biệt và sau đó thay thế lại. Tôi không muốn làm điều này mỗi lần. Tôi muốn có thể mở vim và thấy những khoảng trống đó.

+0

Bài viết Wikia trên Wikimedia về [làm nổi bật không gian không mong muốn] (http://vim.wikia.com/wiki/Highlight_unwanted_spaces) có thể giúp bạn bắt đầu ... –

+0

Tôi không nghĩ rằng nó có thể được đánh dấu như một nhân vật, nhưng bạn có thể làm nổi bật nền khá dễ dàng –

+0

có thể trùng lặp của [Make Vim hiển thị TẤT CẢ các khoảng trắng làm ký tự] (http://stackoverflow.com/questions/1675688/ make-vim-show-all-white-dấu cách-as-a-ký tự) – Hauleth

Trả lời

1

TLDR: Bạn không thể.

Vim cung cấp tùy chọn 'listchars' để hiển thị Tab so với Không gian và ký tự khoảng trắng ở những vị trí quan trọng, tức là dấu chấm ở cuối dòng. Nó không cung cấp sửa đổi cho tất cả các không gian: một ô trống là khoảng trắng, dấu chấm.

Nếu bạn không hài lòng với các giải pháp được đăng trong câu hỏi được tham chiếu, không có cách nào để đạt được điều này ngoài việc sửa đổi mã nguồn của Vim và biên dịch nhị phân của riêng bạn.

+0

Câu trả lời của bạn dường như mâu thuẫn với câu trả lời ernix. Câu trả lời của bạn có sai không? Đây là trường hợp, bạn có thể muốn xóa nó. –

+0

Câu trả lời ernix chỉ là một biến thể khác của các cách giải quyết được liên kết. Thực tế là bạn đang đấu tranh để có được nó để làm việc cho thấy những hạn chế của nó rồi. –

+0

Ồ, được rồi. Tôi nghĩ lý do tại sao tôi đang đấu tranh để có được nó để làm việc có thể là tôi chỉ mới bắt đầu học vim. –

6

Có thể có giá trị sử dụng undercurl để thực hiện công việc.

hi WhiteSpaces gui=undercurl guifg=LightGray 
match WhiteSpaces/\+/ 

hoặc bạn có thể đặt này trong thư mục .vimrc

autocmd ColorScheme * highlight WhiteSpaces gui=undercurl guifg=LightGray | match WhiteSpaces/\+/ 

enter image description here

+0

Tôi đã thêm hai dòng này vào '.vimrc' của mình, nhưng tôi không nhận được dấu cách được gạch dưới. Bạn có biết tại sao? –

+0

Cài đặt làm nổi bật tùy chỉnh sẽ bị xóa trong khi thay đổi ': colorscheme'. hãy thử theo sau để thay thế: autocmd ColorScheme * tô sáng WhiteSpaces gui = undercurl guifg = LightGray | phù hợp với WhiteSpaces/\ +/ – ernix

+0

Nó vẫn không hoạt động. Tôi có lẽ cần cài đặt plugin không? Làm thế nào để tôi làm như vậy? –

3

Trong khi bạn không thể làm chính xác những gì bạn muốn ở đây, nếu lập luận của bạn cũng giống như tôi, bạn đang mong muốn để xem những khoảng trống đó vì nó giúp xác minh thụt đầu dòng thích hợp (tôi có 2 khoảng trống ở đó không, hoặc là 3 không?). Đối với Vim> = 7.3, bạn có thể sử dụng plugin indentLine để thêm điểm đánh dấu tại mỗi thụt đầu dòng. Thật tuyệt vời.

Để cài đặt nếu bạn đang sử dụng Pathogen:

cd ~/.vim/bundle 
git clone https://github.com/Yggdroot/indentLine 

enter image description here

9

Tôi biết đó là một chủ đề cũ, nhưng nó có thể với:

set lcs+=space:· 

Hoạt động trên gvim tôi 7.4.

+0

Làm việc cho Vi trên Ubuntu. Cảm ơn! @martin ở trên nên được cập nhật là câu trả lời. – Rair