【VIM001】編寫第一個vim指令碼

來源:互聯網
上載者:User

標籤:

  學習vim總是看到各路高手都在實現自己的外掛程式,看得我直流口水,也想自己編寫vim外掛程式,於是乎我也開幹。那就從第一個指令碼開始吧,開始掌控自己的vim。

  我們首先要問的是從哪裡開始學起,我第一步就搜尋各種資料,但是搜尋歸搜尋,最終還是要去看文檔的。在google的過程中,我發現了下面的協助命令,就開始了我的學習之路,所謂取人魚不如取人漁。

:help vim-script-intro:h vim-script-intro

  到這個協助文檔的頂部,你會看到這個標題:Write a Vim script,這不正是我想找的東西嘛。下面就來看vim提供的第一個指令碼,在寫指令碼之前,要先建立一個指令碼。

~$ touch first.vim 
~$ vim first.vim

  說明:以:開始的是在vim中輸入的命令,以~$開始的是linux下的命令,如果你還沒有用linux,那還要去補充一下linux知識哦,本文是基於linux寫的哦,當然在windows下使用linux,就顯得不夠專業了,開玩笑了~~

  好了,下面開始寫指令碼吧,vim提供的第一個樣本:

:let i = 1:while i < 5:  echo "count is" i:  let i += 1:endwhile

  “:”可以省略,只有當你執行一個命令的時候才是必須的。指令碼寫好了,可是怎麼執行呢?在vim裡面執行下面命令

:source ~/first.vim

  ~/就是只目前使用者的目錄了。輸出如下:

count is  1count is  2count is  3count is  4

  我覺得比較可惜的是教程的編寫者居然沒有用helloworld!

  如果文章到這裡就結束了,我也覺得沒必要寫了,直接看vim的教程就好了,這也是我第一次開始深入學習vim,以前都是知道怎麼用就好了。我覺得這裡可以更加深入的學習,留著這篇博文將來也好總結了嘛。

  我們先來解釋一下這段代碼。let是將一個值賦給一個變數,即將1賦值給i,一般的文法如下:

:let {variable} = {expression}

  我們輸入下面命令,來查看let的詳細說明:

:h let

  還是奉行以文檔為主的宗旨,如果哪天你出現一個問題或者需求,google了半天沒找到,你就得老老實實的去翻文檔了,因為文檔是最好的學習資料,勝過了任何教程。

:let {var-name} = {expr1}

  將一個運算式的值賦給一個內部變數,{var-name}的類型由{expr1}決定,如果{var-name}不存在,就會建立一個變數。

:let {var-name}[{idx}] = {expr1}

  如果{var-name}是一個序列,可以對序列中的某個變數進行賦值,我們建立一個vim指令碼:let.vim

let list = [0,1,2,3]  "整個序列賦值echo listlet list[0] = 1 + 2  "運算式let list[1] = 2let list[2] = 3 * 4let list[3] = 5/2echo list echo list[2]

  接下來我們看let是如何操作二維序列的

:let {var-name}[{idx1}:{idx2}] = {expr1}

  這時候{expr1}可以是一個序列,我們可以給一個序列一個序列的賦值,也可以幾個序列同時賦值,可以對其中的一個值進行賦值。

let list1 = [[0,1,2],[3,4,5],[6,7,8]]echo list1echo list1[0:1]echo list1[0]let list1[0] = [9,10,11]echo list1let list1[0][0] = 0echo list1let list1[0] = [‘ww‘,‘q‘,‘e‘]echo list1

  更多let相關的資訊,查看vim的協助文檔。

  代碼託管:https://github.com/solomon5926/vim-script  

【VIM001】編寫第一個vim指令碼

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.