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

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

ただいまの
回答率

90.35%

  • Vim

    604questions

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

vimでインデント揃えがおかしい

解決済

回答 3

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 2,596

axax90

score 84

vimでインデントを揃えるをすると、

http://dbinfo.sakura.ne.jp/?contents_id=229

1.開始行で Shift + v
2.範囲を指定
3.=を入力

全部が左端によってしまいます。
.vimrcに何かまずい設定を書いているのでしょうか?

↓vimrcの内容です

set background=dark
colorscheme solarized
let g:solarized_termcolors=256

" Note: Skip initialization for vim-tiny or vim-small.
if 0 | endif

if has('vim_starting')
  if &compatible
    set nocompatible               " Be iMproved
  endif

  " Required:
  set runtimepath+=~/.vim/bundle/neobundle.vim/
endif

" Required:
call neobundle#begin(expand('~/.vim/bundle/'))

" Let NeoBundle manage NeoBundle
" Required:
NeoBundleFetch 'Shougo/neobundle.vim'

" My Bundles here:
" Refer to |:NeoBundle-examples|.
" Note: You don't set neobundle setting in .gvimrc!

call neobundle#end()

" Required:
" filetype plugin indent on

" If there are uninstalled bundles found on startup,
" this will conveniently prompt you to install them.
NeoBundleCheck

if has('vim_starting')
  set nocompatible               " Be iMproved

  " Required:
  set runtimepath+=~/.vim/bundle/neobundle.vim/
endif

" Required:
call neobundle#begin(expand('~/.vim/bundle/'))

" Let NeoBundle manage NeoBundle
" Required:
NeoBundleFetch 'Shougo/neobundle.vim'

" My Bundles here:
NeoBundle 'Shougo/neosnippet.vim'
NeoBundle 'Shougo/neosnippet-snippets'
NeoBundle 'tpope/vim-fugitive'
NeoBundle 'kien/ctrlp.vim'
NeoBundle 'flazz/vim-colorschemes'


" You can specify revision/branch/tag.
NeoBundle 'Shougo/vimshell', { 'rev' : '3787e5' }

call neobundle#end()

" If there are uninstalled bundles found on startup,
" this will conveniently prompt you to install them.
NeoBundleCheck


NeoBundle 'scrooloose/nerdtree'


" 隠しファイルをデフォルトで表示させる
let NERDTreeShowHidden = 1

" デフォルトでツリーを表示させる
autocmd VimEnter * execute 'NERDTree'

" Gitを便利に使う
NeoBundle 'tpope/vim-fugitive'

" grep検索の実行後にQuickFix Listを表示する
autocmd QuickFixCmdPost *grep* cwindow

" ステータス行に現在のgitブランチを表示する
"set statusline+=%{fugitive#statusline()}

" Ruby向けにendを自動挿入してくれる
NeoBundle 'tpope/vim-endwise'

" コメントON/OFFを手軽に実行
NeoBundle 'tomtom/tcomment_vim'

" インデントの可視化
NeoBundle 'nathanaelkane/vim-indent-guides'
let g:indent_guides_enable_on_vim_startup=1
let g:indent_guides_start_level=2
let g:indent_guides_auto_colors=0
autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd  ctermbg=235
autocmd VimEnter,Colorscheme * :hi IndentGuidesEven ctermbg=234
let g:indent_guides_color_change_percent = 30
let g:indent_guides_guide_size = 2



" 行番号を表示
set nu

" スワップファイルを作らない
set noswapfile

" 画面最下行にルーラーを表示する
set ruler

" ステータスラインを常に表示する
set laststatus=2

" ビープの代わりにビジュアルベル(画面フラッシュ)を使う
set visualbell

" そしてビジュアルベルも無効化する
set t_vb=

" 全モードでマウスを有効化
set mouse=a

" コマンドラインの高さを2行に
set cmdheight=2


"------------------------------------------------------------
" インデント関連のオプション {{{1
"
" タブ文字の代わりにスペース2個を使う場合の設定。
" この場合、'tabstop'はデフォルトの8から変えない。
set shiftwidth=2
set softtabstop=2
set expandtab

" オートインデントをしない
set noautoindent

