vim: welche scripte

J

joneum

Guest
An die vim user: welche Scripte habt Ihr so bei euch am laufen? Ich bin aktuell auf der suche nach einem Script, dass ab einer gewissen zeilenlänge einen automatischen Zeilenumbruch macht
 
Hm? Dafür brauchst du doch kein Script. Kannst doch einfach tw setzen....

Sonst hab ich gnupg im Einsatz um automatisch gpg verschlüsselte Dateien zu bearbeiten und neulich hatte ich mal vimwiki angesetzten um etwas lokale Dokumentation zu bearbeiten. Ich nutze sonst kaum was... Meine Suche nach Unterstützung um csv Dateien vernünftig und übersichtlich zu bearbeiten war leider erfolglos...
 
Code:
"    my .vimrc
"    vril
"
"set nocp - Deaktiviert den Kompatiblitäts-Modus für den klassischen Vi
"set autoindent - Automatisch den Text einrücken.
"set backspace=4 - Erlaubt Bksp über Zeilenumbrüche und autom.Texteinzug
"set backup - Sicherheitskopien der bearbeiteten Dateien anlegen.
"set cmdheight=2 - Zwei Zeilen für die Kommandoeingabe anzeigen.
"set comments - die versch.Kommentarzeichen die mit',' getrennt werden.
"set completeopt=menuone,longest - menu-Art &  Anz. von Omnicompletition.
"set encoding=utf-8 - Setzt die Zeichensatzkodierung auf UTF8 
"set expandtab - Ersetzt während der Eingabe die Tabs durch blanks
"set fillchars - Füllzeichen der Statuszeile zwischen den Buffern.
"set hidden - Erlaubt das wechseln der Buffer ohne speichern des Textes
"set history=500 - Anzahl der Befehle die gespeichert werden.
"set hlsearch - Markiert bei der Suche alle gefundenen Textstellen.
"set ignorecase - Groß-/Kleinschreibung bei der Suche ignorieren.
"set incsearch - Während der Eingabe des Suchtextes anfangen zu suchen.
"set laststatus=2 - Statuszeile dauernd anzeigen.
"set listchars - Darstellung v. white spaces beim ausführen von set list.
"set mouse=nvi - Benutzung der Maus im Modus Normal, Visual und Insert
"set number Zeilennummer anzeigen.
"set ruler - Position des Cursors in der Statuszeile anzeigen.
"set scrolloff=1 -Anzahl der Zeilen oben / unten um scrollen zu triggern
"set shiftwidth=4 - Anz. der blanks bei auto. Texteinzug siehe softtabstop.
"set showbreak=\ \ Zeichen das zeilenumbruch zeigt (set wrap)
"set showcmd - Zeigt rechts unten kurze Infos über die aktuelle Aktion
"set showmatch - ist Cursor auf Klammer -> dazugehörige Klammer farbig
"set showmode - Zeigt den aktuellen Modus am unteren Rand an.
"set sidescroll=5 - Anz der Zeichen links oder rechts
"set smartcase - Groß-/Kleinschreibung bei der Suche 
"set smartident - Art des Verfahren des automatischen Texteinzug.
"set softtabstop=4 - nur sinnvoll in Verbindung mit shiftwidth.
"set spelllang=de,en - Angabe der Sprachen für die Rechtschreibprüfung.
"set spellsuggest=double,10 - Rechtschreibkontr&Anz der vorgeschl. Worte.
"set statusline - Aussehen der Statuszeile angepasst werden.
"set tabstop=4 - sinnvoll in Verbindung mit shiftwidth und softtabstop.
"set textwidth=80 - Eingegebenen Text nach 80 Zeichen auto. umbrechen.
"set title - Titelzeile des Term-Fensterund & diverse Statusinformationen
"set titleold - Titelzeile Terminal nach beenden von Vim
"set wildmenu - Kommandozeile kann mit Tab vervollständigt werden.
"set wildmode - Art und Weise wie das wildmenu arbeitet.
"set wrap - Lange Zeilen am Fensterrand umbrechen.
"syntax on - Aktiviert die Syntaxeinfärbung.
"filetype on Automatische Erkennung Dateityp
"set foldmethod=indent - Art der Methode nach der der Code gefaltet wird
"set nofoldenable - Code nach dem Laden nicht autoamtisch komplett falten.
"
set nocp
syntax on
set number
set clipboard=unnamedplus
set autoindent
set backspace=4
set backup
set cmdheight=2
set encoding=utf-8
set expandtab
set hidden
set history=500
set hlsearch
set ignorecase
set incsearch
set laststatus=2
set ruler
set scrolloff=1
set shiftwidth=4
set showcmd
set showmatch
set showmode
set smartcase
set smartindent
set softtabstop=4
set spelllang=de,en
set tabstop=4
set textwidth=75
set title
set titleold=""
 
