ベクトルとは、要素に任意のLispオブジェクトを格納できる汎用配列のことです。(これに対し、文字列の要素は文字に限られます。文字列と文字を参照してください。)ベクトルはEmacsにおいて、キーシーケンス(キーシーケンスを参照)、シンボル検索テーブル(シンボルの作成とインターニングを参照)、バイトコンパイル済み関数の表現の一部(バイトコンパイルを参照)など、多くの用途で使用されています。
他の配列と同様に、ベクトルも0始まりのインデックスを採用しており、最初の要素のインデックスは0となります。
ベクトルは、要素を角括弧で囲んで出力されます。したがって、要素が記号 a、b、a であるベクトルは、[a b a] として出力されます。Lispの入力においても、同様にベクトルを記述できます。
ベクトルは、文字列や数値と同様に、評価においては定数とみなされます。つまり、評価結果は同じベクトルになります。この際、ベクトルの要素が評価されたり、あるいは参照されたりすることはありません。自己評価形式を参照してください。角括弧で記述されたベクトルは、asetやその他の破壊的な操作によって変更してはいけません。可変性を参照してください。
これらの原則を示す例を以下に挙げます。
(setq avector [1 two '(three) "four" [five]])
⇒ [1 two '(three) "four" [five]]
(eval avector)
⇒ [1 two '(three) "four" [five]]
(eq avector (eval avector))
⇒ t