Vim-Einrichtung
Diese Seite wurde von PageTurner AI übersetzt (Beta). Nicht offiziell vom Projekt unterstützt. Fehler gefunden? Problem melden →
Vim-Nutzer können entweder vim-prettier installieren, das speziell für Prettier entwickelt wurde, oder Neoformat bzw. ALE, die allgemeine Lint-/Formatierungs-Tools mit Prettier-Unterstützung sind.
vim-prettier
Installations- und Verwendungsanleitungen finden Sie im vim-prettier-Readme.
Neoformat
Die beste Installationsmethode für Neoformat ist über Ihren bevorzugten Vim-Plugin-Manager, wie z.B. vim-plug:
Plug 'sbdchd/neoformat'
Damit Neoformat eine projektspezifische Prettier-Version verwendet (d.h. node_modules/.bin/prettier nutzt statt nach prettier im $PATH zu suchen), müssen Sie die Option neoformat_try_node_exe setzen:
let g:neoformat_try_node_exe = 1
Führen Sie :Neoformat oder :Neoformat prettier in einer unterstützten Datei aus, um Prettier zu starten.
Um Neoformat beim Speichern automatisch Prettier ausführen zu lassen:
autocmd BufWritePre *.js Neoformat
Sie können Vim auch so konfigurieren, dass Ihr Code häufiger formatiert wird, indem Sie einen autocmd für andere Events setzen. Hier einige nützliche Beispiele:
-
TextChanged: nach einer Änderung im Text im Normalmodus -
InsertLeave: beim Verlassen des Einfügemodus
Beispielsweise können Sie die Formatierung für beide Events zusammen mit BufWritePre wie folgt aktivieren:
autocmd BufWritePre,TextChanged,InsertLeave *.js Neoformat
Details finden Sie unter :help autocmd-events in Vim.
Empfohlen wird eine Konfigurationsdatei, Sie können Optionen aber auch in Ihrer .vimrc hinzufügen:
autocmd FileType javascript setlocal formatprg=prettier\ --single-quote\ --trailing-comma\ es5
" Use formatprg when available
let g:neoformat_try_formatprg = 1
Leerzeichen in Prettier-Optionen müssen mit \ maskiert werden.
ALE
ALE erfordert entweder Vim 8 oder Neovim, da es die asynchronen Fähigkeiten beider Editoren nutzt.
Die beste Installationsmethode für ALE ist über Ihren bevorzugten Vim-Plugin-Manager, wie z.B. vim-plug:
Plug 'dense-analysis/ale'
Weitere Anleitungen finden Sie im ALE-Repository.
ALE versucht zunächst, eine lokale Prettier-Installation zu verwenden, bevor es nach einer globalen Installation sucht.
Aktivieren Sie den Prettier-Fixer für Ihre verwendeten Sprachen:
let g:ale_fixers = {
\ 'javascript': ['prettier'],
\ 'css': ['prettier'],
\}
ALE unterstützt sowohl Linter als auch Fixer. Wenn Sie keine spezifischen Linter festlegen, werden alle verfügbaren Tools für alle unterstützten Sprachen ausgeführt, was zu korrekt formatierten Dateien mit zahlreichen Lint-Fehlern führen kann. Um dieses Verhalten zu deaktivieren, können Sie ALE anweisen, nur explizit konfigurierte Linter auszuführen (weitere Infos im FAQ):
let g:ale_linters_explicit = 1
Führen Sie dann :ALEFix in einer JavaScript- oder CSS-Datei aus, um Prettier zu starten.
Um ALE beim Speichern automatisch Prettier ausführen zu lassen:
let g:ale_fix_on_save = 1
Empfohlen wird eine Konfigurationsdatei, Sie können Optionen aber auch in Ihrer .vimrc hinzufügen:
let g:ale_javascript_prettier_options = '--single-quote --trailing-comma all'
coc-prettier
Prettier-Erweiterung für coc.nvim, die neovim oder vim8.1 erfordert. Installieren Sie coc.nvim mit Ihrem bevorzugten Plugin-Manager, z.B. vim-plug:
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Und installieren Sie coc-prettier per Befehl:
CocInstall coc-prettier
Richten Sie den Prettier-Befehl in Ihrer init.vim oder .vimrc ein:
command! -nargs=0 Prettier :call CocAction('runCommand', 'prettier.formatFile')
Aktualisieren Sie Ihre coc-settings.json für Sprachen, die beim Speichern formatiert werden sollen:
{
"coc.preferences.formatOnSaveFiletypes": ["css", "markdown"]
}
coc-prettier verwendet dieselben Konfigurationen wie prettier-vscode. Öffnen Sie coc-settings.json mit :CocConfig, um Autovervollständigung zu erhalten.
Manuelles Ausführen
Für eine Minimal-Lösung können Sie eine eigene Tastenkombination erstellen. In diesem Beispiel wird gp (Mnemonic: "get pretty") verwendet, um Prettier (mit Optionen) im aktuellen Buffer auszuführen:
nnoremap gp :silent %!prettier --stdin-filepath %<CR>
Hinweis: Bei Syntaxfehlern wird der gesamte Buffer durch eine Fehlermeldung ersetzt. Drücken Sie u, um Ihren Code wiederherzustellen.
Ein weiterer Nachteil dieser Methode ist, dass die Cursorposition nicht erhalten bleibt.