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-07-07 01:59:19] – [ambitioniertere vim config] manfredvi_vim [2026-06-23 17:06:12] (aktuell) – [setup] david
Zeile 29: Zeile 29:
  
  
-===== Automatischen Visual Mode mit Maus deaktivieren =====+===== vim config =====
  
-<code vim ~/.vimrc> 
-set mouse= 
-</code> 
  
-oder+==== setup ====
  
-  > echo "set mouse=" >> ~/.vimrc+<code bash> 
 +# vim xdg dirs: ~/.config/vim, ~/.local/share/vim, ~/.local/state/vim 
 +vim_config_dir="${XDG_CONFIG_HOME:-${HOME}/.config}/vim" 
 +vim_data_dir="${XDG_DATA_HOME:-${HOME}/.local/share}/vim" 
 +vim_state_dir="${XDG_STATE_HOME:-${HOME}/.local/state}/vim" 
 + 
 +# migrate old ~/.vim 
 +test -d "${HOME}/.vim" && test ! -e "${vim_config_dir}" && mv "${HOME}/.vim" "${vim_config_dir}" 
 + 
 +# create vim dirs that don't exist already 
 +mkdir -p "${vim_config_dir}" "${vim_data_dir}" "${vim_state_dir}" 
 + 
 +# migrate old ~/.vimrc & ~/.viminfo 
 +test -f "${HOME}/.vimrc" && test ! -e "${vim_config_dir}/vimrc" && mv "${HOME}/.vimrc" "${vim_config_dir}/vimrc" && mv "${HOME}/.viminfo" "${vim_state_dir}/viminfo" 
 + 
 +# optional: disable mouse 
 +echo "set mouse=" >> "${vim_config_dir}/vimrc
 +echo "set ttymouse=" >> "${vim_config_dir}/vimrc" 
 +</code>
  
  
-===== minimale vim config =====+==== minimal ====
  
-Damit die Farben sowohl bei weißem als auch bei schwarzem Hintergrund im ''vi''/''vim'' gut erkennbar sind, wird das ''colorscheme'' geändert.+  * Maus deaktivieren: **Niemals** ''set mouse-=a'' setzen, sondern immer ''set mouse=''
 +  * Damit die Farben sowohl bei weißem als auch bei schwarzem Hintergrund im ''vi''/''vim'' gut erkennbar sind, wird das ''colorscheme'' geändert (siehe auch ''highlight'' weiter unten)
  
-<code vim+<code bash
-cat << 'EOF' > ~/.vimrc+cat << 'EOF' > ~/.config/vim/vimrc
 unlet! skip_defaults_vim unlet! skip_defaults_vim
 source $VIMRUNTIME/defaults.vim source $VIMRUNTIME/defaults.vim
-set nocompatible+source $VIMRUNTIME/xdg.vim
  
 colorscheme ron colorscheme ron
Zeile 57: Zeile 73:
 set fileformats=unix,dos set fileformats=unix,dos
 set mouse= set mouse=
 +set ttymouse=
  
 set secure set secure
Zeile 63: Zeile 80:
  
  
-===== ambitioniertere vim config =====+==== erweitert ====
  
