Zumindest entkommentiere ich immer "syntax on" in / etc / vim / vimrc
Zumindest entkommentiere ich immer "syntax on" in / etc / vim / vimrc
Antworten:
Unser CTO hat eine ziemlich funktionsreiche Vim-Konfiguration auf GitHub .
Höhepunkte:
Ich finde es großartig für die Ruby-Codierung, da unsere Systemadministrationstools in Ruby geschrieben sind.
Erstens, wenn Sie mehr als ein paar Maschinen mit denen Sie arbeiten, sollten Sie Ihre setzen ~/.vim/, ~/.vimrcund andere nützliche Konfigurationsdateien ( screen, Shell, etc.) in einem Revisionskontrollsystem. Ich bevorzuge die Verwendung darcs- es ist billig auf Debian-Systemen (keine Notwendigkeit, den Haskell-Compiler zu installieren, nur das Paket direkt zu installieren), verteilt und hat großartige interaktive Modi. Wenn du weißt / magst git, kannst du auch dabei bleiben.
Meine aktuellen Konfigurationsdateien sind in meinem Darcs-Repository verfügbar http://repo.harnir.net/. Einige konkrete Beispiele aus meiner ~/.vimrcFolge. Entschuldigung, keine Links für Skripte usw., da ich ein neuer Benutzer bin, aber alle, die Sie auf finden können http://vim.org/.
Ein Backup-Skript ist ein Muss, wenn Sie entfernte Dateien bearbeiten. Ich benutze das Skript cbackup.vim , das die letzten 10 Kopien jeder bearbeiteten Datei in einem zentralen Verzeichnis speichert und automatisch alte entfernt - einfach in Ihr ~/.vim/plugins/Verzeichnis einfügen und vergessen :-)
Tasklist können Sie schnell für die Suche FIXME, XXXund TODOTags in der aktuellen Datei aus , öffnen sie und mit nur einem Tastendruck mit dem Tag gehen. Wenn Sie diese Tags verwenden, sollten Sie diesen installieren
dbext ist für alle DBAs unverzichtbar, auch für Programmierer, die mit Datenbanken arbeiten, sehr nützlich. Lassen Sie uns Abfragen ausführen, die Struktur der Datenbanken überprüfen und so weiter. Es ist im Wesentlichen ein Frontend für Werkzeuge wie mysql, sqlite3, sqlplusund andere. Wenn Sie mit Datenbanken arbeiten, ist dies ein Muss!
Ich habe nicht viele nützliche Syntax in freier Wildbahn gesehen, die meisten Dateien, mit denen Sysadmins arbeiten, sind Konfigurationsdateien /etcund sie sind normalerweise ziemlich gut hervorgehoben. In meinem habe ~/.vim/syntax/ich momentan eine Syntax für CSS-Farben , was fantastisch ist (auch gut für Webentwickler), aber der Rest ist nicht sehr gut geschrieben, ich werde sie vielleicht in der Freizeit aktualisieren. Zusätzliche Syntaxdateien , die es wert sind, vorhanden zu sein, sind: dhcpd.conf , / etc / network / interfaces , nginx- Konfigurationsdateien und die local.cf von SpamAssassin .
Nützlicher Tipp zur Syntax: Wenn eine Konfigurationsdatei nicht erkannt wird (hat einen seltsamen Namen), /etc/apache2/sites-enabled/some.domain.comkönnen Sie entweder die richtige Erweiterung an den Namen anhängen (in diesem Fall .conf) oder eine ViM-Modeline am Ende hinzufügen:
# vim: filetype = apache
Die meisten Konfigurationsoptionen sind sehr beliebt, wie z set nocompatible ruler. B. usw. Sehr gute Optionen sind:
set gdefault: kehrt den gModus um in s///g- mit dieser Option /gwird standardmäßig verwendet, sodass Sie sie nicht jedes Mal hinzufügen müssen - fügen Sie sie einfach hinzu, um sie zu deaktivieren
set incsearch ignorecase smartcase hlsearch: für die Suche in Dateien unerlässlich - inkrementell, zeigt Übereinstimmungen in Echtzeit an, die Suche ignoriert die Groß- / Kleinschreibung, sofern Sie keine Großbuchstaben verwenden
set pastetoggle=<F6>: oder ein anderer Schlüssel, den Sie bevorzugen, wechselt zwischen pasteund nopasteModi, ein Muss, wenn Sie etwas von Webseiten wie ServerFault kopieren und einfügen :-)
set noerrorbells visualbell t_vb=: Lass die nervige Glocke oder die visuelle Glocke los, wenn du etwas tust;)
Fügen Sie Ihren Benutzernamen und das aktuelle Datum in eine Datei ein. Dies ist nützlich, wenn Sie in einem Team arbeiten und in Dateien Kommentare dazu einfügen, wer wann etwas geändert hat. Schreiben Sie einfach xxsigund drücken Sie die Leertaste, es wird in etwas geändert harnir 20090531. Damit dies korrekt mit root funktioniert (dh, schreiben Sie stattdessen Ihren Benutzernamen root), müssen Sie sich mit anmelden sudo.
iabbrev xxsig <Esc>: r! [-n "$ SUDO_USER"] && echo "$ SUDO_USER` Datum '+ \% Y \% m \% d'` "\ | \ | Echo "$ USER` date '+ \% Y \% m \% d'` "<CR> I <BS> <Esc> A
Fügen Sie einen Kommentar "Zeilen" mit einer # -- Some title -------------------{{{1Länge von 78 Zeichen ein - drücken Sie \com#im normalen Modus und schon ist es da. Sie befinden sich automatisch im Ersetzungsmodus, sodass Sie den Titel hinzufügen können:
nmap \ com # O # <Esc> 72A- <Esc> 3A {<Esc> A1 <Esc> <Home> 4 <Right> R <Space>
Sie können es auch für andere Kommentar Systeme leicht modifizieren ( ", //usw.), oder einfach nur meine Config - Datei überprüfen.
Wenn Sie Ihre Konfigurationsdateien im RCS-System haben, möchten Sie möglicherweise manchmal Konfigurationsoptionen einschließen, die für einen bestimmten Computer spezifisch sind. Dafür ist es gut, eine ~/.vimrc.localDatei zu haben , die am Ende der Konfiguration automatisch eingefügt wird (sofern vorhanden, natürlich).
wenn filereadable (expand ("~ / .vimrc.local"))
source ~ / .vimrc.local
endif
Ich bin mir nicht sicher, welcher Teil davon speziell mit Sysadmin zusammenhängt, aber meine wesentlichen Punkte sind:
syntax on
set background=dark
set shiftwidth=2
set tabstop=2
if has("autocmd")
filetype plugin indent on
endif
set showcmd " Show (partial) command in status line.
set showmatch " Show matching brackets.
set ignorecase " Do case insensitive matching
set smartcase " Do smart case matching
set incsearch " Incremental search
Ich stelle auch immer sicher, dass der Computer Zugriff auf die Hervorhebungsdatei für die Nginx-Syntax hat .
Wenn Sie normalerweise bei einem Benutzer arbeiten, können Sie auf diese Weise eine Datei an sudo "leiten", damit sie gespeichert werden kann.
cmap w!! %!sudo tee > /dev/null %
benutze den Befehl:
:w!!
um sudo aufzurufen und die Datei zu speichern.
teestatt cat?
Sie können sich auch diese SO-Frage ansehen: Was ist in Ihrem vimrc ?
Schamloser Stecker. Dies ist eigentlich keine .vimrc-Änderung, sondern ein VIM-Plugin. Ich verwende RCSVer auf jeder installierten Version von VIM. Grundsätzlich wird der RCS-Befehl verwendet, um eine Version einer von Ihnen bearbeiteten Datei abzuspeichern. Sie wissen nicht, wie oft ich eine Konfigurationsdatei nur vermasselt habe, damit RCSVer mich retten, indem sie mir die Änderungen zeigen, die ich vorgenommen habe.
Da ich weiß, dass viele VIM-Neulinge dies lesen werden, ist der beste Vorschlag, den ich habe: "Werden Sie nicht faul und fügen Sie Karteneinträge in Ihre .vimrc-Datei ein" Ein absoluter Hingucker, wenn Sie nicht über Ihr Vimrc verfügen. Die Lernkurve für vi ist steil, aber Sie tun sich keinen Gefallen, wenn Sie sich dafür entscheiden, nicht zu lernen.
Zumindest ein Teil meiner Antwort entspricht meiner Programmierung .vimrc:
set hidden
map <TAB> :e#<CR>
map <F7> :set paste!<CR>
map <F8> :set hlsearch!<CR>
map <F9> :!co -l %<CR>:e<CR>
map <F10> :!rcsdiff %<CR>
map <F11> :!ci -u %<CR>:e<CR>
Wenn zumindest einige Dateien, die Sie bearbeiten, nicht in RCS sind, sollten sie es sein! :)
Deaktivieren aller "intelligenten" Einrückungsmodi. Großartig für die Programmierung, verdammt für die Konfigurationsdatei.
Ich benutze oft Strace, um seltsame Probleme aufzuspüren. Infolgedessen kann der Versuch, einige der Zeilen durch Syntaxhervorhebung hervorzuheben, mit einer großen Zeichenfolge lächerlich werden. In diesem Fall benutze ich set synmaxcol = 2048, um die Syntaxhervorhebung auf 2048 Spalten zu beschränken.
Ich bin auch ein ziemlicher Fan des Taglist-Plugins, das üppige Tags verwendet. Bisher konnte ich die kompilierten ctags-Binärdateien verschieben und bin auf keine Bibliotheksprobleme gestoßen. Auf diese Weise kann ich schnell zwischen den Codes wechseln, mit denen ich arbeite. Diese sind im Allgemeinen Perl, Python oder C.