2016-04-05 5 views
0
let mapleader = "," 

set number 

set textwidth=79 " lines longer than 79 columns will be broken 
set shiftwidth=4 " operation >> indents 4 columns; << unindents 4 columns 
set tabstop=4  " a hard TAB displays as 4 columns 
set expandtab  " insert spaces when hitting TABs 
set softtabstop=4 " insert/delete 4 spaces when hitting a TAB/BACKSPACE 
set shiftround " round indent to multiple of 'shiftwidth' 
set cindent  " align the new line indent with the previous line 

set nobackup 
set nowritebackup 
set noswapfile 

vnoremap < <gv " continue visual selecting after shiftwidh 
vnoremap > >gv 

nnoremap <C-h> <C-w>h 
nnoremap <C-j> <C-w>j 
nnoremap <C-k> <C-w>k 
nnoremap <C-l> <C-w>l 

nnoremap j gj 
nnoremap k gk 

nnoremap <Leader>r :w \| !clear && ./%<CR> 
command W w !sudo tee % > /dev/null 
noremap <silent><Leader>/ :nohls<CR> 

set clipboard=unnamedplus 
set paste 
set ignorecase 

Irgendwie nach einer Neuinstallation meines arch linux, vim Arbeit poperly stoped. Nachdem ich dasselbe gemacht habe, habe ich vor ein paar Tagen mit dem alten System - jetzt beschwert sich Python über Einzug.vim expandtab funktioniert nicht nach Neuinstallation

Ich habe keine installierten Plugins oder was auch immer, warum ist das kaputt gegangen?

P.S. habe schon dieselben quests gesehen, aber es ging um plugins, die ich nicht habe. P.S. Bemerkte, dass nach : vim nicht Newline nach cindent

starten wird, noch Einschnitt brokes nach :set paste. Warum passiert das?

+0

Was bedeutet ': verbose set expandtab?' Sagen? Das sollte Ihnen sagen, wo die Einstellung zuletzt eingestellt wurde. – Carpetsmoker

+0

'noexpandtab letzten Satz von ~/.vim/vimrc' Ich bin verwirrt, was genau bedeutet es? Warum ist es 'noexpandtab' wenn es nur' expendab' in config gibt. Und was heißt eigentlich "last set"? Liest vim die Konfigurationsdatei situativ? – kAldown

+0

OMG! Das Löschen von 'set paste' löst das Problem. Warum? und warum es genau die gleiche Konfiguration funktioniert, aber ohne 'set ignorecase' auf der vorherigen Konfiguration? – kAldown

Antwort

1

set paste "bricht" die Einrückung. Das ist alles, was es tut. Das ist der Grund, warum es funktioniert. Das Einfügen von Text in Vim wäre normalerweise dasselbe, als würde man jeden Buchstaben eingeben. Öffnen Sie beispielsweise eine Datei mit Text (in Vim) und stellen Sie sicher, dass sich Vim im normalen Modus befindet. Kopieren Sie den folgenden Text: d4dAhowdy. Fügen Sie es in Vim ein. Sie sehen, dass es vier Zeilen löscht (d4d), wechselt in den Einfügemodus am Ende der Zeile (A) und gibt howdy ein. Das Einfügen in Vim ist dasselbe wie das Eintippen der Buchstaben; es muss nicht unbedingt alles genau einfügen, wie es kommt. Angenommen, Sie geben:

if this: 
that 

Sobald Sie die Eingabetaste drücken, nachdem if this: würde Vim die Zeile einrücken, so würde dieser Code tatsächlich wie folgt aussehen:

if this: 
    that 

set paste Mit verwandelt sich das ab, so dass beim Einfügen diesen Code in (mit der Einrückung enthalten), Vim nicht automatisch Einzug und alles zeigt sich normal. Wenn Sie zu set nopaste waren und dann den obigen un eingerückten Code einfügen, würde Vim es für Sie einrücken.

Verwandte Themen