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/
, ~/.vimrc
und 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 ~/.vimrc
Folge. 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
, XXX
und TODO
Tags 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
, sqlplus
und 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 /etc
und 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.com
kö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 g
Modus um in s///g
- mit dieser Option /g
wird 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 paste
und nopaste
Modi, 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 xxsig
und 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 -------------------{{{1
Lä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.local
Datei 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.
tee
statt 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.