Ho seguito questa guida per inserire automaticamente diversi modelli di intestazioni in nuovi file di tipi diversi in base all'estensione del file:Vim - Come inserire una barra rovesciata all'inizio di una riga in un nuovo file utilizzando autocmd e un file modello
Funziona benissimo! Ho un'intestazione personalizzata per i file di origine Python che viene inserita automaticamente quando apro un nuovo file .py.
voglio fare una cosa simile in modo che un modello di LaTeX di base è inserita quando apro un nuovo file .tex ...
Tranne non riesco a farlo funzionare ...
il mio ~/.vimrc dice questo:
autocmd bufnewfile *.tex so /home/steve/Work/tex_template.txt
e la mia tex_template.txt dice questo:
:insert
\documentclass[a4paper,12pt]{article}
.
ma quando ho O penna un nuovo file in questo modo:
vim test.tex
(dove test.tex non esiste già)
ottengo questo:
"test.tex" [New File]
Error detected while processing /home/steve/Work/tex_template.txt:
line 2:
E492: Not an editor command: :insertdocumentclass[a4paper,12pt]{article}
Press ENTER or type command to continue
Il problema sembra essere con il backslash all'inizio della riga perché se cancello la backslash da tex_template.txt il nuovo file si apre con documentclass [a4paper, 12pt] {article} in esso. Solo che ho bisogno del backslash perché altrimenti non è una sequenza di comandi tex.
Cosa succede se si inseriscono due backslash? – 8bittree
Sì, scusa, avrei dovuto dirlo. Ci ho già provato. È praticamente lo stesso, tranne che una delle barre retroverse appare nel messaggio di errore: E488: Caratteri finali:: insert \ documentclass [a4paper, 12pt] {article} –