質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

Q&A

解決済

2回答

3765閲覧

Neovimのファイルタイプ別の設定ファイルが効かない

pastelkona

総合スコア31

Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

0グッド

0クリップ

投稿2020/06/04 11:06

編集2020/06/04 11:08

Neovim:0.4.3
Os:linux mint 19.3
Python:3.6.9
Zsh:5.4.2

ルートパス下に配置されたftpluginフォルダ内にpython.vim,c.vimの様な設定ファイルを配置するとファイルタイプがpythonの時はinit.vimに合わせてpython.vimも適用される。と理解しているのですが正しいでしょうか?何故かうまく適用されません。

まずルートパスを確認するコマンドをnvim上で実行し一番初めに~/.config/nvimが出てくるのは確認しました。そしてftpluginは~/.config/nvim/ftpluginにあり、その中にpython.vim,c.vim,cpp.vimがあります。
設定が適用されているかを確認するためにpython.vimの一行目にecho “hello python”と入れました。
Airline-vimのステータスバーのファイルタイプのところに.pyを開いている時はきちんとpythonと表示されます。

勿論、~/.config/nvim/init.vimはきちんと適用されています。

補足が必要なら教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

解決ではないがとりあえずやりたいことはできたので解決とします。

備考:
au BufRead,BufNewFile .py set &filetype=‘python’
とinit.vimに入れるとpython.vim内のecho ‘This is the python’が実行されThis is the pythonと表示される。
しかしながら当然エラーが出る。
Error detected while processing BufReadPost Autocommands for “
.py”:
E518: Unknown option: &filetype=‘python’

また次の文でもエラーに違いはあるものの、 this is pythonが出る。
au BufRead,BufNewFile *.py set &filetype=python
au BufRead,BufNewFile *.py &filetype=python

次の文ではthis is pythonが出ない。
au BufRead,BufNewFile *.py setfiletype python
au BufRead,BufNewFile *.py echo ‘python’

とりあえず .pyのときだけして欲しい処理は関数python_configにまとめて
au BufRead,BufNewFile *.py call python_config()
としました。(初めから大人しくそうしてればよかったですね。)

投稿2020/06/05 02:39

編集2020/09/07 08:42
pastelkona

総合スコア31

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Milly

2020/09/05 20:36

- `DufNewFile` ではなく `BufNewFile` ではありませんか。 - ご自分の回答をベストアンサーにして質問を「解決済」にしてください。(いつまでも受付中のままになってしまいます。)
guest

0

その置き方で正しいはずです。
後はinit.vimfiletype plugin indent onのような行も必要です。

また、Vimのechoはタイミング次第で出なかったりします。(正確には出るけど画面の描画の都合で消える)
quitなどを書いてみると分かりやすいかもしれません。

投稿2020/06/04 11:12

編集2020/06/04 11:15
kuuote

総合スコア705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pastelkona

2020/06/04 11:28

Init.vimにfiletype plugin indent onと言う行はあり、nvim上で:filetypeとすると、detection:On plugin:on indent:onと出ます。
pastelkona

2020/06/04 11:31

cpp.vimにはlspサーバを有効にするif executable(‘cquery’)からなる記述がありそれが適用できていないのです。(補完候補が出てこない) 同じ記述をinit.vimに入れると補完候補が出ます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問