You are here: Home How to Abrir con VIM sobre SSH
Views

Edit detail for Abrir con VIM sobre SSH revision 1 of 1

1
Editor: xil
Time: 2007/05/17 22:15:33 GMT+0
Note:

changed:
-
Con Nautilus (Gnome), pódese acceder a sistemas de ficheiros remotos sobre SSH. Pódense invocar moitas aplicacións para editar ficheiros, pero o VIM non é unha delas (non entende as URIs de Gnome VFS). Grantm publicou un script en http://www.perlmonks.org/?node_id=602454 que soluciona este problema 

::
    
 #!/usr/bin/perl

 use strict;
 use warnings;

 my @files;

 foreach (split /\n/, $ENV{NAUTILUS_SCRIPT_SELECTED_URIS}) {
    if(s{^file://(/.*)$}{$1}) {
        push @files, unescape($_);
    }
    elsif(s{^ssh://([^/]+)/(.*)$}{scp://$1//$2}) {
        push @files, unescape($_);
    }
    else {
        system(qq{gdialog --infobox "Unknown URI type: '$_'"});
        exit;
    }
 }

 my $msg = "Files:\n" . join("\n", @files);
 #system(qq{gdialog --infobox "$msg"});
 system('gvim', @files);

 exit;

 sub unescape {
    my($data) = $_;

    $data =~ s/%([\da-f][\da-f])/chr(hex($1))/eg;

    return $data;
 }

Este script cópiase en "~/.gnome2/nautilus-scripts/Open with gvim" e dánselle permisos de execución.

Con Nautilus (Gnome), pódese acceder a sistemas de ficheiros remotos sobre SSH. Pódense invocar moitas aplicacións para editar ficheiros, pero o VIM non é unha delas (non entende as URIs? de Gnome VFS). Grantm publicou un script en http://www.perlmonks.org/?node_id=602454 que soluciona este problema

 #!/usr/bin/perl

 use strict;
 use warnings;

 my @files;

 foreach (split /\n/, $ENV{NAUTILUS_SCRIPT_SELECTED_URIS}) {
    if(s{^file://(/.*)$}{$1}) {
        push @files, unescape($_);
    }
    elsif(s{^ssh://([^/]+)/(.*)$}{scp://$1//$2}) {
        push @files, unescape($_);
    }
    else {
        system(qq{gdialog --infobox "Unknown URI type: '$_'"});
        exit;
    }
 }

 my $msg = "Files:\n" . join("\n", @files);
 #system(qq{gdialog --infobox "$msg"});
 system('gvim', @files);

 exit;

 sub unescape {
    my($data) = $_;

    $data =~ s/%([\da-f][\da-f])/chr(hex($1))/eg;

    return $data;
 }

Este script cópiase en "~/.gnome2/nautilus-scripts/Open with gvim" e dánselle permisos de execución.


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards:

Personal tools