Vim crashes when saving files

Ouverte
#482 0 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
vim
Domaine
tooling

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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
Langage dominant
Vim Script
Étoiles
4.2k
Forks
323
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de rust-lang/rust.vim

Toutes les issues de rust-lang/rust.vim

Issues similaires

Plus d'issues DevTools

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.