日本語対応処理

パラメータ 省略形 形式 説明 初期値 備考
jinsertmode ji 二値 インサートモードに遷移する際の IME のデフォルト状態を設定します。 nojiinsertmode
jiauto ja 二値 IME のデフォルト状態を決定するための閾値を設定します。 nojiauto
jcode jc 文字 エンコーディング指定 S
jkanaconv jkc 二値 - nojkanaconv
jmask jm 文字列 - SSS
jreplace jrep 二値 仮想置換モードの固定版のようなもの nojreplace
jtilde jt 二値 チルダ(~)コマンドを全角文字にも適用します。 nojtilde
jignorecase jic 二値 日本語あいまい検索を有効にします。 nojignorecase
imctrl imc 二値 IME 有効化/無効化の自動制御を有効にします。 noimctrl パラメータ名変更
imkey imk 文字列 [半角/全角]キー以外で IME 有効/無効を切り替えるキーを指定します。 @\ パラメータ名変更
imkeys imo 文字列 (i 以外で)imctrl の制御を適用する normal コマンドを指定します。 rfFtTsSC[] パラメータ名変更
imnormal imn 二値 noimnormal で normal モードで IME 無効化/切り替え不可 imnormal uvw固有
eoption eopt 数値 EUC の文字集合を指定します。 0 uvw固有

jinsertmode

ノーマルモードからインサートモード(入力モード)に入った際に IME をデフォルトで有効(日本語)にするか無効(ASCII)にするかを指定します。 (imctrl が有効になっている必要があります)

後述の jiauto との組み合わせで決定され、 組み合わせは以下のようになります。

jinsertmode 値 jiauto 値 説明 備考
a 0 基本は IME 無効で前回のインサートモードでの状態を維持します。
a > 0 IME 状態は無効です。(ASCII)
A 0 IME 状態は無効です。(ASCII)
A > 0 IME 状態を自動判定で決定します。(初期状態 IME 無効(ASCII))
j 0 基本は IME 無効で前回のインサートモードでの状態を維持します。
j > 0 IME 状態は有効になります。(日本語)
J 0 IME 状態は有効になります。(日本語)
J > 0 IME 状態を自動判定で決定します。(初期状態 IME 有効(日本語)))

:set jinsertmode=J
:set ji=A

jiauto

jinsertmode が英大文字の A または J の場合に IME 状態を自動判定するための閾値を指定します。 (imctrl が有効になっている必要があります)

jiauto のデフォルト値は 0 で自動判定を行いません。

jinsertmode が英大文字の A または J で jiauto が 10 の場合は

:set jiauto=5
:set ja=0

jcode (エンコーディング指定)

現在のファイル(バッファ)の日本語エンコーディングを指定します。

指定文字 エンコーディング 文字コード表示 備考
S or s Shift_JIS (cp932) SJIS
E or e EUC-JP (cp51932) EUC
J or j JIS (iso-2022-jp) JIS
W or w UCS-2 UCS-2LE, UCS-2BE
T or t UTF-8 UTF-8N, UTF-8
U or u UCS-4 UCS-4LE, UCS-4BE

実行例

日本語自動判定を有効にしてファイルを再読み込み。

:set jcode=T
:e!

現在のファイルを SJIS と解釈して(決め打ちして)ファイルを再読み込み。

:set jcode=s
:e!

現在のファイルを EUC として(変換して)書き込み。

:set jcode=E
:w

関連パラメータ:

パラメータ 省略形 形式 説明 初期値 備考
bigendian be 二値 UCS-2 のエンディアンを指定します。bigendian が BE (Big Endian)、nobigendian が LE(Little Endian) を表します。 nobigendian
bomb 二値 UCS-2 または UTF-8 の場合の BOM (Byte Order Mark)の有無を指定します。bomb は BOM あり、nobomb は BOM なしを表します。これを設定して書き込みを行うと BOM あり/なしで書き出しが行われます。 nobomb
eoption eopt 数値 EUC の文字集合を指定します。指定可能な値は 0~5 です。 0

eoption の文字集合

