Vi und Vim ermöglichen eine wirklich fantastische Anpassung, die normalerweise in einer .vimrc
Datei gespeichert wird . Typische Funktionen für einen Programmierer sind Syntaxhervorhebung, intelligentes Einrücken usw.
Welche anderen Tricks für die produktive Programmierung haben Sie in Ihrer .vimrc versteckt?
Ich interessiere mich hauptsächlich für Refactorings, Autoklassen und ähnliche Produktivitätsmakros, insbesondere für C #.
vim
refactoring
Jemand
quelle
quelle
Antworten:
Du hast danach gefragt :-)
quelle
Dies ist nicht in meiner .vimrc-Datei, aber gestern habe ich von dem
]p
Befehl erfahren . Dadurch wird der Inhalt eines Puffers genau wie hierp
eingefügt, aber der Einzug wird automatisch an die Zeile angepasst, auf der sich der Cursor befindet! Dies ist hervorragend zum Verschieben von Code geeignet.quelle
Ich verwende Folgendes, um alle temporären und Sicherungsdateien an einem Ort zu speichern:
Spart überall überfüllte Arbeitsverzeichnisse.
Sie werden diese Verzeichnisse zuerst erstellen haben, vim wird nicht sie für Sie erstellen.
quelle
Jemand (nämlich Frew), der oben gepostet hat, hatte diese Zeile:
"CD automatisch in das Verzeichnis, in dem sich die Datei befindet:"
Ich habe so etwas selbst gemacht, bis ich herausfand, dass das Gleiche mit einer eingebauten Umgebung erreicht werden kann:
Ich denke, mir ist ein paar Mal etwas Ähnliches passiert. Vim verfügt über so viele verschiedene integrierte Einstellungen und Optionen, dass es manchmal schneller und einfacher ist, eigene Einstellungen vorzunehmen, als in den Dokumenten nach der integrierten Methode zu suchen.
quelle
autocmd BufEnter * silent! lcd %:p:h:gs/ /\\ /
was das Gleiche tut, aber die Befehlszeile nicht lähmt.Meine neueste Ergänzung dient zum Hervorheben der aktuellen Zeile
quelle
set cul
undset cursorline
genau das Gleiche tun.Update 2012 : Ich würde jetzt wirklich empfehlen, vim-powerline zu testen, das mein altes Statusline-Skript ersetzt hat, obwohl derzeit einige Funktionen fehlen, die ich vermisse.
Ich würde sagen, dass das Statusline-Zeug in meinem vimrc wahrscheinlich am interessantesten / nützlichsten war (aus dem vimrc des Autors hier und dem entsprechenden Blog-Beitrag hier ).
Bildschirmfoto:
Statuszeile http://img34.imageshack.us/img34/849/statusline.png
Code:
Unter anderem informiert es in der Statuszeile über die üblichen Standarddateieinformationen, enthält aber auch zusätzliche Dinge wie Warnungen für: Einfügen, gemischtes Einrücken, nachfolgendes Leerzeichen usw. Ziemlich nützlich, wenn Sie besonders anal über Ihre Codeformatierung sind.
Darüber hinaus und wie im Screenshot gezeigt, können durch die Kombination mit Syntastic Syntaxfehler hervorgehoben werden (vorausgesetzt, in der Sprache Ihrer Wahl ist ein Syntaxprüfer enthalten.
quelle
autocmd BufEnter *.py match OverLength /\%81v.\+/
in .vimrc, um lange Zeilen hervorzuheben, aber Ihr Ansatz ist möglicherweise weniger ablenkend. Auch das Ergebnis der Syntaxprüfung in der Statusleiste ist eine wirklich coole Sache!Meine Mini-Version:
Die große Version, gesammelt von verschiedenen Orten:
quelle
Manchmal sind die einfachsten Dinge die wertvollsten. Die 2 Zeilen in meiner .vimrc, die absolut unverzichtbar sind:
quelle
nore \ ;
stattdessen getan, da ich,
als meine<leader>
Sonstiges die Einstellungen:
Schalten Sie lästige Fehlerglocken aus:
Bewegen Sie den Cursor wie erwartet mit umbrochenen Linien:
Suchen Sie nach
ctags
"Tags" -Dateien im Verzeichnis, bis eine gefunden wird:SCons-Dateien mit Python-Syntax anzeigen:
quelle
j
/k
bewegen wie mit umwickelten Linien zu erwarten? Ich möchte nichtg
jedes Mal drücken .Ich bin nicht der fortschrittlichste Vim'er der Welt, aber hier sind einige, die ich aufgegriffen habe
Lässt die automatische Vervollständigung der Registerkarte herausfinden, ob Sie dort ein Wort oder eine tatsächliche Registerkarte (4 Leerzeichen) platzieren möchten.
Entfernen Sie alle öffnenden Leerzeichen von hier bis zum Ende der Datei. Aus irgendeinem Grund finde ich das sehr nützlich.
Zeigen Sie Zeilennummern an und erstellen Sie keine lästigen Sicherungsdateien. Ich habe sowieso nie etwas von einem alten Backup wiederhergestellt.
Drücken Sie während des Einfügens zweimal i, um in den Befehlsmodus zu wechseln. Ich bin noch nie auf ein Wort oder eine Variable mit 2 i in einer Reihe gestoßen, und auf diese Weise muss ich nicht meine Finger die Ausgangsreihe verlassen oder mehrere Tasten drücken, um hin und her zu wechseln.
quelle
Mein stark kommentierter vimrc mit Readline-ähnlichen (Emacs) Tastenkombinationen:
quelle
quelle
Einige Korrekturen für häufige Tippfehler haben mir überraschend viel Zeit gespart:
quelle
Ich wusste nicht, wie viele meiner 3200 .vimrc-Leitungen nur für meine skurrilen Bedürfnisse waren und es wäre ziemlich wenig inspirierend, sie hier aufzulisten. Aber vielleicht ist Vim deshalb so nützlich ...
quelle
Meine 242-Zeile
.vimrc
ist nicht so interessant, aber da es niemand erwähnte, hatte ich das Gefühl, dass ich neben den Standardzuordnungen die beiden wichtigsten Zuordnungen teilen muss, die meinen Workflow verbessert haben:Im Ernst, Puffer Schalt ist die Sache sehr oft zu tun. Windows, klar, aber alles passt nicht so gut auf den Bildschirm.
Ähnliche Karten zum schnellen Durchsuchen von Fehlern (siehe Quickfix) und Grep-Ergebnissen:
Einfach, mühelos und effizient.
quelle
quelle
Ich benutze cscope aus vim heraus (wobei ich die mehreren Puffer sehr gut benutze). Ich benutze control-K, um die meisten Befehle zu initiieren (die, wie ich mich erinnere, von ctags gestohlen wurden). Außerdem habe ich bereits die Datei .cscope.out generiert.
if has ("cscope")
endif
quelle
Ich halte meine vimrc-Datei auf Github. Sie finden es hier:
http://github.com/developernotes/vim-setup/tree/master
quelle
Ich bin unter OS X, daher haben einige davon möglicherweise bessere Standardeinstellungen auf anderen Plattformen, aber unabhängig davon:
quelle
softtabstop
und das stattdessen verwendentabstop
. Das Beibehaltentabstop
des Standardwerts von 8 hilft beim Lesen von Dateien, die andere mit Registerkarten erstellt haben.= dient zum Neuformatieren normaler Absätze. + dient zum Neuformatieren von Absätzen in zitierten E-Mails. showmatch dient zum Flashen der passenden Klammer / Klammer, wenn ich eine enge Klammer oder Klammer eingebe.
quelle
Verwenden Sie die erste verfügbare 'Tags'-Datei im Verzeichnisbaum:
Links und rechts dienen zum Umschalten der Puffer, ohne den Cursor zu bewegen:
Deaktivieren Sie die Suchhervorhebung mit einem einzigen Tastendruck:
quelle
quelle
if has("gui_running")
und coole Karten. Ich habe den größten Teil Ihrer Konfiguration in meine kopiert. VIELEN DANK!Fügen Sie dies in Ihr vimrc ein:
und denken Sie nie wieder daran, ein Hashrocket zu tippen. Ja, ich weiß, dass Sie dies in Ruby 1.9 nicht müssen. Aber egal.
Mein volles vimrc ist hier .
quelle
autocmd FileType ruby imap <C-l> <Space>=><Space>
Nun, du musst meine Konfigurationen selbst aufräumen . Habe Spaß. Meistens ist es nur mein gewünschtes Setup, einschließlich Mappings und zufälliger syntaxrelevanter Dinge sowie Folding-Setup und einige Plugin-Konfigurationen, ein Tex-Compilation-Parser usw.
Übrigens, etwas, das ich äußerst nützlich fand, ist "Wort unter Cursor hervorheben":
Beachten Sie, dass nur
cterm
undtermfg
verwendet werden, weil ich nicht benutzegvim
. Wenn Sie möchten , dass bei der Arbeitgvim
nur Replac sie mitgui
undguifg
sind.quelle
Ich habe versucht, meine .vimrc so allgemein nützlich wie möglich zu halten.
Ein praktischer Trick ist ein Handler für GPG-Dateien, mit dem sie sicher bearbeitet werden können:
quelle
1) Ich mag eine Statuszeile (mit dem Dateinamen, dem ASCII-Wert (dezimal), dem Hex-Wert und den Standardzeilen, Spalten und%):
2) Ich mag auch Zuordnungen für geteilte Fenster.
quelle
In meiner .vimrc ist eigentlich nicht viel (auch wenn sie 850 Zeilen hat). Meistens Einstellungen und ein paar allgemeine und einfache Zuordnungen, die ich zu faul war, um sie in Plugins zu extrahieren.
Wenn Sie "Vorlagendateien" mit "Autoklassen" meinen, verwende ich ein Template-Expander-Plugin. Auf derselben Site finden Sie die ftplugins, die ich für die C & C ++ - Bearbeitung definiert habe. Einige sind möglicherweise angepasst C # Ich denke.
In Bezug auf den Refactoring-Aspekt gibt es auf http://vim.wikia.com einen Tipp zu diesem Thema . IIRC Der Beispielcode ist für C #. Es hat mich zu einem Refactoring-Plugin inspiriert, das noch viel Arbeit benötigt (es muss tatsächlich überarbeitet werden).
Sie sollten sich die Archive der vim-Mailingliste ansehen, insbesondere die Themen zur Verwendung von vim als effektive IDE. Vergessen Sie nicht, einen Blick darauf zu werfen: make, tags, ...
HTH,
quelle
Meine .vimrc enthält (unter anderem nützlichere Dinge) die folgende Zeile:
Ich langweilte mich beim Lernen für mein Abitur.
quelle
Hier ist meine .vimrc. Ich benutze Gvim 7.2
quelle
Was ist in meinem
.vimrc
?Die realen Konfigurationsdateien liegen unter
~/.vim/ :)
Und die meisten Dinge, die es gibt, sind parasitierend für die Bemühungen anderer Leute, offensichtlich angepasst
vim.org
an meinen Bearbeitungsvorteil.quelle