-<code vim ~/.vimrc>+  * inkl. xdg base dir spec 
 +  * siehe dotfiles repo für aktuellste version: [[https://gitlab.com/m4st3rfl1tz3r/dotfiles/dotfiles/-/tree/main/.config/vim|dotfiles linux]] / [[https://gitlab.com/m4st3rfl1tz3r/dotfiles/dotfiles-macos/-/tree/main/.config/vim|dotfiles macos]] 
 + 
 +<code vim ~/.config/vim/vimrc>
 unlet! skip_defaults_vim unlet! skip_defaults_vim
 source $VIMRUNTIME/defaults.vim source $VIMRUNTIME/defaults.vim
-set nocompatible+if empty($XDG_CONFIG_HOME) | source ~/.config/vim/xdg.vim | else | source $XDG_CONFIG_HOME/vim/xdg.vim | endif
  
 packadd! matchit packadd! matchit
  
-"colorscheme pablo 
 colorscheme torte colorscheme torte
 filetype plugin indent on filetype plugin indent on
Zeile 87: Zeile 106:
 set incsearch set incsearch
 set list set list
-set listchars=tab:\,trail:·,extends:≫,precedes:≪,eol:,nbsp:␣+set listchars=eol:⏎,tab:\ ,trail:·,extends:≫,precedes:≪,conceal:,nbsp:␣
 set mouse= set mouse=
 set number set number
Zeile 107: Zeile 126:
 set ttimeout set ttimeout
 set ttimeoutlen=-1 set ttimeoutlen=-1
 +set ttymouse=
 set wildmenu set wildmenu
  
Zeile 112: Zeile 132:
 </code> </code>
  
-<file vim ~/.vimrc>+<code vim ~/.config/vim/xdg.vim> 
 +" source $VIMRUNTIME/xdg.vim 
 +" to update from upstream xdg.vim run this vim command inside this file
 +" :6,$delete | 5read $VIMRUNTIME/xdg.vim 
 +" then uncomment the xdg options below again 
 + 
 +" XDG Base Directory support 
 +" This script sets up paths for XDG compliance. 
 +" Maintainer: The Vim Project <https://github.com/vim/vim> 
 +" Last Change: 2026 Feb 19 
 + 
 +let s:config = empty($XDG_CONFIG_HOME) ? expand("~/.config") : expand("$XDG_CONFIG_HOME"
 +let s:data   = empty($XDG_DATA_HOME)   ? expand("~/.local/share") : expand("$XDG_DATA_HOME"
 +let s:state  = empty($XDG_STATE_HOME)  ? expand("~/.local/state") : expand("$XDG_STATE_HOME"
 + 
 +if isdirectory(s:config .. '/vim'
 +  func s:mkvimdir(dir) 
 +    if !isdirectory(a:dir) 
 +      call mkdir(a:dir, 'p', 0700) 
 +    endif 
 +    return a:dir 
 +  endfunc 
 + 
 +  " Use Data for packages, prevent duplicates 
 +  if index(split(&packpath, ','), s:data .. '/vim') == -1 
 +    exe $"set packpath^={s:data}/vim" 
 +    exe $"set packpath+={s:data}/vim/after" 
 +  endif 
 + 
 +  " These options are not set by default because they change the behavior of 
 +  " where files are saved. Uncomment them if you want to fully move all 
 +  " transient/persistent files to XDG directories. 
 +  " Note: Undo/Views/Spell are placed in DATA_HOME as they are persistent, 
 +  " while Swap/Backups use STATE_HOME as transient session state. 
 + 
 +  " Persistent Data: 
 +  let &undodir = s:mkvimdir(s:data .. '/vim/undo'
 +  let &viewdir = s:mkvimdir(s:data .. '/vim/view'
 +  let g:netrw_home = s:mkvimdir(s:data .. '/vim'
 +  call s:mkvimdir(s:data .. '/vim/spell'
 + 
 +  " Transient State: 
 +  let &viminfofile = s:mkvimdir(s:state .. '/vim') .. '/viminfo' 
 +  let &directory = s:mkvimdir(s:state .. '/vim/swap'  .. '//' 
 +  let &backupdir = s:mkvimdir(s:state .. '/vim/backup') .. '//' 
 + 
 +  delfunction s:mkvimdir 
 +endif 
 + 
 +unlet s:config s:data s:state 
 +</code> 
 + 
 + 
 +==== alternativ ==== 
 + 
 +<code vim ~/.config/vim/vimrc>
 unlet! skip_defaults_vim unlet! skip_defaults_vim
 source $VIMRUNTIME/defaults.vim source $VIMRUNTIME/defaults.vim
-set nocompatible+source $VIMRUNTIME/xdg.vim
  
 packadd! matchit packadd! matchit
Zeile 127: Zeile 202:
 highlight Normal cterm=NONE ctermbg=NONE ctermfg=NONE gui=NONE guibg=NONE guifg=NONE highlight Normal cterm=NONE ctermbg=NONE ctermfg=NONE gui=NONE guibg=NONE guifg=NONE
  
 +"set autoindent
 set backspace=indent,eol,start set backspace=indent,eol,start
 set encoding=utf-8 set encoding=utf-8
Zeile 133: Zeile 209:
 set ignorecase set ignorecase
 set incsearch set incsearch
 +"set list
 +"set listchars=eol:⏎,tab:→\ ,trail:·,extends:≫,precedes:≪,conceal:⋯,nbsp:
 set mouse= set mouse=
 set number set number
Zeile 144: Zeile 222:
 set signcolumn=number set signcolumn=number
 set smartcase set smartcase
 +"set smartindent
 set smarttab set smarttab
 set smoothscroll set smoothscroll
Zeile 151: Zeile 230:
 set ttimeout set ttimeout
 set ttimeoutlen=-1 set ttimeoutlen=-1
 +set ttymouse=
 set wildmenu set wildmenu
- 
-"set list 
-"set listchars=tab:\|·,trail:·,extends:≫,precedes:≪,eol:⏎,nbsp: 
  
 set secure set secure
-</file>+</code>
  
  
/home/http/wiki/data/attic/vi_vim.1720317559.txt · Zuletzt geändert: von manfred