Mit Skripten meinst du so Dinge, wie Plugins? Ich habe ctrlp, gocode, nerdtree, neosnippet, supertab, tagbar, sytastic, ein paar Highlighter und das tomorrow-night-theme (das ich aber ersetzen will) am Laufen. Ein paar von den Dingen, aber nur mal ausprobiert. ;)

In meiner vimrc habe ich nur sehr kleine Anpassungen. Das sind hauptsächlich aktivierte Standard-Features (nocompatible, tabs, mouse, ...), paar Konfigurationen für Pfade von Executables, History-Größe und solche Dinge. Äußerst unspektakulär.
 
Meine Plugins:
- airline
- nerdtree
- vimfiler

vim.png
 
Ich bin da etwas bescheiden...
nerdtree und vim-auto-save
Muss mich mal wieder ein wenig umgucken was ich brauchen könnte
 
  • Like
Reaktionen: lme
Würde generell empfehlen nur Sachen zu nehmen, die man braucht. vim, genauso wie zsh haben gerade extremen Hype. Unter anderem, weil viele Leute, wie Front End Entwickler, die bis vor kurzem relativ wenig mit Kommandozeilen am Hut hatten da jetzt einsteigen. Deshalb gibt es auch viele Komplettpakete.

Ich glaube aber, dass man es übertreiben kann. Das ist so ähnlich wie mit Firefoxplugins damals oder Apps. Wenn man zu viel hat ist es eher Ablenkung und macht einen selbst und das Programm langsamer. Auch wenn dem jetzt etwas entgegen wirkt, weil vim jetzt Async-IO kann, wohl auch weil es etwas Konkurrenz von neovim bekommen hat.

Nur so als Tipp. Ich weiß, die bunten Screenshots, wo viel passiert sehen toll aus, aber am Ende das Tages will man ja allem voran Text editieren, also immer schauen, dass es euch unterstützt und nicht im Weg steht. :)

Etwas OT, aber es scheint sich sogar ein kleiner Trend in Richtung "kein Syntax Highlighting, weil das lenkt ab" zu entwickeln und da scheinen nicht nur Puristen dran zu hängen. Teilweise gibt's auch Leute, die das einfach nur reduzieren wollen. Gibt's hier Leute, die ihr Syntax Highlighting abgedreht haben?
 
Etwas OT, aber es scheint sich sogar ein kleiner Trend in Richtung "kein Syntax Highlighting, weil das lenkt ab" zu entwickeln und da scheinen nicht nur Puristen dran zu hängen. Teilweise gibt's auch Leute, die das einfach nur reduzieren wollen. Gibt's hier Leute, die ihr Syntax Highlighting abgedreht haben?
Ich finde Syntax Highlighting toll aber die Standardfarben sind meist schlecht gewählt.

Konkret geht es um Kommentare, irgendwie werden da immer Farben gewählt, die Kommentare in den Hintergrund treten lassen. Ein gutes Beispiel ist Code auf GitHub wo es echt schwer ist Kommentare ordentlich zu lesen.
 
Ich ziehe Syntax Highlighting vor, das erleichterft die Orientierung im Code enorm. Natürlich kann man es auch übertreiben (knallbunte Worte, zu große Kontraste etc), aber meist ist das OK und man kann es ja auch noch anpassen.

Die 'ohne' Mode geht auch vorbei ....
 
Würde generell empfehlen nur Sachen zu nehmen, die man braucht....

Deshalb sollte vor dem saugen von diversen plugins erstmal vundle, pathogen o.ä. Pflicht sein.
Dann erhält man die Möglichkeit, innerhalb von Vim die Plugins übersichtlich abzulegen
und einfach zu verwalten, da dann für jedes Plugin ein separater Ordner anlegt wird.
Wenn man dann noch git auf dem System hat - kann man ganz komfortabel,
vim-Plugins suchen, installieren, updaten und auch wieder löschen.

Gute deutsche Beschreibung zu vundle:
http://haraldwingerter.de/?p=78
http://haraldwingerter.de/?p=78
Von allen schon genannten plugins halte ich den nerdtree
für unverzichtbar - zumal ich sonst (auch unter X) keinen filemanager
nutze.

Gruss walter
 
