2010-09-22 142 views
29

我試圖讓下面進入我的.vimrcVim不支持unicode?

" Use the same symbols as TextMate for tabstops and EOLs 
set listchars=tab:▸\ ,eol:¬ 

這些線是從here在VIM 7.2 完美工作我最近編譯安裝VIM 7.3,現在這些字符不被理解的VIM 。 另外:Ctrl + V然後在插入U不讓我插入任何字符,它似乎忽略了。

任何想法?

這是我所看到的: set listchars=tab:�~V�\ ,eol:¬

+2

您在使用一個支持Unicode的終端或gvim? – 2010-09-22 15:05:39

+1

是的,我。我正在使用屏幕,但我可以將這些字符粘貼到它中。 – Sandro 2010-09-22 16:36:57

+0

雖然Vim支持unicode,但MS和Linux系統都不支持unicode,我的意思是它們的終端和控制檯。因此,我在eclipse中安裝了vrapper。現在,我可以輸入Unicode。 :) – SibiCoder 2016-05-27 15:47:11

回答

34

您需要編譯支持多字節的vim。

要做到這一點,最簡單的方法是運行

./configure --with-features=big 
make 

這將打造VIM用正確的支持。

您可以驗證是否正確地與

:version 

在vim或者通過運行

vim --version 

,尋找+multi_byte編譯。如果它說-multi_byte它不會工作。

+1

你釘了它!真棒!謝謝你,謝謝你,謝謝你! – Sandro 2010-09-25 05:52:50

+0

過去幾天我一直在踢我自己,試圖讓vim-powerline符號與花哨的角色一起工作。這終於修復了它。謝謝! – Liam 2012-02-13 18:14:48

+0

我前幾天安裝了arch linux,我的箭頭符號和tmux邊界被搞亂了。這個固定的VIM,我認爲語言環境固定其他 – 2012-06-07 12:54:49

1

你需要一個

scriptencoding utf-8 

或任何編碼您.vimrc實際上是?

+2

另外,請檢查'encoding','termencoding','fileencoding'選項的值。確保在編輯'.vimrc'時,它們都被設置爲'utf-8'。 – 2010-09-22 07:31:20

+0

我已經添加了它,但它仍然不起作用。我如何檢查這些其他選項的價值? – Sandro 2010-09-22 16:41:21

+1

你可以看到任何選項的價值,通過添加一個?在set命令之後。即:設置編碼? – Tassos 2010-09-22 19:55:03

23

我在我的.vimrc

scriptencoding utf-8 
set encoding=utf-8 

,並在我的.gvimrc裏

set listchars=trail:·,precedes:«,extends:»,eol:↲,tab:▸\ 

下和正常工作(注意有一個空間▸之後\)。

+1

我已經添加了,並沒有... – Sandro 2010-09-22 16:43:19

+0

它爲我工作。注意:我使用vim進行windows操作。 – 2012-08-12 15:48:03

+0

有趣的是,在linux上我不需要設置任何東西。在vim win32 + multi_byte我開始必須添加它後,我改變了我的vimrc中的東西...現在,把這兩行不會引發錯誤,但跟蹤字符呈現爲問號或別的東西...如果我只留下'set encoding = utf-8',那麼它的工作方式與以前一樣 – gcb 2014-04-23 18:48:08

5

我與OS X Lion附帶的vim有同樣的問題,雖然它是用multi_byte編譯的。

問題在於vim使用的編碼。我在~/.vimrc中加入了set encoding=utf-8,問題解決了。

編號:Terminal Vim redraw issues in OS X Lion

+0

完美。我使用Dropbox在Mac和Windows之間共享一個vimrc。使用MacVim工作得很好,但Windows上的Gvim在啓動時給我提供了錯誤。 – mrak 2012-09-04 00:08:01

4

而在screen會話爲我有這個問題。 它的消失與設置在我.bashrc如下:

export LANG=en_US.UTF-8 
2

不要忘了,如果你在終端運行VIM,確保本身使用UTF-8,以及終端。

1

確保您使用的是兼容字體。我的問題是inconsolata-g不支持我的文檔中的utf-8字符。

也,這是所有我需要在我的gvimrc:

set enc=utf-8 
set fileencoding=utf-8 
set fileencodings=ucs-bom,utf8,prc 
set guifont=Monaco:h14 
set guifontwide=NSimsun:h14