3 votos

¿Cómo copiar una línea en el vi y pegarlo a la consola?

Hay un archivo de texto con comandos del bash.

¿Hay una manera de copiar una línea de ese archivo con vi y pegarlo a la consola? Puede ser así como nano.

Es instalación de servidor único de la consola. No mouse claro.

4voto

bodhi.zazen Puntos 47591

GPM , "Propósito General Ratón" proporciona funciones de un ratón en una consola, más útil tal vez es cortar y pegar.

Desde la página del manual:

Este paquete intenta ser un útil servidor de ratón para aplicaciones ejecución en la consola de Linux. Se basa en la "selección" de paquete, y algunos de su código proviene de selección en sí. Este paquete está pensado como un reemplazo de la "selección" como un cortar-y-pegar mecanismo; también ofrece instalaciones adicionales.

Características adicionales se describen en los "comandos Especiales" de la sección

sudo apt-get install gpm

Generalmente funciona fuera de la caja, al menos no he tenido que configurar manualmente.

pero una buena visión general de cómo se configura ver http://www.cyberciti.biz/tips/howto-linux-configure-the-mouse-at-a-text-based-terminal-for-copy-and-paste-operation.html

o el hombre de la página

http://manpages.ubuntu.com/manpages/vivid/man8/gpm.8.html

2voto

Paranoid Panda Puntos 8938

En vi hay un modo visual que le permite seleccionar texto. Usted puede entrar a este modo pulsando v. Una vez que se han introducido en este modo usted puede utilizar las teclas de flecha para seleccionar el texto que desea copiar y pegar. A continuación, utilice y para copiar, p para pegar (a la ubicación deseada), y, finalmente, usted puede utilizar d para cortar texto (o eliminar).

Hay una versión especial de vim usted puede conseguir que apoya a X y, por tanto, permite el acceso al portapapeles del sistema. Pero como es más fácil no tener muchos de ellos dando vueltas (como la versión por defecto no tienen esas capacidades extendidas), es bueno para compilar desde el código fuente como esta persona sugirió. Para hacer esto primero asegúrese de que usted tiene mercurial instalado, y si no, a continuación, instalarlo:

sudo apt-get install mercurial

Una vez que esté seguro de que está instalado obtener la compilación de las dependencias de la vim:

sudo apt-get build-dep vim

Luego de obtener el código fuente con:

hg clone https://vim.googlecode.com/hg/ vim_source

Finalmente, debemos compilarlo:

cd vim_source
./configure \
    --enable-perlinterp=dynamic \
    --enable-pythoninterp=dynamic \
    --enable-rubyinterp=dynamic \
    --enable-cscope \
    --enable-gui=auto \
    --enable-gtk2-check \
    --enable-gnome-check \
    --with-features=huge \
    --with-x \
    --with-compiledby="Your Name <youremail@domain.com>" \
    --with-python-config-dir=/usr/lib/python2.7/config
make && sudo make install

Por FAVOR NOTA: Este va a instalar en /usr/local, por lo que necesita para estar seguro de que es en su PATH antes /usr por lo que se utiliza en lugar de la predeterminada la versión de Ubuntu.

Entonces usted debería ser capaz de obtener esta trabajando con:

"+y

Para copiar en el portapapeles del sistema. Y:

"+p

Para pegar de ella.

2voto

muru Puntos 43315

En bash, es posible modificar el actual comando en un editor, pulsando CtrlxCtrle.

Así:

  1. Empezar con un nuevo símbolo del sistema, presione CtrlxCtrle. Esto abrirá una nueva, en blanco, editor, preferiblemente Vim (creo que el editor se decidió por la VISUAL y EDITOR variables).
  2. Abra el archivo que contiene los comandos en una nueva pestaña o de la división.
  3. Copiar los comandos correspondientes a la original de búfer (probablemente llamado algo como bash-fc-xxxxxxxx).
  4. Guardar y salir. Et Voila!

1voto

user167850 Puntos 230

No sé si hay un búfer global en la consola de linux.

He encontrado una solución. Es posible copiar y pegar dentro de vi o nano.

Si algún comando, parte de un comando de una o modificado de comando debe ser ejecutado, me gustaría copiar a fin de archivo, a continuación, cierre el editor y ejecutar

tail -1 file.txt | bash

Algunas de las líneas del archivo puede ser ejecutado por

sed -n <line_number> file.txt | bash

o

grep <pattern> file.txt | bash

Pero que no acaba de responder a mi pregunta. Se trata de un tipo de solución.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: