1. Kopieren Sie die Konfigurationsdatei in die Benutzerumgebung, erstellen Sie einen neuen .vim-Ordner und erstellen Sie einen Bundle-Unterordner
Die Bundle-Konfigurationsdatei sieht wie folgt aus: "Hinzugefügte Konfiguration wird hier platziert, setze nocompatible" wird verbessert Dateityp aus " erforderlich! setze rtp+=~/.vim/bundle/vundle/ rufen Sie vundle#rc() auf " lass Vundle Vundle verwalten " erforderlich! Bündel 'gmarik/vundle' " Meine Bundles hier: " " Original-Repos auf GitHub Bündel 'tpope/vim-fugitive' Paket 'Lokaltog/vim-easymotion' Bündel 'rstacruz/sparkup', {'rtp': 'vim/'} Bündel 'tpope/vim-rails.git' " Vim-Skript-Repositorys Bündel 'L9' Paket 'FuzzyFinder' " Nicht-GitHub-Repos " Bundle 'git://git.wincent.com/command-t.git' " Bündel 'https://github.com/scrooloose/nerdtree.git' " ... Einzug des Dateityp-Plugins bei " erforderlich! " "Kurze Hilfe -- Nachfolgend sind die Befehle für die Verwendung von vundle aufgeführt" :BundleList - Liste konfigurierter Bundles " :BundleInstall(!) - Bundles installieren (aktualisieren) " :BundleSearch(!) foo - Suche (oder aktualisiere vorher den Cache) nach foo " :BundleClean(!) - Entfernung ungenutzter Bundles bestätigen (oder automatisch genehmigen) " " Weitere Einzelheiten finden Sie unter :h vundle oder im Wiki für häufig gestellte Fragen. " HINWEIS: Kommentare nach dem Bundle-Befehl sind nicht zulässig. 2. Installieren Sie NERDTree Die Verwendung ist wie folgt: nmap <F5>:NERDTree<CR> Tastenkombination :NERDTree an Strg+W kann zwischen linkem und rechtem Fenster wechseln p zum übergeordneten Verzeichnis, P zum Stammverzeichnis o öffnet eine Datei oder ein Verzeichnis, q beendet das Plugin 3. Tagbar installieren Die Konfigurationsdateien lauten wie folgt: " Tagbar-Einstellungen---------------- " Tastenkombination nmap <F4> :TagbarToggle<CR> let g:tagbar_width = 20 " Breite der Tagbar, Standard 20 " let g:tagbar_left = 1 " auf der linken Seite let g:tagbar_right = 1 " auf der rechten Seite let NERDTreeIgnore=['\.pyc', '\.pyo', '\.swp', '\~'] " ignoriere *.py[co], *.sw p und *~ Verwenden Sie die Tastenkombination F4 und beenden Sie mit q 4. Andere Plugins Paket 'https://github.com/scrooloose/nerdtree.git' Meine Vim-Konfiguration hat folgende Vorteile: 1. Drücken Sie F5, um C-, C++- und Java-Code direkt zu kompilieren und auszuführen sowie Shell-Skripte auszuführen. Drücken Sie „F8“, um C- und C++-Code zu debuggen. 2. Dateikopfzeilen automatisch einfügen. Beim Erstellen einer neuen C- oder C++-Quelldatei wird die Kopfzeile automatisch eingefügt: einschließlich Dateiname, Autor, Kontaktinformationen, Erstellungszeit usw. Leser können sie nach Bedarf ändern 3. Ordnen Sie "Strg + A" zu, um alle auszuwählen und die Tastenkombinationen zu kopieren, um das Kopieren von Code zu erleichtern 4. Drücken Sie "F2", um Leerzeilen im Code direkt zu entfernen 5. "F3" kann die aktuellen Verzeichnisdateien auflisten und das Baumdateiverzeichnis öffnen 6.Unterstützt Mausauswahl und Pfeiltastenbewegung 7. Codehervorhebung, automatische Einrückung, Zeilennummer anzeigen, Statuszeile anzeigen 8. Drücken Sie "Strg + P" zur automatischen Vervollständigung 9. [], {}, (), "", ", ' ' usw. werden alle automatisch vervollständigt 10. Weitere Funktionen Leser können die folgenden Dokumente studieren Karte <F9>: SaveInputData() aufrufen <CR> Funktion!SaveInputData() ausführen "tabnew" exec 'normal "+gP' exec "w! /tmp/Eingabedaten" Endfunktion "Farbschema Torte "Farbschema Murphy "Farbschema Wüste "Farbschema Wüste "Farbschema Elfenlord Farbschema Ron "Setzen Sie fencs = utf-8, ucs-bom, shift-jis, gb18030, gbk, gb2312, cp936 "Satz Termencoding = UTF-8 "Kodierung festlegen=utf-8 "Dateikodierungen festlegen=ucs-bom,utf-8,cp936 "Dateikodierung festlegen = utf-8 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Verwandte anzeigen """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "set shortmess=atI " Beim Systemstart die Eingabeaufforderung zur Hilfe für Kinder in Uganda nicht anzeigen "winpos 5 5 " Fensterposition festlegen "set lines=40 columns=155 " Fenstergröße festlegen set go=" Keine grafischen Schaltflächen verwenden "color asmanian2 " Hintergrunddesign festlegen "set guifont=Courier_New:h10:cANSI " Schriftart festlegen "syntax on " Syntaxhervorhebung autocmd InsertLeave * se nocul " Aktuelle Zeile hell hervorheben autocmd InsertEnter * se cul " Aktuelle Zeile hell hervorheben "set ruler " Lineal anzeigen set showcmd " Eingegebenen Befehl zum leichteren Lesen anzeigen "set cmdheight=1 " Höhe der Befehlszeile (unter der Statuszeile) auf 1 setzen „set whichwrap+=<,>,h,l“ ermöglicht es, dass die Rücktaste und die Cursortasten die Zeilengrenzen überschreiten (nicht empfohlen) "set scrolloff=3" Den Cursor drei Zeilen entfernt halten, wenn man sich an den Anfang und das Ende des Puffers bewegt. setze novisualbell "Nicht blinken (verstehe nicht) set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")} "In der Statuszeile angezeigter Inhalt set laststatus=1 " Anzeige der Statuszeile starten (1), Statuszeile immer anzeigen (2) set foldenable " Faltung aktivieren set foldmethod=manual " manuelle Faltung" set background=dark " schwarzen Hintergrund verwenden set nocompatible " störenden VI-Konsistenzmodus entfernen, einige Bugs und Einschränkungen früherer Versionen vermeiden" chinesische Hilfe anzeigen, wenn Version >= 603 setze Hilfesprache=cn Kodierung festlegen=utf-8 Ende "Farbschema festlegen" Farbschema Murphy "Schriftart"wenn (hat("gui_running")) " setze guifont=Bitstream\ Vera\ Sans\ Mono\ 10 "EndeWenn """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """""Neuer Dateititel"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "Neue .c, .h, .sh, .java Dateien erstellen und Dateiheader automatisch einfügen autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()" ""Funktion SetTitle definieren, Dateiheader automatisch einfügen func SetTitle() "Wenn der Dateityp eine .sh-Datei ist, wenn &filetype == 'sh' rufe setline auf (1, "\##########################################################################") Rufen Sie Anhängen auf (Zeile("."), "\# Dateiname: ".expand("%")) Rufen Sie Anhängen auf (Zeile(".)+1, "\# Autor: ma6174") Rufen Sie Anhängen auf (Zeile(".)+2, "\# Mail: [email protected]") Rufen Sie Anhängen auf (Zeile(".)+3, "\# Erstellungszeit: ".strftime("%c")) Rufen Sie Anhängen auf (Zeile(".)+4, "\###########################################################################") Rufen Sie Anhängen auf (Zeile(".)+5, "\#!/bin/bash") Rufen Sie Anhängen auf (Zeile(".)+6, "") anders rufe setline auf(1, "/*****************************************************************************") call append(line("."), " > Dateiname: ".expand("%")) rufe Anhängen auf (Zeile(".)+1, " > Autor: ma6174") call append(line(".")+2, " > Mail: [email protected] ") call append(line(".")+3, " > Erstellungszeit: ".strftime("%c")) Rufen Sie Anhängen auf (Zeile(".)+4, " *********************************************************************************/") Rufen Sie Anhängen auf (Zeile(".)+5, "") Ende wenn &Dateityp == 'cpp' rufe Anhängen auf (Zeile(".)+6, "#include<iostream>") Rufen Sie Anhängen auf (Zeile(".)+7, "unter Verwendung des Namespace std;") Rufen Sie Anhängen auf (Zeile(".)+8, "") Ende wenn &Dateityp == 'c' Rufen Sie Anhängen auf (Zeile(".)+6, "#include<stdio.h>") Rufen Sie Anhängen auf (Zeile(".)+7, "") Ende " wenn &Dateityp == 'java' " rufe Anhängen auf (Zeile(".")+6,"öffentliche Klasse ".expand("%")) " rufe Anhängen auf (Zeile(".)+7,"") " Endewenn "Nach dem Erstellen einer neuen Datei automatisch zum Ende der Datei navigieren autocmd BufNewFile * normal G Endfunktion """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "Tastaturbefehle"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" nmap <Leader>w :w!<cr> nmap <leader>f :finden<cr> "Alles zuordnen, auswählen + kopieren, Strg+A Karte <CA> ggVGY Karte! <CA> <Esc>ggVGY Karte <F12> gg=G "Strg+C im ausgewählten Zustand, um vmap zu kopieren <Cc> "+y "Gehe zum leeren Linennoremap <F2> :g/^\s*$/d<CR> "Dateien vergleichen nnoremap <C-F2> :vert diffsplit "Neue Tag-Map erstellen <M-F2> :tabnew<CR> "Listet die aktuelle Verzeichnisdateizuordnung auf <F3> :tabnew .<CR> "Öffnen Sie die Baumstruktur der Dateiverzeichnisse <C-F3> \be "C, C++ Drücken Sie F5, um die Karte zu kompilieren und auszuführen <F5> :call CompileRunGcc()<CR> Funktion!CompileRunGcc() ausführen "w" wenn &Dateityp == 'c' exec "!g++ % -o %<" exec "! ./%<" sonst wenn &Dateityp == 'cpp' exec "!g++ % -o %<" exec "! ./%<" sonst wenn &Dateityp == 'java' exec "!javac %" exec "!java %<" sonst wenn &Dateityp == 'sh' :!./% sonst wenn &Dateityp == 'py' exec "!python %" exec "!python %<" Ende Endfunktion "C, C++ Debugging-Map <F8> :call Rungdb()<CR> Funktion! Rungdb() ausführen "w" exec "!g++ % -g -o %<" exec "!gdb ./%<" Endfunktion """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "Praktische Einstellungen"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Auf automatisches Laden einstellen, wenn die Datei geändert wird. Autoread einstellen " Quickfix-Modus Autocmd Dateityp c,cpp map <Puffer> <Leerzeichen><Leerzeichen> :w<cr>:make<cr> "Codevervollständigung set completeopt=preview,menu "Plugin-Dateityp-Plugin zulassen auf "Gemeinsame Zwischenablage festlegen clipboard+=unbenannt "Niemals sichern setze nobackup "make run:set makeprg=g++\ -Wall\ \ % "Automatisch speichern Set Autowrite Lineal setzen " Lineal der Statusleiste öffnen Cursorlinie setzen " Aktuelle Zeile hervorheben Magic setzen " Magic setzen guioptions-=T setzen " Symbolleiste ausblenden guioptions-=m setzen " Menüleiste ausblenden " statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\ "Legen Sie die in der Statuszeile angezeigten Informationen fest. Setzen Sie foldcolumn=0 setze foldmethod=indent setze Faltebene=3 set foldenable "Start folding" Benutze nicht vi's Tastaturmodus, sondern vim's eigenen set nocompatible "Syntaxhervorhebung setze syntax=on "Entfernen Sie den Eingabefehler-Prompt-Sound-Set noeb „Bei der Verarbeitung nicht gespeicherter oder schreibgeschützter Dateien wird ein Bestätigungs-Popup angezeigt. " Automatische Einrückung setze autoindent setze den Punkt " Tabulatortastenbreite festlegen tabstop=4 " Einheitliche Einrückung ist 4 setze Softtabstop=4 setze Shiftwidth=4 " Keine Leerzeichen statt Tabulatoren verwenden set noexpandtab " Verwenden Sie Tabulatoren am Zeilen- und Absatzanfang setze smarttab "Zeilennummer einstellen "Historischer Datensatz Nummer Set History=1000 "Deaktivieren Sie die Generierung von temporären Dateien set nobackup Noswapfile festlegen "Suche Groß-/Kleinschreibung ignorieren setze Groß-/Kleinschreibung ignorieren "Suche Zeichen für Zeichen Hervorhebungssatz hlsearch Incsearch festlegen "Ersetzen Sie set gdefault inline "Kodierungseinstellung gesetzt enc=utf-8 setze fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936 "Spracheinstellungen setzen langmenu=zh_CN.UTF-8 setze Hilfesprache=cn " Meine Statuszeile zeigt an, was sie sagt (einschließlich Dateityp und Dekodierung) "Statuszeile festlegen = %F%m%r%h%w\ [FORMAT = %{&ff}]\ [TYP = %Y]\ [POS = %l, %v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")} "Statuszeile festlegen=[%F]%y%r%m%*%=[Zeile:%l/%L,Spalte:%c][%p%%] "Statuszeile immer anzeigen setze laststatus=2 " Die Höhe der Kommandozeile (unterhalb der Statuszeile), Standard ist 1, hier ist 2 setze cmdheight=2 " Dateityp erkennen Dateityp auf " Dateityp-Plugin laden auf " Laden Sie die relevante Einrückungsdatei für einen bestimmten Dateityp filetype indent auf "Globale Variablen speichern, viminfo+= setzen! " Wörter mit den folgenden Symbolen sollten nicht durch Zeilenumbrüche getrennt werden: set iskeyword+=_,$,@,%,#,- „Die Anzahl der zwischen den Zeichen eingefügten Pixelzeilen wird durch den Zeilenabstand = 0 festgelegt. " Befehlszeilen-Autovervollständigung im erweiterten Modus set wildmenu " Stellen Sie die Rücktaste so ein, dass sie Einrückungen, EOL, Start usw. steuert. Normalerweise ist backspace=2 eingestellt. " Erlaube Backspace und Cursortasten, Zeilengrenzen zu überschreiten setze whichwrap+=<,>,h,l " Sie können die Maus überall im Puffer verwenden (ähnlich wie beim Doppelklicken mit der Maus im Arbeitsbereich in Office). setze Maus=a Auswahl festlegen=exklusiv setze Auswahlmodus auf Maus, Taste " Teilen Sie uns mit dem Befehl commands mit, welche Zeile der Datei geändert wurde set report=0 " Leerzeichen zwischen geteilten Fenstern anzeigen, um das Lesen zu erleichtern set fillchars=vert:\ ,stl:\ ,stlnc:\ "Markieren Sie passende Klammern, setzen Sie Showmatch " Zeit zum Hervorheben der passenden Klammer (in Zehntelsekunden) setze matchtime=1 "Wenn der Cursor an den Anfang und das Ende des Puffers bewegt wird, halten Sie einen Abstand von 3 Zeilen ein. Setzen Sie scrolloff = 3 " Automatische Einrückung für C-Programme bereitstellen set smartindent "Hervorheben gewöhnlicher txt-Dateien (erfordert txt.vim-Skript) au BufRead,BufNewFile * setfiletype txt "Autovervollständigung: inoremap ( ()<ESC>i :inoremap ) <cr>=ClosePair(')')<CR> ":inoremap { {<CR>}<ESC>O ":inoremap } <cr>=ClosePair('}')<CR> :inoremap [ []<ESC>i :inoremap ] <cr>=ClosePair(']')<CR> :inoremap " ""<ESC>i :inoremap ' ''<ESC>i Funktion! ClosePair(char) wenn getline('.')[col('.') - 1] == a:char return "\<Rechts>" anders returniere a:char Ende Endfunktion Dateityp-Plugin-Einzug ein "Aktivieren Sie die Dateityperkennung und fügen Sie diesen Satz hinzu, um die intelligente Vervollständigung zu verwenden: set completeopt=longest,menu """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "NERDtee set let NERDChristmasTree=1 lass NERDTreeAutoCenter=1 let NERDTreeBookmarksFile=$VIM.'\Data\NerdBookmarks.txt' lass NERDTreeMouseMode=2 let NERDTreeShowBookmarks=1 let NERDTreeShowFiles=1 let NERDTreeShowHidden=1 lass NERDTreeShowLineNumbers=1 let NERDTreeWinPos='links' lass NERDTreeWinSize=31 nnoremap f :NERDTreeToggle Karte <F7>: NERDTree<CR> Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an Das könnte Sie auch interessieren:
|
<<: Implementierung des Markdown-Renderings in einer Vue-Einzelseitenanwendung
Ergebnisse erzielen Implementierungscode html <...
Warum brauchen wir ein Berechtigungsmanagement? 1...
Und oft ist es für Wartungsarbeiten erforderlich, ...
Bevor wir über OO, Entwurfsmuster und die vielen o...
Vorwort Mithilfe der Hyperthreading-Technologie v...
pssh ist eine in Python implementierte Open-Sourc...
Inhaltsverzeichnis Definition Konstruktorkörper s...
Zusammenfassend: 1. Berücksichtigen Sie die Leist...
Ich habe lange mit einem Problem gekämpft und das...
Heute habe ich gesehen, wie ein Freund im Q&A...
Mysql 8.0 Installationsprobleme und Passwort-Rese...
Tatsächlich haben viele Unternehmen ähnliche Funk...
Konfigurieren Sie die Git-Umgebung in Docker Bei ...
1. Überlaufinhalt-Überlaufeinstellungen (festlegen...
Dieser Artikel fasst die Implementierungsmethoden...