autocmd FileType * setlocal formatoptions-=ro

set paste

syntax enable
syntax on

set hlsearch




"タブ、空白、改行の可視化
set list
set listchars=tab:>.,trail:_,eol:↲,extends:>,precedes:<,nbsp:%

"全角スペースをハイライト表示
function! ZenkakuSpace()
    highlight ZenkakuSpace cterm=reverse ctermfg=DarkMagenta gui=reverse guifg=DarkMagenta
endfunction

if has('syntax')
    augroup ZenkakuSpace
        autocmd!
        autocmd ColorScheme       * call ZenkakuSpace()
        autocmd VimEnter,WinEnter * match ZenkakuSpace / /
    augroup END
    call ZenkakuSpace()
endif
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • axax90

    2016/01/24 18:59 編集

    "set filetype=html"を実行するといけましたー!!!

    キャンセル

  • axax90

    2016/01/24 19:03

    vimrcでset filetype=htmlを予めして書いておけばよいのでしょうか?

    キャンセル

  • 退会済みユーザー

    退会済みユーザー

    2016/01/24 20:21

    vimrcに書くとvimを開いた時にコマンドラインで
    "set filetype=html"を実行したことになるので最初の空バッファがfiletype=htmlになり、
    新たにhtmlを開いた時には適用されないです。
    新たに開いたhtmlに適用する場合はautocmdを利用するのが一番簡単だと思います。
    例えば"autocmd BufRead *.html setfiletype html"みたいなものです。
    ですがautocmdを利用する際には必ずgroupを設定してください。
    不具合が起きやすいです。

    キャンセル

回答 3

checkベストアンサー

+1

filetypeの認識が正常に機能していないようです。

vimrcの先頭あたりに下記を記入してください。

filetype off
filetype plugin indent off


vimrcの最後の辺りに下記を記入してください。

filetype plugin indent on


上記をvimrcに記入したら、vimを終了して再び起動してください。
起動したらhtmlファイルを開いてfiletype=htmlになっていることを確認してください。
filetype=htmlなら正常にインデントが機能します。

htmlになっていなかったりインデントが機能しなかったらfiletype detection:ON plugin:ON indent:ONになっているか確認してください。
なっていたら、vimrcに下記を最後の辺りに記入してみてください。

augroup mydetect
    autocmd!
augroup END
autocmd mydetect BufRead,BufNewFile *.html setlocal filetype=html


記入したらvimを再起動してhtmlを開いてfiletype=htmlであることを確認してください。
これでも駄目なら記入したvimrcを公開していただけないでしょうか?

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/01/24 21:59

    すごい間違いというか勘違いをしていました。。
    自分が開いてるファイルにちゃんと拡張子をつけていなかったのが原因だったようです。。

    ちゃんとした拡張子をつけたファイルで、
    vimrcに、filetype plugin indent on さえ書いてあれば、インデントがうまく動きました。

    親身にコメント頂戴しまして、誠にありがとうございます。
    感謝です。本当にすいません。。

    キャンセル

  • 2016/01/24 22:12

    解決されたようで良かったです。

    キャンセル

+1

vimrc に以下の行を加えてみてください。すでにコメントに書かれているもののコメントを外すだけで大丈夫です。

filetype plugin indent on

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/01/23 23:09

    返信遅れましてすいません。
    ↑でやっても左端によるだけでした。。

    キャンセル

  • 2016/01/23 23:16

    試している言語は何になりますか? 可能であれば実際にうまく行かないファイルもあると何かわかるかもしれません。

    キャンセル

  • 2016/01/24 13:23

    試しているのはhtmlです

    キャンセル

0

上記の説明だけでは判断出来ません。
インデントしようとしているファイルは何の言語のコードですか?
そのファイルを開いて、Vimのコマンドラインから「:set filetype?」を入力して表示された内容を教えてもらえると、もう少し助言できるかもしれません。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/01/23 23:11

    返信遅れましてすいません。

    > インデントしようとしているファイルは何の言語のコードですか?

    htmlです。

    > Vimのコマンドラインから「:set filetype?」を入力して表示された内容

    filetype=
    とでました。

    キャンセル

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

  • ただいまの回答率 90.35%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • Vim

    604questions

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