Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
维姆元';t在使用=命令时正确缩进Python代码_Python_Vim - Fatal编程技术网

维姆元';t在使用=命令时正确缩进Python代码

维姆元';t在使用=命令时正确缩进Python代码,python,vim,Python,Vim,当我使用=命令缩进整个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 "

当我使用=命令缩进整个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
设置不兼容
语法高亮
定尺
设置tabstop=2
设置softtabstop=2
设置shiftwidth=2
设置扩展选项卡
设置智能选项卡
高亮显示
在搜索中设置
置之不理
自动缩进
“打开行号:
设定数
“切换行号和折叠列以便于复制:
nnoremap:设置非数字!:设置foldcolumn=0
nnoremap:设置nospell!
nnoremap:设置粘贴粘贴?
imap
设置粘贴切换=
侦测文件类型
文件类型插件缩进
上的文件类型插件
“使用+e执行正在编辑的文件:
地图:w:!/usr/bin/env python%
设g:solarized_Term颜色=256
设置背景=暗
日光浴
“设置拼写spelllang=en_us
设置退格=缩进、下线、开始
autocmd文件类型python集完成+=k~/.vim/syntax/python.vim isk+=(
autocmd VimCenter*NERDTree

此外,当我使用w或b循环遍历python文件时,或者当删除它时,它不会正确删除。例如,它不会在.or上停止(当删除他们之前的作品时,甚至会删除这些。

你应该去掉
上的
文件类型和
上的
文件类型插件:
上的
文件类型插件缩进是你唯一需要的一行

编辑

的问题几乎肯定是由
iskeyword
引起的。我模糊地记得有人也有同样的问题,因为他/她在一些错误的博客文章中发现他/她需要基于词典的完成。因为他/她的词典文件中的条目以
的形式出现(
,他/她需要将
视为关键字字符

编辑Python文件时,请尝试以下命令:

:verbose set iskeyword?
它应该返回一个逗号分隔的值列表,其中包括
及其设置位置。它很可能是第三方python ftplugin,因为默认的ftplugin不涉及
iskeyword

这一行是导致
/
问题的原因(
问题:

autocmd FileType python set complete+=k~/.vim/syntax/python.vim isk+=.,(
  • 您绝对不需要这种完成机制,因为Vim的默认omnicompletion功能足够强大

  • 由于完成机制是如何实现的,以及字典文件可能是如何编写的,
    必须被Vim视为关键字字符

  • 您的自定义/语法文件甚至可能不是这样形成的,因此此设置甚至可能不起作用

  • isk
    iskeyword
    的缩写形式,该选项定义了什么是关键字字符


  • 你似乎从别人那里复制了设置,却不了解他们做了什么。简单的事实是,你的问题的答案是在你自己的
    ~/.vimrc
    中。这足以说明这个想法有多么错误。

    你可以正常粘贴
    :set paste
    ,我有一个非常方便的宏:

    set pastetoggle=<F10>
    
    设置粘贴切换=
    

    您可以将其设置为任何其他键,只需将其添加到您的
    .vimrc
    文件中即可。(deal,但使用=的缩进仍然不起作用。您有其他与python相关的第三方脚本吗?我相信只有python语法文件。从vim.org.vim下载的默认语法文件。那么我应该删除我下载的语法文件吗?