Por lo general, los terminales permiten la selección de texto con el mouse, pero el shell no se da cuenta de esto. Así que por desgracia no bash
, zsh
, fish
ni tampoco es
puede apoyar la edición basada en ratón. Creo que para hacerlo, tendrían que tomar un mayor control sobre la terminal.
Sin embargo (y esto es un poco exagerado) si abre Vim o GVim, y luego ingresa comandos de shell usando:
:!...
entonces puede hacer clic con el mouse para saltar a cualquier parte de la línea . (Necesitará :set mouse=a
primero si eso no está habilitado). Las teclas de edición en este modo se pueden ver con:help cmdline-editing
Vim también tiene un modo de historial de comandos bastante poderoso, al que se puede llegar golpeando q:. Desde allí puede tirar, eliminar y pegar usando los comandos de modo normal de Vim. En este modo, puede obtener la selección con el mouse y luego eliminar la función que desee (presionando d).
Una advertencia importante aquí es que Vim en realidad no mantiene una sesión de shell en vivo ejecutándose. Cada comando que ejecute se ejecutará en un proceso secundario. Por lo tanto, cualquier cambio realizado en las variables de entorno u opciones de shell por el proceso secundario se perderá.
Dicho esto, se pueden modificar las variables de entorno desde dentro el proceso de Vim, y utilizar estos de línea de comandos de Vim, y que incluso se pueden exportar a procesos secundarios:
:let $FOO="bar" " the $ and the quotes are mandatory here
:echo $FOO " Vim's own echo command
bar
:!echo "$FOO" " Passing the variable to a shell command
bar
:!bash " Opening a child shell
$ echo "$FOO"
bar
Entonces, si estás dispuesto a pretender que Vim es en realidad una especie de caparazón extraño, ¡entonces puedes disfrutar de sus funciones de edición avanzadas! Probablemente el mayor inconveniente es que tendrá que iniciar cada comando escribiendo :!
oq:
Ah, y por cierto, si desea obtener la salida del comando de shell en su búfer Vim actual, puede hacerlo así (pero tenga cuidado de que golpeará su línea actual):
:,!ls