Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Vim の変数スコープについて簡単に調べた

$
0
0

はじめに

Vim Script を書いているときに、let s:hogeというような変数定義を書くことがあると思います。その時の変数の前置子につけるアルファベットの意味をいつも忘れてしまうので、まとめておこうと思います。

そもそも変数の前置子につけるアルファベットは何か

Vim のマニュアルを調べてみると、変数のスコープを指定するもののようでした。以下、マニュアルを引用します。

前置子の種類前置子スコープ
buffer-variableb:現在のバッファにローカル
window-variablew:現在のウィンドウにローカル
tabpage-variablet:現在のタブページにローカル
global-variableg:グローバル
local-variablel:関数にローカル
script-variables::sourceされたVim scriptにローカル
function-argumenta:関数の引数(関数内のみ)
vim-variablev:グローバル、Vimがあらかじめ定義

例えば変数のスコープをグローバルにした場合、他のプラグインからもアクセスできるため、他の変数との衝突は気にする必要がありそうです。

Vim Script 内でのみアクセスできる変数の場合は、スクリプトローカルを意味する s:をつければ良さそうです。

調べていて面白いなと思ったのは、バッファ、ウインドウ、タブページ内でローカルな変数を定義できることでした。他のバッファ、ウインドウ、タブに影響を与えないようにする変数も定義できるのは便利ですね。

おわりに

普段と違う文法については、意味を知ってから使うほうが楽しいと思うので、引き続き調べていこうと思います。

参考


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>