Nach genau 20 Jahren vim kann ich eigentlich nur 2 Tipps geben:
  • So wenig Scripte wie möglich. Vim ist traditionell synchron, d.h. nach jeder Aktion werden die auf sie registrierten Plugins der Reihe nach durchgeraddelt. Das hat sich mit Vim 8.0 zwar geändert - man kann nun über Channels asynchrone Plugins bauen - bis sich das aber auch nur bei den wirklich Performance fressenden Scripts durchgesetzt hat, wird es voraussichtlich noch Jahre dauern. Sprich: Jedes weitere Script macht Vim ein klein wenig langsamer. Außerdem haben einige Scripte, auch da gerade wieder die komplexeren, durchaus unerwartete Kompatibilitätsprobleme. Dinge funktionieren plötzlich nicht mehr, buggen rum und so weiter. Jedes Script macht den Knoten ein klein wenig größer, schwerer zu debugge, etc.
  • Grundsätzlich und ausschließlich Scripte, die in Vimscript geschrieben sind. Python, Perl, Ruby, Lua, TCL und was da sonst noch so möglich ist, schaut erstmal ganz toll aus. Aber man handelt sich damit zwangsläufig Ärger mit den externen Interpretern und ihren bei Scriptsprachen endlosen Kompatiblitätsproblemen ein. Plötzlich spielen Interpreter-Versionen, Vim-Patchlevel und so weiter eine Rolle. Auf einem Host mag das gehen, aber wenn man die Konfiguration auf verschiedenen Host mit unterschiedlichen Interpreter- und Vim-versionen nutzen will, gibt es viele Kopfschmerzen.
Falls sich jemand für meine Config interessieren sollte: https://github.com/Yamagi/vimrc Allerdings nutze ich Vim eigentlich nur noch als Editor. Die Zeiten, in denen ich darin Software geschrieben habe, sind vorbei. Dafür gibt es Jetbrains Clion mit IdeaVim, was eine ausreichend große Teilmenge implementiert.
 
die Standardfarben sind meist schlecht gewählt
Hast du selbst was gebaut oder etwas fertiges genommen? Würde gerne wissen, was Andere so verwenden. Ich muss zugeben, dass ich echt mies darin bin gute Farbschemata selbst zu erstellen. Bei solchen Dingen sitze ich immer ewig, nur um dann das Ergebnis dann wegzuhauen und erst wieder was zu nehmen, was so einigermaßen okay ist.

Wäre spannend zu wissen was du da so verwendest, weil mich das mit unlesbaren Kommentaren auch ziemlich nervt. Die, die ich so finde haben alle das Problem, dass sie entweder etwas anderes so unlesbar machen oder einem geradezu anspringen mit Farben, was auch ziemlich mühsam ist.
 
Hast du selbst was gebaut oder etwas fertiges genommen? Würde gerne wissen, was Andere so verwenden. Ich muss zugeben, dass ich echt mies darin bin gute Farbschemata selbst zu erstellen. Bei solchen Dingen sitze ich immer ewig, nur um dann das Ergebnis dann wegzuhauen und erst wieder was zu nehmen, was so einigermaßen okay ist.
Ne, das ist echt ein Scheiß. Ich nehme das "desert" Farbschema auf schwarzem Grund.
 
Ich habe gerade mal nerdtree und airline ausprobiert. Die schmeißen ordentlich mit Fehlermeldungen um sich. Ich glaube die sind noch nicht an die vim8 Plugin Struktur angepasst.
 
Nerdtree funktioniert hier prima mit vim8.

Ich habe dafür gerade ein sehr komisches Problem. Während so themes wie Tomorrow-Night und jellybeans schön alle 256 Farben anzeigen haben themes, wie desert256 Probleme. Ein :echo &t_Co zeigt mir aber korrekt 256 Farben an. Wie gesagt, verwende ich doch schon ein paar Jährchen.

Dann habe ich noch ein paar Tests gemacht, zum Beispiel gvim probiert und sogar im Theme selbst die if-Statements alle entfernt, so dass nur noch der 256-Code existiert und trotzdem habe ich ich nicht alles Farben. Auch mit leerem vimrc das Selbe. Manche Theme (eben Tomorrow und jellybeans) funktionieren mit 256 Farben, andere wie desert/desert256 nicht. Kennt das vielleicht jemand?

EDIT: Whoops, muss meine Augen richtig aufmachen. Sind eh 256-Farben. Hehe. Bitte ignorieren. :o
 
Zuletzt bearbeitet:
Zurück
Oben