Klicken

Die Konfigurationsdatei vim -. Vimrc (für Linux und Windows)

Weiter zu den interessantesten ihrer Konfigurationsdateien zu bewahren. Heute war die Reihe an der Konfigurationsdatei für den Editor vim -. Vimrc. Ziemlich viel Zeit damit beschäftigt, die Sammlung und Weitergabe der Einstellungen ihrer Anwendung für verschiedene Betriebssysteme (Windows und Linux). Und wird er endlich fertig gestellt - nicht einmal wissen, :)

Das Beste an der russisch-sprechenden Führer (mit Beispielen) für das Einrichten von Vim traf ich im Internet: Ein weiteres HowTo für Vim .

"Schau und Grundeinstellungen HERAUSGEBER
" отключить режим совместимости с классическим Vi gesetzt nocompatible "deaktivieren Kompatibilitätsmodus mit dem klassischen Vi
" включить подсветку синтаксиа Syntax auf "die Hintergrundbeleuchtung syntaktische drehen
" определять подсветку на основе кода файла Dateityp-Plugin Gedankenstrich auf ", um die Hintergrundbeleuchtung auf der Code-Datei zu bestimmen
= 3 " сколько строк внизу и вверху экрана показывать при скроллинге gesetzt scrolloff = 3 "Anzahl der Zeilen am unteren und oberen Rand des Bildschirms Display beim Scrollen
=dark " установить цвет фона set background = dark "set Hintergrundfarbe
colorscheme af "das Standard Farbschema (wenn Sie in der Befehls-Modus für tab completion Schemanamen verfügbar)
" перенос длинных строк gesetzt verpacken ", die lange Zeilenumbruch
" переносить целые слова gesetzt LBR "ganze Wörter Transfer
" не выгружать буфер когда переключаешься на другой gesetzt versteckte "nicht entladen Puffer beim Wechsel zu einem anderen
=a " включает поддержку мыши при работе в терминале (без GUI) set mouse = a "umfasst die Unterstützung für die Maus bei der Arbeit in einem Terminal (ohne GUI)
" скрывать мышь в режиме ввода текста mousehide gesetzt ", um die Maus zu verstecken, wenn Sie Text schreiben
" показывать незавершенные команды в статусбаре (автодополнение ввода) gesetzt ShowCmd "anzuzeigen unvollständige Befehle in der Statusleiste (Autovervollständigung Eingang)
+ = <:> " показывать совпадающие скобки для HTML-тегов Satz matchpairs + = <:> "zeigen passenden Halterungen für HTML-Tags
" показывать первую парную скобку после ввода второй gesetzt Showmatch "überspringen erste Strebe nach dem Eintritt in die zweite
" перечитывать изменённые файлы автоматически gesetzt AutoRead "zum erneuten Lesen der geänderten Dateien automatisch
" использовать больше цветов в терминале gesetzt t_Co = 256 ", um mehr Farben im Terminal verwenden
gesetzt bestätigen "Dialog statt mit Fehlermeldungen
"" Automatisch wieder lesen Sie die Konfiguration des VIM nach dem Speichern
bufwritepost $ MYVIMRC source $ MYVIMRC autocmd! bufwritepost $ $ MYVIMRC Quelle MYVIMRC
"" Das Format der Statuszeile

