Benutzer-Werkzeuge

Webseiten-Werkzeuge


vi_vim

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
vi_vim [2024-06-30 00:41:25] – [vi / vim] davidvi_vim [2025-08-15 21:11:02] (aktuell) – [Vim Maus deaktivieren] david
Zeile 1: Zeile 1:
 ====== vi / vim ====== ====== vi / vim ======
  
-  * [[https://til.hashrocket.com/posts/2fdb6afb66-difference-between-wq-and-x|Difference Between :wq and :x]] +[[https://vimhelp.org/editing.txt.html]]
-    * '':wq'' -> schreibt die Datei __immer__ auf die Platte und beendet dann den ''vim'' +
-    * '':x'' -> schreibt die Datei __nur dann__ auf die Platte wenn es Änderungen in der Datei gegeben hat und beendet dann den ''vim''+
  
-  > echo 'SELECTED_EDITOR="/usr/bin/vim.basic"> ~/.selected_editor+  '':n'': nächste vim datei nächstes vim fenster 
 +  * '':N'': vorherige vim datei vorheriges vim fenster 
 +  * '':w'': speichern 
 +  * '':q'': beenden, aber nur wenn keine änderungen vorgenommen wurden und alle vim fenster besucht wurden 
 +  * '':q!'': beenden ohne zu speichern 
 +  * '':wq'': speichern und beenden, aber nur wenn alle vim dateien/fenster besucht wurden 
 +  * '':wq!'': speichern und beenden 
 +  * '':x'': das gleiche wie '':wq'', aber nur speichern, wenn änderungen vorgenommen wurden 
 +  * ''ZZ'' (kein '':''): das gleiche wie '':x'' 
 +  * ''ZQ'' (kein '':''): das gleiche wie '':q!''
  
-damit die Farben sowohl bei weißem als auch bei schwarzem Hintergrund im ''vi'' gut erkennbar sind:+[[https://til.hashrocket.com/posts/2fdb6afb66-difference-between-wq-and-x|Difference Between :wq and :x]] 
 + 
 +  * '':wq'' -> schreibt die Datei __immer__ und beendet dann ''vim'' 
 +  * '':x'' -> schreibt die Datei __nur dann__, wenn es Änderungen gegeben hat, und beendet dann ''vim'' 
 + 
 +<code bash> 
 +update-alternatives --config editor 
 +# ODER 
 +echo "SELECTED_EDITOR=\"$(command -v vim 2> /dev/null || command -v vi 2> /dev/null)\"" > ~/.selected_editor 
 +# ODER 
 +export "EDITOR=\"$(command -v vim 2> /dev/null || command -v vi 2> /dev/null)\""; echo "EDITOR=\"$(command -v vim 2> /dev/null || command -v vi 2> /dev/null)\"" > ~/.bashrc 
 +export "VISUAL=\"$(command -v vim 2> /dev/null || command -v vi 2> /dev/null)\""; echo "VISUAL=\"$(command -v vim 2> /dev/null || command -v vi 2> /dev/null)\"" > ~/.bashrc 
 +</code> 
 + 
 + 
 +===== Vim Maus deaktivieren ===== 
 + 
 +**Niemals** ''set mouse-=a'' setzen, sondern immer ''set mouse='' !!! 
 + 
 +  > echo "set mouse=" >> ~/.vimrc 
 + 
 + 
 +===== minimale vim config ===== 
 + 
 +Damit die Farben sowohl bei weißem als auch bei schwarzem Hintergrund im ''vi''/''vim'' gut erkennbar sind, wird das ''colorscheme'' geändert.
  
 <code vim> <code vim>
-cat << EOF > ~/.vimrc+cat << 'EOF> ~/.vimrc
 unlet! skip_defaults_vim unlet! skip_defaults_vim
 source $VIMRUNTIME/defaults.vim source $VIMRUNTIME/defaults.vim
 set nocompatible set nocompatible
  
-"packadd! matchit 
- 
-"colorscheme delek 
-"colorscheme pablo 
 colorscheme ron colorscheme ron
-"filetype plugin indent on 
 filetype plugin indent off filetype plugin indent off
 syntax on syntax on
  
-"set encoding=utf-8+set encoding=utf-8
 set fileformats=unix,dos set fileformats=unix,dos
 set mouse= set mouse=
Zeile 33: Zeile 59:
  
  
-===== ultimative vim config ===== +===== ambitioniertere vim config =====
- +
-ab vim v9+
  
 <code vim ~/.vimrc> <code vim ~/.vimrc>
Zeile 44: Zeile 68:
 packadd! matchit packadd! matchit
  
-colorscheme pablo+"colorscheme pablo 
 +colorscheme torte
 filetype plugin indent on filetype plugin indent on
 syntax on syntax on
Zeile 53: Zeile 78:
 set backspace=indent,eol,start set backspace=indent,eol,start
 set encoding=utf-8 set encoding=utf-8
 +set fileformats=unix,dos
 set hlsearch set hlsearch
 set ignorecase set ignorecase
Zeile 81: Zeile 107:
 set secure set secure
 </code> </code>
 +
 +<file vim ~/.vimrc>
 +unlet! skip_defaults_vim
 +source $VIMRUNTIME/defaults.vim
 +set nocompatible
 +
 +packadd! matchit
 +
 +colorscheme slate
 +"colorscheme darkblue
 +"colorscheme desert
 +filetype plugin indent on
 +syntax on
 +
 +highlight Normal cterm=NONE ctermbg=NONE ctermfg=NONE gui=NONE guibg=NONE guifg=NONE
 +
 +set backspace=indent,eol,start
 +set encoding=utf-8
 +set fileformats=unix,dos
 +set hlsearch
 +set ignorecase
 +set incsearch
 +set mouse=
 +set number
 +set relativenumber
 +set ruler
 +set scrolloff=5
 +set shiftwidth=0
 +set showcmd
 +set showmatch
 +set showmode
 +set signcolumn=number
 +set smartcase
 +set smarttab
 +set smoothscroll
 +set softtabstop=-1
 +set tabstop=4
 +set timeout
 +set ttimeout
 +set ttimeoutlen=-1
 +set wildmenu
 +
 +"set list
 +"set listchars=tab:\|·,trail:·,extends:≫,precedes:≪,eol:⏎,nbsp:
 +
 +set secure
 +</file>
  
  
Zeile 119: Zeile 192:
     * [[https://vimhelp.org/options.txt.html?#%27fileencoding%27]]     * [[https://vimhelp.org/options.txt.html?#%27fileencoding%27]]
  
-um eine Datei mit dem VI in einem neuen Encoding zu speichern, muß das neue Encoding dem Schreibkommando ünergeben werden:+um eine Datei mit dem VI in einem neuen Encoding zu speichern, muss das neue Encoding dem Schreibkommando übergeben werden:
   > vi datei.txt   > vi datei.txt
   ...   ...
Zeile 125: Zeile 198:
  
 Das Encoding bei Start von ''vim'' setzen, bevor die Datei gelesen wurde: Das Encoding bei Start von ''vim'' setzen, bevor die Datei gelesen wurde:
-  # in MicroSoft Windows +  # most shells on *nix / pwsh on windows
-  vim --cmd "set encoding=utf-8" file.txt +
-   +
-  # in *nix shell+
   vim --cmd 'set encoding=utf-8' file.txt   vim --cmd 'set encoding=utf-8' file.txt
  
Zeile 162: Zeile 232:
 "''cat file1 file2''" lässt das BOM von ''file2'' in der Mitte der resultierenden Datei erscheinen. "''cat file1 file2''" lässt das BOM von ''file2'' in der Mitte der resultierenden Datei erscheinen.
 Gcc akzeptiert keinen BOM. Wenn Vim eine Datei liest und ''fileencodings'' mit "ucs-bom" beginnt, wird auf das Vorhandensein der BOM geprüft und 'bomb' entsprechend gesetzt. Wenn „binary“ nicht gesetzt ist, wird es aus der ersten Zeile entfernt, sodass Sie es beim Bearbeiten nicht sehen. Wenn Sie die Optionen nicht ändern, wird das BOM beim Schreiben der Datei wiederhergestellt. Gcc akzeptiert keinen BOM. Wenn Vim eine Datei liest und ''fileencodings'' mit "ucs-bom" beginnt, wird auf das Vorhandensein der BOM geprüft und 'bomb' entsprechend gesetzt. Wenn „binary“ nicht gesetzt ist, wird es aus der ersten Zeile entfernt, sodass Sie es beim Bearbeiten nicht sehen. Wenn Sie die Optionen nicht ändern, wird das BOM beim Schreiben der Datei wiederhergestellt.
- 
- 
-===== Debian ===== 
- 
-  * [[https://www.bitblokes.de/visual-mode-bei-vim-aendern-maus-deaktivieren-treibt-mich-in-den-wahnsinn/|Visual Mode bei vim, treibt mich in den Wahnsinn]] 
- 
-  > echo "let g:skip_defaults_vim = 1" >> ~/.vimrc 
- 
-<code vim ~/.vimrc> 
-let g:skip_defaults_vim = 1 
-</code> 
- 
-oder 
- 
-  > echo "set mouse=" >> ~/.vimrc 
- 
-<code vim ~/.vimrc> 
-set mouse= 
-</code> 
- 
-Seit 2017: 
- 
-Standardmäßig liest der Debian-Vim seine Konfigurationsdateien in dieser Reihenfolge: ''vimrc'', ''vimrc.local'', ''debian.vim'', ''~/.vimrc'' 
- 
-D.h. die ''debian.vim'' überschreibt die globale Konfiguration!!! 
  
  
Zeile 230: Zeile 275:
 ==== mit vim mehrere Dateien gleichzeitig öffnen ==== ==== mit vim mehrere Dateien gleichzeitig öffnen ====
  
-  > vi datei_1.txt datei_2.txt datei_3.txt+  > vim datei_1.txt datei_2.txt datei_3.txt
 <file> <file>
 :n              - zur nächsten Datei wechseln :n              - zur nächsten Datei wechseln
/home/http/wiki/data/attic/vi_vim.1719708085.txt · Zuletzt geändert: von david