Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

205
Views
vim: enviar selección de texto a bash

¿Cómo puedo enviar el contenido de texto actualmente seleccionado (en modo visual) a un comando bash?

Lo sé, los comandos bash se pueden llamar con :! , pero por lo demás no encuentro documentación.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Primero, puede obtener texto seleccionado visualmente por una función. Traje esto de https://stackoverflow.com/a/6271254/3108885 :

 function! s:GetVisualSelection() let [lnum1, col1] = getpos("'<")[1:2] let [lnum2, col2] = getpos("'>")[1:2] let lines = getline(lnum1, lnum2) let lines[-1] = lines[-1][:col2 - (&selection == 'inclusive' ? 1 : 2)] let lines[0] = lines[0][col1 - 1:] return join(lines, "\n") endfunction

Luego agregue un mapa para el modo Visual:

 vnoremap <buffer> <F5> :<CU>exec '!python -c' shellescape(<SID>GetVisualSelection(), 1)<CR>

Si presiona F5 , se ejecutará el código Python seleccionado visualmente. Puede definir este mapa solo para el código de Python, autocmd FileType python antes vnoremap . Por lo tanto, se pueden manejar múltiples tipos de archivos.

 autocmd FileType python vnoremap <buffer> <F5> :<CU>exec '!python -c' shellescape(<SID>GetVisualSelection(), 1)<CR> autocmd FileType ruby vnoremap <buffer> <F5> :<CU>exec '!ruby -e' shellescape(<SID>GetVisualSelection(), 1)<CR>
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!