説明 備考
0 CP51932
1 CP20932
2 EUC-JP
3 eucJP-ms
4 EUC-JISX0213
5 EUC-JIS-2014

jkanaconv

ファイル読み込み時に半角カナを全角カナに変換するパラメータです。 元々は EUC がデフォルトだった古い Linux 環境などで SJIS のファイルを読み込む際に使われるものでしたが、 本エディタは内部 Unicode で処理しており、半角カナもそのまま扱えますので 現在ではほぼ意味はありません。 昔の名残だと思ってください。

jmask

これは本来端末での「キー入力」「端末表示コード」「システムコード」を 3 文字の文字列で指定するものでしたが、 本エディタは GUI 利用のみとなっていますので互換として 残っているだけのパラメータです。

デフォルト値は "SSS" で 3 文字目のシステムコードのみが意味を持ちます。 日本語判定で判定不可能だった場合などのデフォルト値として用いられます。

jreplace (仮想置換モードの固定版のようなもの)

文字列の編集を Replace モードで上書きする場合に デフォルトでは全角文字と半角文字はそれぞれ 1:1 として上書きされます。 (この為、上書き後には後続する文字のカラム位置がずれていきます)

これを有効にすると全角文字、半角文字の文字幅に合わせた上書きを行いますので カラム位置がずれなくなります。

vim で仮想置換モードとして gR に割り当てられている機能とほぼ同じです。 (本エディタでも gR とすることで一時的に jrelpace が有効になるようにしています)

但し、vim の gR と異なる点は以下のようになります。

:set jreplace
:set nojrep

jtilde

英字の大文字小文字変換を行うチルダ(~)コマンドがありますが、 これを日本語(全角文字)にも適用するようになります。

変換例

変換前 変換後 備考

など。

:set jtilde
:set nojt

jignorecase

日本語あいまい検索のパラメータです。 本パラメータを有効にすると (英小文字大文字を無視するのではなく) 検索で半角全角の差もある程度無視するようになります。

以下のような効果があります。

対象 効果 備考
英字 半角英字と全角英字を区別しません。(A と A を同一視します)
数字 半角数字と全角数字を区別しません。(1 と 1 を同一視します)
かな 半角カナとひらがな、カタカナを区別しません。(ア と ア と あ を同一視します)
記号 アスキー記号と全角記号を区別しません。($ と $ を同一視します)

:set jignorecase
:set nojic

imctrl (normal モード遷移時 IME 自動 off)

インサートモード→ノーマルモードの遷移で IME を自動的にオフするようになります。 また、ノーマルモード→インサートモードの遷移で前回の IME のオン/オフ状態を復元するようになります。

また、前述した jinsertmode/jiauto を有効にするためには このパラメータが有効になっている必要があります。

:set imctrl
:set noimc

imkey

インサートモードなどでの入力中に [半角/全角] キー以外で IME をオン/オフするためのキー割り当てを設定します。

指定可能な文字としては ASCII の '@'~'_' の範囲の文字で(複数指定可能)、 指定した文字に対応する制御コード(CTRL+<ch>)で IME のオン/オフを行えるようになります。

デフォルト値は '@' となっており、 CTRL+ または CTRL+@ で IME を切り替えられます。

:set imkey=\\

imkeys

imctrl の制御を有効にするノーマルモードでの normal コマンドを指定します。 (imctrl が有効になっている必要があります。)

(iIaAR などインサートモードに遷移するコマンドは、 imctrl の方でデフォルトで対象になっていますので 主に 2 文字目を要求するコマンドの IME 制御のために指定します。)

デフォルトでは imkeys=rfFtTsSC[] となっており、 後述する imnormal が noimnormal となっている場合でも (デフォルトでは例えば r コマンド直後だけなどで) IME をオン/オフすることが出来るようになります。

:set imkeys=rfFtT

imnormal (noimnormal で normal モードで IME 無効化/切り替え不可)

imctrl と似ていますが、noimnormal と設定することで インサートモード→ノーマルモードの遷移で IME を自動的にオフし、 さらに IME を無効化することで ノーマルモードでの IME のオン/オフ自体を抑止します。

:set noimnormal
:set imn

戻る