
最近、改行なしスペース(注意)HTML ドキュメントで を入力
し、 を utf-8 に設定すると、テキストをフォーマットするために繰り返しencoding
入力する必要がなくなります。最初は 、これを のようにスペースバーにマッピングしたらどうかと考えました。 その後、 を編集し、Vim を再起動すると、 名前を付けたにもかかわらず、関数に名前が必要であるというエラーが多数発生しました。 はスペースのように見えても、スペースとして扱われない (当然)ことに気付きました。そこで、ファイル タイプごとにマッピングして、HTML ドキュメントを編集しているときはスペースで が挿入され、他のファイルを編集しているときは通常のスペース が挿入されるようにするのが良いと考えました。nbsp;
:imap <SPACE> <C-R>=nr2char(160)<CR>
.vimrc
nbsp
nbsp
chr(32)
どうすればいいですか?
答え1
このau[tocommand]
コマンドは、設定されたFileType
ときに実行されるイベントを受け取ります (例: ファイル名を指定して起動時)。例:filetype
~/.vimrc
au Filetype python source ~/.vim/scripts/python.vim
答え2
ファイルが特定のファイルタイプの場合にのみ読み込まれるファイルタイププラグインを使用できます。これを設定するには、ファイルを作成し~/.vim/ftplugin/html.vim
、このファイルにコマンドを記述します。すでにファイルがある場合は、html というディレクトリを作成すると、ディレクトリ内のすべてのファイルが読み込まれます。:h ftplugin-name
その他の命名オプションについては、(ディレクトリが存在しない場合は作成してください)
vimrc に必要なのは次のすべてですfiletype plugin indent on
(インデントは実際にはこれに必要ではありませんが、通常は便利です)。
マッピングをバッファにローカルにするためには、
map <buffer>
目を通すのも役に立つかもしれませ:h ftplugin
ん:h filetype