vim script 程式設計基礎

2021-06-19 14:03:40 字數 2188 閱讀 8275

1. vim  語法基本特徵

" 注釋

\ 續行

let 關鍵字為變數賦值

2. vimscript 變數範圍

字首    含義

g: varname    變數為全域性變數

s: varname    變數的範圍為當前的指令碼檔案

w: varname    變數的範圍為當前的編輯器視窗

t: varname    變數的範圍為當前的編輯器選項卡

b: varname    變數的範圍為當前的編輯器緩衝區

l: varname    變數的範圍為當前的函式

a: varname    變數是當前函式的乙個引數

v: varname    變數是 vim 的預定義變數

3.  指令碼可以使用如下變數訪問 vim 提供的值容器

vimscript 偽變數

字首    含義

&varname    乙個 vim 選項

&l:varname    本地變數(區域性變數)

&g:varname    全域性變數

@varname    乙個 vim 暫存器

$varname    乙個環境變數

4. 比較操作:(condition)

在 vimscript 中,比較函式始終執行數字比較,除非兩個運算物件都是字串。

特別的,如果乙個運算物件是字串,另乙個是數字,那麼字串將被轉換為數字,然後再對兩個數字進行數值比較

let ident = 'vim'

if ident == 0 "always true (string 'vim' converted to number 0)

在這種情況下,一種更健壯的解決方案是:

if ident == '0'

任何字串比較函式都可以被顯式地標記為大小寫敏感(通過附加乙個 #)或大小寫不敏感(通過附加乙個 ?):

if name ==? 'vim'

if name ==# 'vim'

5. 算術運算,注意整數和實數差別。

let filecount = 234

echo filecount/100   |" echoes 2

echo filecount/100.0 |" echoes 2.34

6. 語句 (statement)

****************************************

賦值語句:let

let =

****************************************

流程控制語句:

******************************=

條件控制語句:if 語句

******************************=

if elseif

else

endif

******************************=

迴圈語句:

******************************=

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

while 語句

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

while

[ continue ]

[ break ]

endwhile

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

for 語句

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

for in

endfor

7. command

vim script 語句可以直接支援:命令

加上normal 關鍵字, 也支援normal 模式命令,

起碼,把script 做成批命令是沒有問題了。

8. 函式

vim 有許多內建函式。 還可以自定義函式。

內建函式,內建暫存器,:命令等構成與編輯緩衝的連線。使可以程式設計控制。

自定義函式,

函式格式:

function (, , ...)

[ return ]

endfunction

例 求兩數中最小值函式:

function! s:min(num1, num2)

return a:num1 < a:num2 ? a:num1 : a:num2

endfunction

vimscript學習筆記 五 對映

一 vimscript基本對映 如果說vimscript有乙個特性使得你能夠按照你的意願定製vim,那就 非鍵盤對映 莫屬 分割線 你可以 通過鍵盤對映 告訴 vim 當我 按下這個鍵 時,我需要你 放棄 abandon 預設 操作,按我的想法做 1 從normal模式的鍵盤對映開始 map x效果...

vimscript學習筆記 一 前言

一 說明 vim是乙個功能相當強大的編輯器,本篇章將向你介紹vimscript,一門用於定製vim的指令碼語言。讀完本書 你將能夠定製vim使其更加適應你的文字編輯需求,以後再使用vim將有更好的體驗。目標 你需要根據你的 工作性質 喜好 以及 習慣 定製它 備註 一天僅很少的時間使用vim,學習v...

Go基礎程式設計 Socket程式設計

socket起源於unix,而unix基本哲學之一就是 一切皆檔案 都可以用 開啟open 讀寫write read 關閉close 模式來操作。socket就是該模式的乙個實現,網路的socket資料傳輸是一種特殊的i o,socket也是一種檔案描述符。socket也具有乙個類似於開啟檔案的函式...