【发布时间】:2019-06-17 15:55:43
【问题描述】:
我正在使用设置为 80 列的硬包装的 vim。当我键入一个换行到下一行然后按 Enter 键时,右大括号的缩进有一个额外的缩进。
这是一张图片来说明我的意思。函数签名换行到下一行,然后当我在左大括号后按 Enter 时,右大括号得到一个额外的缩进:
理想情况下,我希望它改为这样显示:
我的 .vimrc 设置:
filetype plugin indent on
syntax on
set backspace=indent,eol,start
set expandtab
set tabstop=4
set shiftwidth=4
set softtabstop=4
set showtabline=4
set number
set showcmd
set cursorline
set wildmenu
set lazyredraw
set showmatch
set incsearch
set hlsearch
call plug#begin('~/.vim/plugged')
Plug 'scrooloose/nerdtree'
Plug 'drewtempelmeyer/palenight.vim'
Plug 'NLKNguyen/papercolor-theme'
Plug 'rakr/vim-one'
Plug 'morhetz/gruvbox'
Plug 'tpope/vim-commentary'
Plug 'ajh17/VimCompletesMe'
Plug 'mindriot101/vim-yapf'
Plug 'w0rp/ale'
Plug 'alvan/vim-closetag'
Plug 'pangloss/vim-javascript'
Plug 'mxw/vim-jsx'
Plug 'Yggdroot/indentLine'
call plug#end()
highlight ColorColumn ctermbg=gray
set colorcolumn=81
autocmd BufNewFile,BufRead * setlocal formatoptions=croqtn textwidth=80 wrapmargin=80 linebreak
autocmd BufRead, BufEnter, BufNewFile * IndentLinesReset
let g:indentLine_enabled = 1
let g:indentLine_char = '┊'
let g:ale_linters = {
\ 'python': ['flake8']
\ }
let g:ale_fixers = {
\ 'javascript': ['eslint']
\ }
let g:ale_sign_error = '????'
let g:ale_sign_warning = '⚠'
let g:ale_fix_on_save = 1
set t_Co=256
set term=xterm-256color
let g:gruvbox_contrast_dark='dark'
colorscheme gruvbox
set background=dark
map <C-x> :NERDTreeToggle<CR>
noremap <TAB> <C-W>w
noremap <S-TAB> <C-W>h
let g:closetag_filenames = '*.html,*.xhtml,*.phtml,*.jsx'
let g:closetag_xhtml_filenames = '*.xhtml,*.jsx'
let g:closetag_filetypes = 'html,xhtml,phtml,jsx'
let g:closetag_xhtml_filetypes = 'xhtml,jsx'
" autoclose matching quotes, braces and parentheses
inoremap {<CR> {<CR>}<ESC>O
inoremap {;<CR> {<CR>};<ESC>O
inoremap (<CR> (<CR>)<ESC>O
inoremap (;<CR> (<CR>);<ESC>O
inoremap jj <Esc>
inoremap <Esc> <Nop>
inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
inoremap <C-y> <C-o>h
inoremap <C-u> <C-o>l
nnoremap <leader>f :call Yapf()<CR>
map <leader>p :set paste<CR>i<esc>"*]p:set nopaste<CR>
nnoremap <leader><space> :nohlsearch<CR>
【问题讨论】:
-
我可以验证这不会在我的 vim 环境中发生。为了创建 minimum viable example,如果您将问题缩小到导致此行为的特定插件或 vimrc 行,而不是仅仅提供整个 vimrc 文件,这将有所帮助。
-
所以我对这个问题进行了更深入的研究,它似乎只适用于某些 java 文件,但不适用于其他文件。我似乎无法将其缩小到特定的插件。关于如何找出可能是这里的问题的任何想法?这似乎很奇怪
标签: vim indentation word-wrap