Vim

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Vim and the translation is 91% complete.

Vim (Vi improved) ist ein Texteditor welcher auf dem vi Textverarbeiter basiert. Vim kann über die Kommandozeile oder als eine eigenständige Anwendung über eine Benutzeroberfläche verwendet werden.

Vim sollte nicht mit Neovim verwechselt werden, ein ähnliches Programm welches den selben Anwendungszweck erfüllt.

Installation

USE Marker

USE flags for app-editors/vim Vim, an improved vi-style text editor

X Link console vim against X11 libraries to enable title and clipboard features in xterm
acl Add support for Access Control Lists
crypt Use dev-libs/libsodium for crypto support
cscope Enable cscope interface
debug Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
gpm Add support for sys-libs/gpm (Console-based mouse driver)
lua Enable Lua scripting support
minimal Install a very minimal build (disables, for example, plugins, fonts, most drivers, non-critical features)
nls Add Native Language Support (using gettextGNU locale utilities)
perl Add optional support/bindings for the Perl language
python Add optional support/bindings for the Python language
racket Enable support for Scheme using dev-scheme/racket
ruby Add support/bindings for the Ruby language
selinux !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur
sound Enable sound support
tcl Add support the Tcl language
terminal Enable terminal emulation support
vim-pager Install vimpager and vimmanpager links

Emerge

Wenn Unterstützung für das X Fenstersystem nicht notwendig ist, kann app-editors/vim installiert werden:

root #emerge --ask app-editors/vim

Zusätzliche Software

Gvim

Um Vim mit der Ncurses basierten Schnittstelle (/usr/bin/vim) und der grafischen Schnittstelle (für das X Fenster System - /usr/bin/gvim) zu installieren, installiere das app-editors/gvim Paket:

root #emerge --ask app-editors/gvim

Pakete

Vim unterstützt Pakete, welche einen nativen Mechanismus zur Verfügung stellen, um die Funktionalität zu erweitern. Lese die Dokumentation über eingebaute Pakete, um mehr zu erfahren: :help packages

Plugins

Die Kategorie app-vim enthält viele zusätzliche Syntax Definitionen, Plugins und anderes Vim Zugehöriges.

Nutze emerge oder eix um einen Überblick über verfügbare Pakete in der app-vim Kategorie zu erhalten:

user $emerge --search "%@^app-vim"
user $eix -cC app-vim

Nicht alle Vim Plugins werden im Gentoo Repository verfügbar sein. Vim enthält jetzt native Pakete, als Möglichkeit Vim Plugins zu installieren. Zusätzlich gibt es mehrere Plugin Verwalterungsprogramme für Vim.

Konfiguration

Dateien

Vim kann für jeden Nutzer einzeln oder über eine systemweiten Konfigurationsdatei konfiguriert werden:

  • /etc/vim/vimrc - Die globale Konfigurationsdatei
  • ~/.vimrc - Die Konfigurationsdatei des Nutzers. Das Tilde (~) ist eine Verkürzung für das Home Verzeichnis des Nutzers.
  • ~/.vim/pack/foo - Ort, wo Vim Plugins installiert sind.[1] Ersätze foo durch den Namen jedes Plugins.

Farb-Themen

Etwa ein Dutzend Farbschemata werden mit dem Vim-Basispaket ausgeliefert. Sie können im Last-Line-Modus aufgelistet werden, indem Sie colorscheme eingeben und dann entweder Template:Taste+Template:Taste oder die Template:Taste-Taste zweimal drücken:

:colorscheme
blue       darkblue   default    delek      desert     elflord    evening    industry   koehler    morning    murphy     pablo      peachpuff  ron        shine      slate      torte      zellner

Sie können in Vim mit dem Befehl colorscheme (alternativ: colo) geändert werden, wenn Sie sich im Last-Line-Modus befinden:

:colorscheme peachpuff

Farbschemata können in der Datei .vimrc dauerhaft angewendet werden:

DATEI ~/.vimrc
colorscheme peachpuff
syntax on

Die erste Zeile legt das Standardfarbschema fest, während die letzte Zeile das Farbschema aktiviert.

Auswahl des vi-Editors und des System-Standardeditors

If Vim - and only Vim - is installed, the vi command should launch Vim. If other vi-like editors are installed, eselect may be used to choose which editor the vi command launches.

The text editor article may also be of interest for setting a system default editor, if Vim is to be set as the default.

Bedienung

Aufruf

Von der Befehlszeile:

user $vim --help
vim --help
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Nov 26 2021 11:56:27)
 