= 2 " всегда показывать строку состояния gesetzt laststatus = 2 "zeigen immer die Statusleiste
"" Highlight Tabulatoren und Leerzeichen am Ende der Zeile
" включить подсветку Set-Liste "oder die Beleuchtung einschalten
=tab :>- ,trail :- " установить символы, которыми будет осуществляться подсветка gesetzt listchars = tab:> -, trail: - ", um die Zeichen, die gesetzt werden hervorgehoben
"" Auf die letzte Position bei der Eröffnung des Puffers springen
bufreadpost * call LastPosition ( ) autocmd! bufreadpost * Aufruf LastPosition ()
LastPosition ( ) Funktion! LastPosition ()
( "' \" " ) && line ( "' \" " ) < = line ( '$' ) wenn Zeile ("" \ "") && line ("'\" ") <= line (' $ ')
normal! `"
endif
endfunction
= indent , eol ,start " backspace обрабатывает отступы, концы строк set backspace = Gedankenstrich, eol, start "Backspace Griffe Einbuchtung, Zeilenumbrüche
=curdir,buffers,tabpages " опции сессий - перейти в текущию директорию, использовать буферы и табы gesetzt sessionoptions = CurDir, Puffer, TabPages "Option Sessions - um im aktuellen Verzeichnis zu verschieben, verwenden Puffer und Registerkarten
" не использовать своп-файл (в него скидываются открытые буферы) gesetzt noswapfile "nicht mit einem Swap-Datei (in einem Chip in den offenen Puffer)
=current gesetzt browsedir = Strom
" вместо писка бипером показывать это на экране gesetzt visualbell "eher als ein Peep-Show ist ein Piepser auf dem Bildschirm
"Wenn Sie ein Fragment behält die Einbuchtung
= gesetzt pastetoggle =

"SETUP SUCHE
" ics - поиск без учёта регистра символов gesetzt ignorecase "ICS - Suchen unempfindlich
" - если искомое выражения содержит символы в верхнем регистре - ищет с учётом регистра, иначе - без учёта SmartCase gesetzt "- wenn die Suche Ausdruck enthält Großbuchstaben - Recherchen sind Groß-und Kleinschreibung, sonst - ohne
" подсветка результатов поиска HLS-Set "Highlight Suchergebnisse
" поиск фрагмента по мере его набора gesetzt incsearch "Suche nach dem Fragment, wie es eingestellt ist

"SETTING Code-Folding (Klapp-)
" включить фолдинг gesetzt foldenable "gehören Falten
= syntax " определять блоки на основе синтаксиса файла gesetzt foldmethod = Syntax "definieren Blöcke auf der Syntax der Datei basiert
= 3 " показать полосу для управления сворачиванием gesetzt foldcolumn = 3 "Strip-Show für das Management von Falten
= 1 " Первый уровень вложенности открыт, остальные закрыты gesetzt foldlevel = 1 "Die erste Ebene der Verschachtelung ist offen, das andere geschlossen
" правильное сворачивание классов и функций Perl lassen perl_folding = 1 "korrekte Faltung und Funktion von Perl-Klassen
" правильное сворачивание классов и функций PHP lassen php_folding = 1 "korrekte Faltung Klassen und PHP-Funktionen
=all " автоматическое открытие сверток при заходе в них gesetzt foldopen = all "automatische Öffnen der Verpackung, wenn sich ihnen zu nähern

"Einzug
= 4 " размер отступов gesetzt shiftwidth = 4 "Größe der Einrückung
= 3 " ширина табуляции gesetzt tabstop = 3 "Breite der Registerkarte
= 3 " ширина 'мягкого' таба gesetzt softtabstop = 3 "Breite des" weichen "Registerkarte
" ai - включить автоотступы gesetzt autoindent "ai - enable autoindent
" ci - отступы в стиле С gesetzt cindent "ci - C-Stil Einzug
" Преобразовать табуляцию в пробелы set expandtab "Tabulatoren in Leerzeichen konvertieren
" Умные отступы (например, автоотступ после {) gesetzt smartindent "Smart Einbuchtung (z. B. Auto-Einzug nach einer {)
"Für diese Arten von Dateien aus Tabs mit Leerzeichen ersetzen und ändern Sie die Breite der Vertiefung
crontab,fstab,make set noexpandtab tabstop = 8 shiftwidth = 8 au FileType crontab, fstab, machen eingestellt noexpandtab tabstop = 8 = 8 shiftwidth

"Festlegung von Datei-
"Encoding den Editor standardmäßig (wenn Sie alle Dateien in dieser Kodierung enthalten öffnen)
( 'win32' ) falls hat ('win32')
=cp1251 gesetzt encoding = cp1251
sonst
=utf - 8 set encoding = UTF - 8
=utf - 8 gesetzt termencoding = UTF - 8
endif
=unix,dos,mac " формат файла по умолчанию (влияет на окончания строк) - будет перебираться в указанном порядке gesetzt FFS = UNIX, DOS, Mac "Standard-Dateiformat (betrifft das Ende der Linie) - wird in dieser Reihenfolge zu verschieben
=utf - 8 ,cp1251,koi8 - r,cp866 " варианты кодировки файла по умолчанию (все файлы по умолчанию сохраняются в этой кодировке) Satz fencs = UTF - 8, cp1251, koi8 - r, cp866 "Kodier-Optionen für die Standard-Datei (alle Dateien werden standardmäßig in dieser Codierung gespeichert)
"" Benutzen Sie Dateitypen
filetype auf
Dateityp-Plugin auf
filetype Gedankenstrich auf
сделать его исполняемым "" Wenn Sie die Datei gespeichert ist ein Skript - ausführbar machen
BufWritePost * if getline ( 1 ) = ~ "^#!.*/bin/" | silent ! chmod a + x %| endif "" Au BufWritePost * wenn getline (1) = ~ "^ # * / bin /" |!. Stille chmod a + x% |! Endif
"" Wenn Sie eine Datei öffnen für ihn, um die entsprechende 'Compiler' fragen
BufEnter *. pl compiler perl autocmd! BufEnter *. pl Perl-Compiler

"Einstellungen der Umgebungsvariablen
( 'win32' ) falls hat ('win32')
VIMRUNTIME = $ HOME . ' \P rograms \V im \v im72' Lassen $ VIMRUNTIME = $ HOME. '\ P rograms \ V im \ v im72 "
mswin . vim Quelle $ VIMRUNTIME / mswin. vim
sonst
VIMRUNTIME = $ HOME . '/.vim' Lassen $ VIMRUNTIME = $ HOME. '/. vim'
endif

"Aussehen-Einstellungen
для Windows и Linux ) "" Die Schrift-Set (für Windows und Linux)
( 'gui' ) falls hat ('gui')
( 'win32' ) falls hat ('win32')
=Lucida_Console : h10 : cRUSSIAN :: set guifont = Lucida_Console: H10: cRUSSIAN ::
sonst
=Terminus\ 10 set guifont = Terminus \ 10
endif
endif
"" Stellen Sie das Editor-Fenster auf Vollbild
( 'gui' ) falls hat ('gui')
=T " отключить меню в GUI set guioptions - = T "aus dem Menü in der GUI
* : set lines = 99999 columns = 99999 au GUIEnter *: set lines = 99 999 Spalten = 99.999
endif

"Backup-Einstellungen
" включить сохранение резервных копий gesetzt Backup "ermöglicht Backups
bufwritepre * call BackupDir ( ) " сделаем резервную копию перед записью буффера на диск autocmd! bufwritepre * Aufruf Sicherungsverzeichnis () "wird ein Backup vor dem Schreiben des Puffer auf die Festplatte machen
"" Save intelligente Backups täglich
BackupDir ( ) Funktion! Sicherungsverzeichnis ()
"Definieren Sie ein Verzeichnis zum Speichern der Sicherung
( 'win32' ) falls hat ('win32')
backupdir = $ VIMRUNTIME . ' \b ackup' Lassen l:. backupdir = $ VIMRUNTIME '\ b ackup'
sonst
backupdir = $ VIMRUNTIME . '/backup/' . Lassen l: backupdir = $ VIMRUNTIME '/ backup / "..
expand ( '%:p:h' ) , '^' .$ HOME, '~' , '' ) \ Stellvertreter (expand ("%: p: h '.),' ^ '$ HOME,' ~ ','')
endif
"Wenn das Verzeichnis nicht existiert, erstellen Sie es rekursiv
isdirectory ( l : backupdir ) ! wenn isDirectory (l: backupdir)
( l : backupdir , 'p' , 0700 ) rufen mkdir (l: backupdir, 'p', 0700)
endif
"Definieren Sie die Backup-Verzeichnis
amp;amp; backupdir =l : backupdir let & amp; backupdir = l: backupdir
"Definieren Sie die Erweiterung der Backup-Datei
amp;amp; backupext = strftime ( '~%Y-%m-%d~' ) let & amp; backupext = strftime ('~% Y-% m-% d ~')
endfunction

"Einstellungen umschalten Tastatur-Layouts
"" Aus konishchevdmitry Taken
=russian - jcukenwin " настраиваем переключение раскладок клавиатуры по <C-^> set keymap = Russisch - jcukenwin "einzurichten, um Tastatur-Layouts umschalten, indem <C-^>
= 0 " раскладка по умолчанию - английская gesetzt iminsert = 0 "ist das Standard-Layout - English
MyKeyMapHighlight ( ) Funktion! MyKeyMapHighlight ()
amp;amp; iminsert == 0 " при английской раскладке статусная строка текущего окна будет серого цвета wenn & amp; iminsert == 0 "in der englischen Tastatur-Layout des aktuellen Fensters Statusleiste wird grau
Hallo StatusLine ctermfg = Gray guifg = grau
else "und in russischer Sprache - grün.
Hallo StatusLine ctermfg = DarkGreen guifg = DarkGreen
endif
endfunction
" при старте Vim устанавливать цвет статусной строки Aufruf MyKeyMapHighlight () "beim Starten Vim die Farbe der Statusleiste
* : call MyKeyMapHighlight ( ) " при смене окна обновлять информацию о раскладках au WinEnter *: Call MyKeyMapHighlight () "wenn Sie das Fenster ändern, um die Informationen zu aktualisieren, die Layouts
C - F > < C -^> " использовать Ctrl+F для переключения раскладок cmap <stumm> <c-F> <c-^> "zu verwenden die Tastenkombination Strg + F, um Tastatur-Layouts umschalten
C - F > < C -^> X < Esc >: call MyKeyMapHighlight ( ) < CR > a < C - H > imap <stumm> <c-F> <c-^> X <Esc>: Aufruf MyKeyMapHighlight () <CR> ein <c-H>
C - F > a < C -^> <Esc> : call MyKeyMapHighlight ( ) <CR> nmap <stumm> <c-F> ein <c-^> <Esc>: Aufruf MyKeyMapHighlight () <CR>
C - F > < Esc > a < C -^> <Esc> : call MyKeyMapHighlight ( ) < CR > gv vmap <stumm> <c-F> <Esc> ein <c-^> <Esc>: Aufruf MyKeyMapHighlight () <CR> GV

"INPUT ON AVTODOPLNENIYA (omnifunct)
python set omnifunc =pythoncomplete#Complete autocmd FileType python Satz omnifunc = pythoncomplete # Komplette
tt2html set omnifunc =htmlcomplete#CompleteTags autocmd FileType tt2html Satz omnifunc = htmlcomplete # CompleteTags
javascript set omnifunc =javascriptcomplete#CompleteJS autocmd FileType JavaScript gesetzt omnifunc = javascriptcomplete # CompleteJS
html set omnifunc =htmlcomplete#CompleteTags autocmd FileType html Set omnifunc = htmlcomplete # CompleteTags
css set omnifunc =csscomplete#CompleteCSS autocmd FileType CSS-Set omnifunc = csscomplete # CompleteCSS
xml set omnifunc =xmlcomplete#CompleteTags autocmd FileType XML-Set omnifunc = xmlcomplete # CompleteTags
php set omnifunc =phpcomplete#CompletePHP autocmd FileType PHP gesetzt omnifunc = phpcomplete # CompletePHP
c set omnifunc =ccomplete#Complete autocmd FileType c Satz omnifunc = ccomplete # Komplette

"Hotkeys
"F2 - speichern Sie die Datei
w < cr > nmap <F2>: w <cr>
esc >: w < cr > i vmap <F2> <esc>: w i <cr>
esc >: w < cr > i imap <F2> <esc>: w i <cr>
"F5 - Zeigt eine Liste von Puffern
buffers < cr > nmap <F5> <Esc>: Puffer <cr>
esc >: buffers < cr > vmap <F5> <esc>: Puffer <cr>
esc >< esc >: buffers < cr > imap <F5> <esc> <esc>: Puffer <cr>
"F6 - das Pufferspeicher
: bp < cr > Karte <F6>: BP <cr>
esc >: bp < cr > i vmap <F6> <esc>: BP <cr> i
esc >: bp < cr > i imap <F6> <esc>: BP <cr> i
"F7 - der nächste Puffer
: bn < cr > Karte <F7>: bn <cr>
esc >: bn < cr > i vmap <F7> <esc>: bn <cr> i
esc >: bn < cr > i imap <F7> <esc>: bn <cr> i
"F9 - zu speichern Sie die Datei und starten Sie die Kompilierung (make)
: w < cr >: make < cr > Karte <F9>: w <cr>: make <cr>
esc >: w < cr >: make < cr > i vmap <F9> <esc>: w <cr>: make <cr> i
esc >: w < cr >: make < cr > i imap <F9> <esc>: w <cr>: make <cr> i
"F10 - enable-deaktivieren der Browser Dokumentstruktur (TagList)
: TlistToggle < cr > Karte <F10>: TlistToggle <cr>
esc >: TlistToggle < cr > vmap <F10> <esc>: TlistToggle <cr>
esc >: TlistToggle < cr > imap <F10> <esc>: TlistToggle <cr>
"F11 - ON / OFF LINE Zahlen drehen
set < Space > nu !< CR > a imap <F11> <Esc>: set nu <Space> <CR> ein
set < Space > nu ! <CR> nmap <F11>: set nu <Space> <CR>
"F12 - Datei-Browser (Ex: für einen Standard-Browser-Plug-NERDTree -
"Der Verzeichnisbaum)
: NERDTreeToggle < cr > Karte <F12>: NERDTreeToggle <cr>
esc >: NERDTreeToggle < cr > i vmap <F12> <esc>: NERDTreeToggle <cr> i
esc >: NERDTreeToggle < cr > i imap <F12> <esc>: NERDTreeToggle <cr> i
вкладок ) "" Wechseln der Reiter (Tabs)
S - tab > : tabprevious < cr > Karte <S-tab>: tabprevious <cr>
tab > : tabprevious < cr > nmap <S-tab>: tabprevious <cr>
tab > < ESC >: tabprevious < cr > i imap-<S tab> <ESC>: tabprevious <cr> i
C - tab > : tabnext < cr > Karte <c-tab>: tabnext <cr>
tab > : tabnext < cr > nmap <c-tab>: tabnext <cr>
tab > < ESC >: tabnext < cr > i imap-<c tab> <ESC>: tabnext <cr> i
t > : tabnew < cr > nmap <c-T>: tabnew <cr>
t > < ESC >: tabnew < cr > imap-<c T> <ESC>: tabnew <cr>
w > : tabclose < cr > nmap <c-w>: tabclose <cr>
w > < ESC >: tabclose < cr > imap-<c w> <ESC>: tabclose <cr>
"" Switch-Kodierungen Datei
gesetzt wildmenu
= < Tab > gesetzt WCM = <Tab>
e ++ enc =cp1251 < CR > Menü Kodierung CP1251:. e + + enc = cp1251 <CR>
e ++ enc =cp866 < CR > Menü Kodierung CP866:. e + + enc = cp866 <CR>
U : e ++ enc =koi8 - u < CR > Menü Encoding KOI8 - U:. e + + enc = koi8 - u <CR>
8 : e ++ enc =utf - 8 < CR > Menü Kodierung UTF - 8:. e + + enc = utf - 8 <CR>
: emenu Encoding .< TAB > Karte <F8>:. eMenu Encoding <TAB>
"C (TRL) + d - Verdoppelung der aktuellen Zeile
d > < esc > yypi imap-<c d> <esc> yypi
"Ctrl-Space für Autovervollständigung
space > < C - x >< C - o > inoremap <c-Leerzeichen> <c-x> <c-O>
"Ce - Kommentar / kommentieren Sie (durch NERD_Comment)
C - e > , ci Karte <c-e>, ci
e > , ci nmap <c-e>, ci
e > < ESC > ,cii imap-<c e> <ESC>, CII
копировать - вставить через Ctrl "" Cut - Copy - Paste durch Strg
X > "+x " CTRL - X - вырезать vnoremap <c-X> "+ x" STRG - X - Cut
C > "+y " CTRL - C - копировать vnoremap <c-C> "+ y" STRG - C - Kopie
C - V > "+gP " CTRL - V вставить под курсором Karte <c-V> "GP" Strg - V unter dem Cursor einfügen
вернуть через Ctrl "" Abbrechen - um über Strg zurückkehren
C - Z > u " отмена действия noremap <c-Z> u "Abschaffung des
Z > < C - O > u inoremap <c-Z> <c-O> u
C - Y > < C - R > " вернуть отменённое назад noremap <c-Y> <c-R> "vor Redo
Y > < C - O >< C - R > inoremap <c-Y> <c-O> <c-R>

Ich hoffe, dass jemand so hilfreich!

Mehr zu ähnlichen Themen:

Kategorie Abgelegt unter: Linux , Gadgets , Coding | Tag Tags: , , , | Kommentare 2 Kommentare

Kommentare

2 Kommentare zu "vim-Konfigurationsdatei -. Vimrc (für Linux und Windows)"

  1. Dummy schrieb:

    Statt:
    027 "." Auf die letzte Position bei der Eröffnung des Puffers springen
    028.autocmd! bufreadpost * Aufruf LastPosition ()
    029. Funktion! LastPosition ()
    030. wenn Zeile ("" \ "") && line ("'\" ") <= line (' $ ')
    031. normal! `"
    032. endif
    033. endfunction

    viel klüger zu tun:
    au BufWinLeave *. * stille mkview
    au BufWinEnter *. * stille loadView

    Im letzteren Fall und den Stand der Faltung erhalten.

    • dimio schreibt:

      Überprüfen Sie für die gvim 7.2 für Windows - funktioniert nicht, wenn Sie die Datei öffnen Zeiger ist immer auf das erste Zeichen der ersten Reihe. loadView Stunden ist nicht auf den Swaps vorzeigbar gebunden? Ich habe es deaktiviert.
      Ich werde versuchen, eine linuh Hause zu haben.

Lassen Sie eine Antwort