Vim crashes when saving files

Aperta
#482 0 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
vim
Ambito
tooling

Direzione di ricerca

Start by reproducing the save failure with the reported Vim and Vundle setup, then inspect rust.vim's save-related autocommands and the g:rustfmt_autosave setting mentioned in the report. The issue does not identify a failing file or test, and its Vim configuration includes a malformed Rust filetype condition. Done means saving a Rust file works without Vim exiting or leaving a swap file.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

rust.vim version:

I installed the plugin with Vundle. The current commit of the repository it cloned is:
commit 4aa69b84c8a58fcec6b6dad6fe244b916b1cf830 (HEAD -> master, origin/master, origin/HEAD)

Steps to reproduce:

In terminal:
vim hello.rs
In vim:
:w

Expected vs. actual behavior:

  • Expected:
    save the file
  • Actual:
    editor exits with the following error message:
[4]+  Stopped                 vim hellp.rs
exit
There are stopped jobs.

Running ls -a reveals that there is still a file called .hellp.rs.swp

Paste debugging info from the Rust Vim plugin via one of the following

commands: :RustInfo, :RustInfoToClipboard, or :RustInfoToFile <filename>.

Running any of the commands listed causes a crash similar to the one caused by saving the file.

Contents of ~/.vimrc:

set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
Plugin 'https://github.com/scrooloose/nerdtree'
Plugin 'https://github.com/jiangmiao/auto-pairs'
Plugin 'https://github.com/vim-syntastic/syntastic'
Plugin 'https://github.com/frazrepo/vim-rainbow'
Plugin 'https://github.com/tpope/vim-surround'
Plugin 'https://github.com/psf/black'
Plugin 'https://github.com/Yggdroot/indentLine'
Plugin 'https://github.com/pedrohdz/vim-yaml-folds'
Plugin 'https://github.com/rust-lang/rust.vim'

" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList       - lists configured plugins
" :PluginInstall    - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line
:set nu
:set expandtab
:set shiftwidth=2
:set tabstop=2
:set list
:set listchars=tab:>>
:set smartindent
:set autoindent
:set shell=bash\ -i

" Exit Vim if NERDTree is the only window remaining in the only tab.
autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif

" Configure .sh files
if &filetype ==# 'sh'
  setlocal noexpandtab
endif

" Configure python files
let g:python_recommended_style=0

" Configure rust files
" Also tried calling this 'rs', and removing the section, and setting these manually, and setting them globally
if &filetype ==# 'rust 
  syntax enable
  let g:rustfmt_autosave = 1
endif

" Activate rainbow
let g:rainbow_active = 1

" Configure syntastic
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
Lingua principale
Vim Script
Stelle
4.2k
Fork
323
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di rust-lang/rust.vim

Tutte le issue di rust-lang/rust.vim

Issue simili

Altre issue su DevTools

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.