Usage: vim [arguments] [file ..]       edit specified file(s)
   or: vim [arguments] -               read text from stdin
   or: vim [arguments] -t tag          edit file where tag is defined
   or: vim [arguments] -q [errorfile]  edit file with first error
 
Arguments:
   --			Only file names after this
   -v			Vi mode (like "vi")
   -e			Ex mode (like "ex")
   -E			Improved Ex mode
   -s			Silent (batch) mode (only for "ex")
   -d			Diff mode (like "vimdiff")
   -y			Easy mode (like "evim", modeless)
   -R			Readonly mode (like "view")
   -Z			Restricted mode (like "rvim")
   -m			Modifications (writing files) not allowed
   -M			Modifications in text not allowed
   -b			Binary mode
   -l			Lisp mode
   -C			Compatible with Vi: 'compatible'
   -N			Not fully Vi compatible: 'nocompatible'
   -V[N][fname]		Be verbose [level N] [log messages to fname]
   -D			Debugging mode
   -n			No swap file, use memory only
   -r			List swap files and exit
   -r (with file name)	Recover crashed session
   -L			Same as -r
   -A			Start in Arabic mode
   -H			Start in Hebrew mode
   -T <terminal>	Set terminal type to <terminal>
   --not-a-term		Skip warning for input/output not being a terminal
   --ttyfail		Exit if input or output is not a terminal
   -u <vimrc>		Use <vimrc> instead of any .vimrc
   --noplugin		Don't load plugin scripts
   -p[N]		Open N tab pages (default: one for each file)
   -o[N]		Open N windows (default: one for each file)
   -O[N]		Like -o but split vertically
   +			Start at end of file
   +<lnum>		Start at line <lnum>
   --cmd <command>	Execute <command> before loading any vimrc file
   -c <command>		Execute <command> after loading the first file
   -S <session>		Source file <session> after loading the first file
   -s <scriptin>	Read Normal mode commands from file <scriptin>
   -w <scriptout>	Append all typed commands to file <scriptout>
   -W <scriptout>	Write all typed commands to file <scriptout>
   -x			Edit encrypted files
   --startuptime <file>	Write startup timing messages to <file>
   -i <viminfo>		Use <viminfo> instead of .viminfo
   --clean		'nocompatible', Vim defaults, no plugins, no viminfo
   -h  or  --help	Print Help (this message) and exit
   --version		Print version information and exit

Der vi Befehl kann auch verwendet werden um Vim zu starten, wenn es so konfiguriert wurde.

Geben Sie einen Namen an, um eine vorhandene Datei zu öffnen oder eine neue Datei zu erstellen:

user $vim <dateiname>

Anleitung

Vim hat ein eingebautes Tutorium, für das man etwa 30 Minuten brauchen sollte, um es durchzuarbeiten. Starten Sie es mit dem Befehl vimtutor:

user $vimtutor

Tipps und Tricks

Vim wie ex oder ed von der Befehlszeile aus benutzen

Es ist möglich, Vim für Einzeiler zu verwenden - Befehle, die in Skripten oder auf der Befehlszeile verwendet werden können, um Änderungen unbeaufsichtigt durchzuführen.

Der folgende Befehl fügt zum Beispiel # an den Anfang jeder Zeile in der Datei file.txt an:

user $vim -c ":%s/^/#/g" -c ":x" file.txt

What happens is that Vim interprets the passed on commands (through the -c option). The first command is Vim's substitution command (which is very similar to sed's), the second one is Vim's instruction to save and exit the editor.

Ändern der Dateikodierung

Um die Dateikodierung einer Datei auf UTF-8 zu ändern, verwenden Sie den folgenden Befehl (im Last-Line-Modus):

:e ++enc=utf8

Wie im vorherigen Trick gezeigt, ist es auch möglich, dies über die Befehlszeile zu tun:

user $vim -c ":wq! ++enc=utf8" file.txt

Fehlersuche

Ich bin in vim gefangen!

Für jemanden, der in vim einsteigt, ohne zu wissen, wie man es benutzt, ist es vielleicht nicht offensichtlich, wie man das Program schließt.

Drücken Sie mehrmals esc, dann :, q, enter. Um zu beenden ohne zu speichern, drücken Sie mehrmals esc, dann :, q, !, enter.

If several files are open, try pressing esc several times, then :, q, a, enter. To quit without saving, press esc several times, then :, q, a, !, enter.

If this doesn't help, and desperate measures are needed, something like killall vim may be a last ditch solution (from another terminal). Beware that this will terminate all the vim sessions for a user, without saving. If run as root, such a command will terminate all vim sessions for all users on the system.

Siehe auch

Externe Ressourcen

Referenzen