概要
- VimでJSONファイルを開いたら、ダブルクオーテーションが表示されない
- 最近Neosnippetを公式GitHubの設定を参考にしながらインストールした
- 非表示になっているだけでダブルクオーテーションは存在するので編集で混乱
- シンタックスがハイライトされているときはダブルクオーテーションで囲まれているらしい
- vim-autocloseやlexima.vimを導入していると一見こちらの不具合に見える
原因
Neosnippetの公式サイトから設定をまるまるコピーしていることが原因
https://github.com/Shougo/neosnippet.vim
.vimrc
" Plugin key-mappings.
imap <C-k> <Plug>(neosnippet_expand_or_jump)
smap <C-k> <Plug>(neosnippet_expand_or_jump)
xmap <C-k> <Plug>(neosnippet_expand_target)
" SuperTab like snippets behavior.
"imap <expr><TAB>
" \ pumvisible() ? "\<C-n>" :
" \ neosnippet#expandable_or_jumpable() ?
" \ "\<Plug>(neosnippet_expand_or_jump)" : "\<TAB>"
smap <expr><TAB> neosnippet#expandable_or_jumpable() ?
\ "\<Plug>(neosnippet_expand_or_jump)" : "\<TAB>"
" For conceal markers.
if has('conceal')
set conceallevel=2 concealcursor=niv "こちらが原因
endif
解決法
上記設定を削除するか、コメントアウトしましょう。
.vimrc
" For conceal markers.
" if has('conceal')
" set conceallevel=2 concealcursor=niv "こちらが原因
" endif
結論
- シンタックスがハイライトされているときはダブルクオーテーションで囲まれている、ということを瞬時に理解できず、package.jsonが編集出来なくてマジ焦った