在AIX作業系統上安裝使用VIM的注意事項

來源:互聯網
上載者:User

                                        轉]在AIX作業系統上安裝使用VIM的注意事項


http://blog.csdn.net/chinainvent/archive/2008/07/26/2716820.aspx


  我目前的工作,常常需要通過SecureCRT,登入到IBM的AIX UNIX作業系統進行編程。工作所用到的兩個伺服器的AIX版本是5.2和5.3。這兩個版本對於我下面討論的問題,情況都是一樣的,沒有區別。

 

  AIX本身提供了VI編輯器。但本人喜歡VIM,所以想方設法的安裝它。安裝步驟如下:

1.    到VIM的官網:ftp://ftp.vim.org/pub/vim/unix/下載一個最新版,目前是vim-7.1.tar.bz2。


2.    在AIX服務上,你一般沒有直接安裝軟體的許可權。但沒關係,找一個你能建立目錄的地方,比如是/home/myName/

  建立一個soft目錄,專門用來安裝你自己喜歡的軟體。把vim-7.1.tar.bz2解壓到/home/myName/soft/vim71,進入原始碼所在目錄:/home/myName/soft/vim71/src。這時,你有兩種方法來編譯VIM:

  方法一:使用AIX內建的編譯器xlC

        #1.執行configure

        $ export CC=xlC        #使用AIX內建的xlC編譯器

        $ export CFLAGS=-q64   #如果你的伺服器是64位CPU,務必使用這個選項

        $ ./configure --prefix=<安裝路徑> --enable-multibyte  #可以執行./configure --help 查看更多選擇

        #<安裝路徑>是你有寫入權限的目錄,比如這裡是/home/myName/soft/vim71

        #使用--enable-multibye的用途是,可以使用VIM的encoding,fileecncodings等設定,後面會提到。

        #2.執行make

        $ make

        $ make install          #這一步,會按照第1步中--prefix所指定的安裝路徑安裝可執行檔和man檔案

 

     方法一:使用gcc編譯

        #第一步要改成:

        #1.執行configure

        $ export CC=gcc     #使用gcc編譯器

        $ export CFLAGS=-maix64   #如果你的伺服器是64位CPU,務必使用這個選項

        $ export LDFLAGS=-maix64  #如果你的伺服器是64位CPU,務必使用這個選項,連結器選項       

        $ ./configure --prefix=<安裝路徑> --enable-multibyte 

3.    在執行VIM前,檢查DISPLAY環境變數的值,(如果你的DISPLAY變數值為空白,可以跳過此步)。

當我開啟VIM時,發現沒響應,像是卡住了。但執行命令kill -30 <VIM的進程式號>後,它又立即啟用。後面發現是,是環境變數DISPLAY在作怪。

由於伺服器還安裝了ORACLE,而ORACLE的一些終端登入要用到DISPLAY變數:

 

圖一、

   為了不影響其他同事使用ORACLE,把 <安裝路徑>/bin/下的可執行檔vim更名為vim71,並在<安裝路徑>/bin/目錄下,建立一個名為vim的shell指令碼,對vim71進行封裝:

               -――file:vim-----

               #! /bin/sh

               export DISPLAY=;

               <安裝路徑>/bin/vim71 "$@"

               exit;

  把這個shell指令碼的使用僅限更改為可執行:chmod +x vim。在~/.profile檔案中,添加PATH:PATH+=<安裝路徑>/bin/。

  這樣當我們執行vim命令時,其實是在執行這個shell指令碼,而這個指令碼首先把DISPLAY變數置為空白,從而vim71就可以正常啟動了。也可以對vimdiff等可執行程式,進行此類封裝。

  還有一個更好的方法,不必改變原來的可執行檔名。在你的/home/myName/soft/下建立一個bin目錄,專門存放你自己安裝的所有可執行檔的連結。並把這個/home/myName/soft/bin目錄添加到~/.profile檔案的PATH變數中:PATH+=/home/myName/soft/bin。然後把shell指令碼放在這個目錄下即可,shell指令碼裡的vim71改為vim。


4.    VIM可以在AIX上,實現文法高亮嗎?

不用懷疑,完全可以!

使用SecureCRT,把終端類型設定為vt100。在$VIM/vimrc裡,進行如下配置:

if &term =~ "xterm" || &term =~ "vt100" || &term =~ "ansi"

  if has("terminfo")

        set t_Co=8

        set t_Sf=^[[3%p1%dm

        set t_Sb=^[[4%p1%dm

  else

        set t_Co=8

        set t_Sf=^[[3%dm

        set t_Sb=^[[4%dm

  endif

endif

注意^[是這樣輸入的:Ctrl+v,按Esc鍵,詳情可以在VIM中執行命令:help xterm-color。


5.    預設安裝的VIM,已經可以在AIX上查看中文。但當游標在中文上移動時,中文會變成亂碼,怎麼辦?

例如正常顯示是這樣的:

圖二、

 

當游標在“//或邊界覆蓋”上移動時,會變成下面這個樣子:

圖三、

研究了很多方法,最後發現把SecureCRT的字型改成新宋體,可以解決這個問題,注意字元集要選擇CHINESE_GB2312那個:

圖四、


6.    在AIX上安裝的VIM中,能否做到,在執行x命令或Backspace命令時,一次刪除一個漢字?

這個問題,研究了很久,網上有說到設定ecoding的方法(前提了安裝VIM時,指定了--enable-multibye選項),這個方法在我的LINUX虛擬機器上,是有效(但還是要求字型為新宋體):

"suport chinese language

set fileencodings=ucs-bom,utf-8,cp936,latin1  "VIM所開啟的檔案的編碼,按順序解釋

set encoding=cp936                      "VIM的內部編碼,即緩衝區裡的檔案的編碼

set fileencoding=cp936                  "VIM用何種編碼來儲存檔案

set termencoding=cp936                  "終端的編碼類別型

7.    在AIX上安裝的VIM中,map映射鍵失效,怎麼辦?

 這是終端的鍵盤選擇不正確所致。解決方案,在SecureCRT中,類比鍵盤選擇“Xterm”:

    圖五、


但非常苦惱的是,在我工作的AIX伺服器上,這個方法不起作用!用h,l命令,要移動兩次才能越過一個漢字,用Backspace要執行兩次,才能刪除一個漢字,很痛苦!

看到這篇文章的朋友,如果你們有解決的方法,請給我留言,感激不盡!




------------------------------------------------------------------------------------------------------------------------------

我的編譯方法:

$ prtconf

中顯示CPU Type: 64-bit

但是設定CFLAGS=-q64不行,編譯的時候提示一個庫在32位下什麼的不能用,就沒設這個參數

設定

$ export CFLAGS="-qlanglvl=extc99"

$ ./configure --prefix=/home/ud090401/vim73 --enable-multibyte --disable-gui --without-x --disable-xsmp --with-features=huge

$ make

$ make install


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.