Hello, world!でvimスクリプトの文法を確認

Hello, world!でvimスクリプトの文法を軽く確認しておく。

function! Hello()
  " 「"」で始まる行はコメント

  " echoで出力
  echo 'Hello, world! 1'

  " 改行せず出力したい場合はechon
  echo 'Hello, '
  echon 'world! 2'

  " ダブルクォートで囲むと特殊な文字を入れられる
  echo "Hello, world! 3\nHello, world! 4"
  "バックスラッシュは、Optionキー(Altキー) + \キーで入力できる

  " 文字列の結合は「.」
  echo 'Hello, ' . 'world! 5'

  " 変数への代入はletで行う
  let val = "Hello, world! 6"
  echo val

  " ifコマンド
  let i = 1
  if i == 0
    echo 'Goodbye, world!'
  elseif i == 1
    echo 'Hello, world! 7'
  else
    echo 'Goodbye, world!'
  endif

  " whileコマンド
  let i = 0
  while i < 5
    echo 'Hello, world! 8-' . i
    let i += 1
  endwhile

  " リスト
  let list = ['Hello, ', 'world! ', '9']
  echo list[0]
  echon list[1]
  echon list[2]

  " forコマンド
  let str = ''
  for val in list
    let str = str . val
  endfor
  echo str

  " 辞書
  let dict = {'a':'Hello, ', 'b':'world! ', 'c':'10'}
  echo dict['a']
  echon dict['b']
  echon dict['c']

  " forコマンド(辞書の場合)
  let str = ''
  for key in keys(dict)
    let str = str . dict[key]
  endfor
  echo str

endfunction

Hello()を実行すると、

:call Hello()

下記の結果が表示される。

Hello, world! 1
Hello, world! 2
Hello, world! 3
Hello, world! 4
Hello, world! 5
Hello, world! 6
Hello, world! 7
Hello, world! 8-0
Hello, world! 8-1
Hello, world! 8-2
Hello, world! 8-3
Hello, world! 8-4
Hello, world! 9
Hello, world! 9
Hello, world! 10
Hello, world! 10