In vim, nel mio .vimrc, come posso ridefinire un comando (ad esempio: e) come qualcos'altro? Voglio ridefinire :e *
come :tabe *
.Vim: ridefinire un comando
risposta
ho trovato un modo per farlo. Vedi How to disable a built-in command in vim. Da ciò, possiamo vedere che possiamo usare cabbrev per cambiare ciò che fa un comando. Per le mie esigenze, cabbrev e tabe
è perfetto.
Ma possiamo generalizzare questa soluzione per rendere i comandi che iniziano con caratteri minuscoli accessibili agli utenti per quelli definiti dall'utente: utilizzare cabbrev per (ri) definire un comando incorporato come definito dall'utente. Pertanto, siamo in grado di ridefinire i comandi incorporati e quelli definiti dall'utente.
Ecco un esempio, che equivale a mia soluzione di cui sopra al mio problema:
:command -nargs=+ E :tabe "<args>"
:cabbrev e E
Questo è tutto.
Come ho capito, non è possibile. I comandi definiti dall'utente devono avere una prima lettera maiuscola.
:help :command
per ulteriori informazioni
La migliore soluzione senza un plugin che ho visto finora è:
cnoreabbrev <expr> e getcmdtype() == ":" && getcmdline() == 'e' ? 'tabe' : 'e'
se si utilizza un semplice:
cnoreabbrev e E
come suggerito da @Yktula romperebbe il vostro comando se si vuole fare:
echo e f
che diventerebbe:
echo E f
invece.
Come spiegato da @pydave nei commenti, il cmdalias plugin aggiunge un'interfaccia più semplice per fare gli alias sicure semplicemente come:
:Alias e tabe
Al momento della stesura del plugin anche utilizza la tecnica a getcmdtype() == ":"
implementare la sua funzionalità.
Puoi usare [cmdalias] (http://www.vim.org/scripts/script.php?script_id=746) per semplificarlo in ': Alias e tabe' e farà la magia getcmdline per te. – idbrii
- 1. Vim equivalente del comando
- 2. Vim: c'è un comando per cambiare windows
- 3. Come mappare (alias?) Un comando in vim
- 4. Aggiunta di un comando a Vim
- 5. Come disabilitare un comando incorporato in vim
- 6. VIM, Esegui un comando su più file
- 7. Vim "mostra il mio ultimo comando" comando?
- 8. Esegui comando vim da riga di comando
- 9. Generico: comando python in vim?
- 10. VIM: memorizza l'output di un comando esterno in un registro
- 11. Ridefinire una funzione in un pacchetto R
- 12. Ridefinire l'indice in un Pandas dataframe oggetto
- 13. Come ridefinire un intervallo denominato con VBA?
- 14. Esiste un Vim equivalente al comando "fold" di Linux/Unix?
- 15. Come mappare un comando long bash in vim?
- 16. Come eseguire un comando esterno nello script Vim?
- 17. Comando per circondare un carattere con spazi in vim
- 18. Errore Vim E492 - Non è un comando editor: PluginInstall
- 19. reindirizzamento dell'output del comando 'find' a 'vim'
- 20. Impostazione colore riga di comando Vim
- 21. come usare vimdiff in modalità comando VIM?
- 22. Vim Repeat punto (".") Buffer di comando?
- 23. Vim linea di divisione di comando
- 24. problema Vim con il comando GF
- 25. comando copia vim negli appunti/buffer
- 26. Come mappare l'opzione Comando/Apple in vim
- 27. VIM: Range Line opzionale per comando/funzione
- 28. Come ridefinire le funzioni di Perl incorporate?
- 29. C'è un modo per eseguire silenziosamente un comando bash dopo un file salvato in vim?
- 30. Ridefinire i campi di un record in Clojure
Si interrompe se si desidera digitare: 'echo e f', che diventerebbe invece 'echo E f'. La mia risposta tenta di superare questo. –