3

=コマンドを使用してPythonファイル全体またはセクションをインデントすると、正しくインデントされません。これが私のvimrcです:

set nocompatible
syntax on
set ruler
set tabstop=2
set softtabstop=2
set shiftwidth=2
set expandtab
set smarttab
set hlsearch
set incsearch
set ignorecase
set autoindent
" turn on line numbers:
set number
" Toggle line numbers and fold column for easy copying:
nnoremap <F2> :set nonumber!<CR>:set foldcolumn=0<CR>
nnoremap <F4> :set nospell!<CR>
nnoremap <F3> :set invpaste paste?<Enter>
imap <F3> <C-O><F3>
set pastetoggle=<F3>

filetype on
filetype plugin indent on
filetype plugin on

" Execute file being edited with <Shift> + e:
map <buffer> <S-e> :w<CR>:!/usr/bin/env python % <CR>
let g:solarized_termcolors=256
set background=dark
colorscheme solarized 
"set spell spelllang=en_us

set backspace=indent,eol,start
autocmd FileType python set complete+=k~/.vim/syntax/python.vim isk+=.,(
autocmd VimEnter * NERDTree

また、たとえばwまたはbを使用してPythonファイルをループしたり、削除したりしても正しく削除されません。たとえば、で停止しません。または(それらの前の作品を削除し、これらを削除する場合もあります。

4

2 に答える 2

2

filetype onand filetype plugin on:を取り除くfiletype plugin indent on必要があるのは、必要な唯一の行です。

編集

との問題は.(ほぼ確実に によって引き起こされiskeywordます。誰かが同じ問題を抱えていたことをぼんやりと覚えています。なぜなら、彼/彼女は誤った情報をブログに投稿して、辞書ベースの補完が必要であることに気付いたからです。彼/彼女の辞書ファイルのエントリは の形式であったため、彼/彼女はをキーワード文字と見なす.method(必要がありました。.

Python ファイルを編集するときは、次のコマンドを試してください。

:verbose set iskeyword?

.と、および(それが設定されている場所を含むコンマ区切りの値のリストを返す必要があります。デフォルトの ftplugin は触れていないため、サードパーティの python ftplugin である可能性が最も高いですiskeyword

この行が./(問題の原因です:

autocmd FileType python set complete+=k~/.vim/syntax/python.vim isk+=.,(
  1. Vim のデフォルトのオムニコンプリーションは十分に強力なので、そのような補完メカニズムは絶対に必要ありません。

  2. その補完メカニズムがどのように実装されているか、辞書ファイルがどのように記述されているかにより、Vim はこれらをキーワード文字.(見なす必要があります。

  3. custom/ 構文ファイルはそのように形成されていない可能性があるため、この設定は機能しない場合もあります。

  4. iskiskeywordは、キーワード文字とは何かを定義するオプションであるの短縮形です。

他の人が何をしたかを理解せずに、他の人から設定をコピーしたようです。あなたの質問に対する答えがあなた自身のものだったという単純な事実は、~/.vimrcこの考えがいかに間違っているかを示すのに十分なはずです.

于 2013-02-10T19:44:31.323 に答える
0

通常は を使用して貼り付けることができます。その:set pasteための非常に便利なマクロがあります。

set pastetoggle=<F10>

.vimrcファイルに追加するだけで、他のキーに設定できます

于 2013-03-04T20:23:34.727 に答える