牛の一歩も、一歩は一歩

日々の関心、備忘録などをまとめる.

neosnippetのインデント

neosnippetを導入し始めて, pythonのクラスなんかを登録してみたが, インデントが狂う症状が発生したのでその解決を備忘録として残す. 例えばスニペットpython.snippetに以下のように登録されていた際に

snippet hoge                                            
    class Hoge():                                                             
        def __init__():                                
            self.hoge="hoge"    
            self.fuga="fuga"

pythonスクリプトで, 使ってみると

class Hoge():    
      def __init__():    
          self.hoge="hoge"    
self.fuga="fuga"

みたいな感じで終盤のインデントが崩れる. https://qiita.com/dennougorilla/items/8824827b1e3f964d7fc8なんかを参照すると, snippetファイルを編集する際にsetl noexpandtabしないといけないらしい. とりあえず以下のように変更することで解決. 自分の設定のディレクトリ構成は,

.config/nvim/
  ├  init.vim
  ├  dein.toml
  └  dein_lazy.toml

であり, init.vimでfiletypeごとにインデントの設定をしていたのでそこに加筆.

augroup fileTypeIndent
     autocmd!                                                          
     autocmd BufNewFile,BufRead *.snip setl noexpandtab                  
augroup END