Vim
A Vim (Vi improved) egy szövegszerkesztő, amely a vi szövegszerkesztőre épül. Használható parancssorból, illetve egy grafikus felhasználói felülettel ellátva önálló alkalmazáskén is használható.
A Vim szövegszerkesztő nem összekeverendő a Neovim szövegszerkesztővel, amely egy hasonló program, és helyette is használható.
A Vi cikk általános információkat nyújt a vi-szerű szövegszerkesztőkről. Tekintse meg a Vim útmutatót egy bevezető oktatóanyagért a vi-szerű szövegszerkesztők használatáról. Tekintse meg a szövegszerkesztő cikket az általános információkért a szövegszerkesztők telepítésével és beállításával kapcsolatban a Gentoo operációs rendszeren.
Telepítés
USE jelölőzászlók
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 gettext - GNU 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
Ha nincs szükség az X Window System támogatásra, akkor telepítse a app-editors/vim szoftvercsomagot:
root #
emerge --ask app-editors/vim
További szoftverek
A Gvim szövegszerkesztő
A Vim telepítéséhez mind a ncurses alapú felülettel (/usr/bin/vim), mind pedig a grafikus felülettel (az X Window System számára - /usr/bin/gvim), telepítse a app-editors/gvim szoftvercsomagot:
root #
emerge --ask app-editors/gvim
Szoftvercsomagok
A Vim támogatja a szoftvercsomagokat, amelyek natív mechanizmust biztosítanak a funkcionalitás bővítéséhez. További információért olvassa el a beépített szoftvercsomagok dokumentációját: :help packages
Bővítmények
A app-vim kategória számos további szintaxis-definíciót, bővítményt és más a Vim szövegszerkesztőhöz kapcsolódó tartalmat kínál.
Használja a emerge vagy a eix parancsot, hogy áttekintést kapjon a app-vim kategóriában elérhető szoftvercsomagokról:
user $
emerge --search "%@^app-vim"
user $
eix -cC app-vim
Nem minden Vim bővítmény érhető el a Gentoo szoftvercsomag-tárolójában. A Vim mostantól natív szoftvercsomagokat tartalmaz, amelyek lehetőséget nyújtanak bővítmények telepítésére, és emellett számos bővítménykezelő is elérhető a Vim számára.
Beállítás
Fájlok
A Vim szövegszerkesztő beállítható minden egyes felhasználó számára külön-külön, illetve egy rendszerszintű beállításfájl segítségével is beállítható rendszerszinten igyszerre mindenki számára:
- /etc/vim/vimrc - Ez a rendszerszintű (globális) beállításfájl.
- ~/.vimrc - Ez a felhasználóspecifikus (lokális) beállításfájl. A tilde (~) azt jelenti, hogy az a felhasználó home könyvtárában található meg a beállításfájl.
- ~/.vim/pack/foo - Ez a bővítmények telepítésének a helye (Vim 8 és újabb verziók esetén).[1] Substitute foo for the name of each plugin.
Színsémák
Körülbelül egy tucat színséma érkezik a Vim alapszoftvercsomagjával. Ezeket az utolsó soros módban lehet listázni, ha beírja a colorscheme parancsot (utána egy szóköz), majd lenyomja a Ctrl + d billentyűgomb kombinációt, vagy kétszer megnyomja a Tab billentyűgombot.
:
colorscheme
blue darkblue default delek desert elflord evening industry koehler morning murphy pablo peachpuff ron shine slate torte zellner
A Vim színsémái módosíthatók az colorscheme (alternatívaként használható az colo) parancs segítségével, miközben az utolsó soros módban van:
:
colorscheme peachpuff
A színsémák véglegesen alkalmazhatók a .vimrc fájlban. Vegye figyelembe, hogy a syntax on
sorra is szükség van az aktiváláshoz:
~/.vimrc
colorscheme peachpuff
syntax on
Az első sor beállítja az alapértelmezett színsémát, míg az utolsó sor aktiválja a színsémát.
A vi szövegszerkesztő és a rendszerszintű alapértelmezett szövegszerkesztő kiválasztása
Ha csak a Vim van telepítve,akkor a vi parancsnak a Vim szövegszerkesztőt kell elindítania. Ha más vi-szerű szerkesztők is telepítve vannak, akkor az eselect használható a parancs által indított szövegszerkesztő kiválasztására.
Ha a Vim szövegszerkesztőt szeretné alapértelmezett szövegszerkesztőként beállítani, akkor a szövegszerkesztő cikk szintén érdekes lehet a szövegszerkesztő rendszerszintű alapértelmezett beállításának érdekében.
Gentoo szintaxis
A Gentoo szintaxis bővítmény (app-vim/gentoo-syntax) támogatásának engedélyezéséhez a vim szövegszerkesztőben, adja hozzá a következő sorokat a felhasználó ~/.vimrc fájljához:
~/.vimrc
filetype plugin on
filetype indent on
leave_my_textwidth_alone
Alapértelmezés szerint a Vim és a Neovim nem alkalmazza a sorok automatikus tördelését[2], azaz ha egy sor hosszabb a meghatározott maximális hossznál, akkor az nem hoz létre új sort. Ugyanakkor a Gentoo telepít beállításfájlokat a Vim[3] és a Neovim[4] számára, amelyek a .txt fájlokban lévő sorokat, amennyiben azok hosszabbak 78 karakternél, akkor automatikusan tördelik. Ennek a viselkedését felül lehet bírálni a felhasználó ~/.vimrc fájljában a következőképpen:
~/.vimrc
let g:leave_my_textwidth_alone=1
A bug #559800 hibajegy tartalmaz némi vitát ezzel a kérdéssel kapcsolatban.
Használat
Futtatás
Futtatás a parancssorból:
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
Amennyiben megfelelően be van állítva, akkor a vi parancs szintén használható a Vim szövegszerkesztő elindítására.
Adjon meg egy nevet egy meglévő fájl megnyitásához vagy egy új fájl létrehozásához:
user $
vim <filename>
Oktatóanyag
A Vim beépített oktatóanyaga körülbelül 30 perc alatt végigjárható. Indítsa el a vimtutor parancs segítségével:
user $
vimtutor
Tippek és trükkök
A Vim szövegszerkesztő használata ex vagy ed parancssori eszközként
Lehetséges a Vim használata egy soros parancsok számára. Olyan utasításokhoz, amelyek szkriptekben vagy a parancssorban alkalmazhatók módosítások végrehajtására felügyelet nélküli módon.
Például a következő parancs hozzáadja a #
jelet a file.txt fájl minden sorának elejéhez:
user $
vim -c ":%s/^/#/g" -c ":x" file.txt
Az történik, hogy a Vim értelmezi az átadott parancsokat (a -c
opcióval). Az első parancs a Vim helyettesítési parancsa (ami nagyon hasonló a sed parancsához), a második pedig a Vim utasítása a fájl mentésére és az editorból való kilépésre.
Fájl kódolásának a megváltoztatása
A fájl kódolásának UTF-8 karakterkódolásra való megváltoztatásához használja a következő parancsot (utolsó sor módjában):
:
e ++enc=utf8
Amint azt az előző trükk bemutatta, ezt megcsinálni a parancssorból is lehetséges:
user $
vim -c ":wq! ++enc=utf8" file.txt
Hibaelhárítás
Bennragadtam a vim szövegszerkesztőben!
Annak, aki úgy lép be a Vim szövegszerkesztőbe, hogy előtte nem tanulta meg, hogy miként kell azt használnia, nem feltétlenül nyilvánvaló, hogy miként lehet abból kilépni.
Nyomja meg többször a esc billentyűgombot, majd :, q, enter. Mentés nélküli kilépéshez nyomja meg többször a esc billentyűgombot, majd :, q, !, enter.
Ha több fájl van megnyitva, akkor próbálja meg többször megnyomni a esc billentyűgombot, majd :, q, a, enter. Mentés nélküli kilépéshez nyomja meg többször a esc billentyűgombot, majd :, q, a, !, enter.
Ha ez sem segít, és kétségbeesett lépésekre van szükség, akkor egy olyan megoldás, mint a killall vim, lehet az utolsó lehetőség (egy másik terminálból). Vegye figyelembe, hogy ez a parancs minden vim munkamenetet megszakít a felhasználó számára, az adatok mentése nélkül. Ha root felhasználóként futtatja a szövegszerkesztőt, akkor egy ilyen parancs minden felhasználó vim munkamenetét megszakítja az operációs rendszeren. Ha ez sem segít akkor jöhet a fejsze, illetve a nagykalapács.
Beillesztések tabulátorozva jelennek meg
Feltételezzük, hogy a következő szöveget próbálják beilleszteni egy Vim bufferbe:
some:
yaml:
- data
- structured
in:
- this
- shape
that:
- VIM
- may
not: like
A Vim értelmezheti ezt automatikus tabulálással, megszakítva a beillesztést:
some:
yaml:
- data
- structured
in:
- this
- shape
that:
- VIM
- may
not: like
A probléma javításához futtassa a következő parancsot: :set paste, hogy engedélyezze a Vim beillesztési módját. Miután a beillesztés befejeződött, a :set nopaste parancs használatával visszatérhet az előző beállításokhoz.
E1187
user $
vim foobar
E1187: Failed to source defaults.vim Press ENTER or type command to continue
Úgy tűnik, hogy ezt megoldotta a következő frissítés: destabilize 8.2.4328.
További olvasnivaló a témában
- Knowledge Base:Edit a configuration file
- Neovim — a hyperextensible Vim-based text editor.
- Text editor — egy program a szövegfájlok létrehozására és szerkesztésére.
- Useful plugin: app-vim/gentoo-syntax
- Vi — a powerful "modal" text-based editor with a long history in the Unix(like) operating system.
- Vim/Guide — explain basic usage for users new to vi-like text editors in general, and vim in particular.
Külső források
- Vim Documentation Includes Manuals (aka ":help" and Free VIM OPL Book), FAQS, HOWTO's, Tutorials, in HTML PDF, and PS formats.
- A vim Tutorial and Primer - An excellent vim tutorial/primer. Read this first.
- VIM Scripts/Plugins
- Vim for Humans (free ebook) - Clone and cd into the sources directory, mkdir dist, change
sphinx2-build
tosphinx-build
for SPHINXBUILD in rst/en/Makefile. Run ./makedist.sh. Read PDF in ./dist/vimpourleshumains/. - Learning the vi and Vim Editors, 7th Edition O'Reilly Print ISBN: 978-0-596-52983-3, Ebook ISBN: 978-0-596-15935-1
- Vim anti-patterns - A blog entry on maintaining flow with Vim.
- Vim Tips Wiki - Previously known as Wikia, Vim Tips Wiki is now on Fandom.com.
- Vim: Seven habits of effective text editing - A guide written in the year 2000 that still is relevant today!
- vimcolorschemes.com - A website that offers many more options for color schemes.
Hivatkozások
- ↑ https://vimhelp.org/repeat.txt.html#packages
- ↑ https://vimhelp.org/options.txt.html#%27textwidth%27
- ↑ https://github.com/gentoo/gentoo/blob/e1a7e5da58ec33213c680337f4240e75c5e300a4/app-editors/vim-core/files/vimrc-r6#L158
- ↑ https://github.com/gentoo/gentoo/blob/e1a7e5da58ec33213c680337f4240e75c5e300a4/app-editors/neovim/files/sysinit.vim#L58