abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 16:22 | Nová verze

    Open source softwarový stack ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán ve verzi 7.0.0. Přidána byla podpora AMD Instinct MI355X a MI350X.

    Ladislav Hagara | Komentářů: 0
    dnes 15:22 | Nová verze

    Byla vydána nová verze 258 správce systému a služeb systemd (GitHub).

    Ladislav Hagara | Komentářů: 5
    dnes 15:11 | Nová verze

    Byla vydána Java 25 / JDK 25. Nových vlastností (JEP - JDK Enhancement Proposal) je 18. Jedná se o LTS verzi.

    Ladislav Hagara | Komentářů: 0
    dnes 14:44 | Humor

    Věra Pohlová před 26 lety: „Tyhle aféry každého jenom otravují. Já bych všechny ty internety a počítače zakázala“. Jde o odpověď na anketní otázku deníku Metro vydaného 17. září 1999 na téma zneužití údajů o sporožirových účtech klientů České spořitelny.

    Ladislav Hagara | Komentářů: 4
    dnes 11:33 | Zajímavý článek Ladislav Hagara | Komentářů: 0
    včera 21:44 | Nová verze

    Byl vydán Mozilla Firefox 143.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově se Firefox při ukončování anonymního režimu zeptá, zda chcete smazat stažené soubory. Dialog pro povolení přístupu ke kameře zobrazuje náhled. Obzvláště užitečné při přepínání mezi více kamerami. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 143 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Nová verze

    Byla vydána betaverze Fedora Linuxu 43 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 21. října.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | Nová verze

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.2 (𝕏, Mastodon). Přehled novinek, vylepšení a nových efektů v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 00:11 | Nová verze

    Byla vydána nová verze 4.5 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    15.9. 21:33 | Nová verze

    Byla vydána verze 3.0 (Mastodon) nástroje pro záznam a sdílení terminálových sezení asciinema (GitHub). S novou verzí formátu záznamu asciicast v3, podporou live streamingu a především kompletním přepisem z Pythonu do Rustu.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (43%)
     (57%)
     (0%)
     (7%)
     (14%)
     (7%)
     (21%)
     (7%)
     (14%)
    Celkem 14 hlasů
     Komentářů: 1, poslední dnes 13:49
    Rozcestník

    vim a matlab

    14.5.2006 22:48 | Přečteno: 1670× | takruzne | poslední úprava: 16.6.2006 17:27

    keywords vim matlab script m-file

    Nevím, jak jsou na tom verze matlabu nyní, ale tento skript edit.m nahrazuje matlabí edit. Používal jsem jej pro gnome-terminal, ale pak jsem přešel na aterm. Proto je kód pro gnome-terminál ponechán zakomentovaný. Překvapil mne kamarád, že jej používá a bez problémů. Psal jsem to před 2 lety kvůli diplomce, protože jsem prostě na vim zvyklý.

    Logika argumentů je divoká, ale nějak mě to zatím nezradilo.

    Skript je k použítí v xkách. Matlab je dobré spouštet v terminálu jako matlab -nosplash -nojvm -nodesktop

    Soubor nakopírujte do ~/matlab. Použijte help edit
    function [C, A ] = vim( varargin ) 
    
    %           EDIT  
    %           EDIT arg1 arg2 
    %           EDIT ./arg1 ./arg2
    %           EDIT /.../arg1 /.../arg2 
    % [C, A ] = EDIT
    % [C, A ] = EDIT( 'arg1', 'arg2', ... )
    % [C, A ] = EDIT( '-c \"<editor command>\"', 'arg1', 'arg2' )  
    %
    % EDIT overrides a default matlab script EDIT.m.
    % EDIT opens the file in a text editor.  
    %
    % By default, The EDIT editor is used. The user may 
    % specify a different editor by modifying the shell command 
    % in the M-file.
    %
    % EDIT X Y Z ... will atempt to open all specified files in an
    % editor. Each argument is directly passed into an editor argument.
    % Instead of the first file you can use the editor (EDIT) command 
    % as well. But this command has to be the first argument 
    % in the string. 
    %         
    % EDIT '-c \"w\"' FILE1.M FILE2.M 
    %  
    % passes the command "save FILE1.M" to EDIT. Be aware of placing
    % a gap between both the editor command and the file name.  
    %
    %
    % EDIT, by itself, opens up a new editor window.
    %
    %
    % EDIT returns two strings:
    %  	C is the command passed into the terminal input.
    % 	A is the command passed into the editor input. 
    %Copyleft 2004 elviin
    
    
    if ~iscellstr( varargin )
       error( 'The input must be a string.' );
       return;
    end
    
    
    
    cellFileArg = '#'; %Use this character instead of a white space. 
    		   %There are problems with leading and trailing spaces. 
                       
                       %Because in gnome-terminal is needed full file-path.
                       %Say vim to open it. (I don't know why it doesn't work.)
    %gnome-terminal
    %vimOpenFile = '-c#\"e#';
    %aterm
    vimOpenFile = '-c#"e#';
    
    	          %Set the proper directory for edited file.		
    curDir = strcat( pwd, '/' ); 
    
    %gnome-terminal	          %Set the proper directory for editor;		
    %changeDirOptionTail = strcat( curDir, '\"' );
    %aterm
    changeDirOptionTail = strcat( curDir, '"' );
    
    %for gnome-terminal
    %changeDirOption = strcat( '#-c#\"cd#', changeDirOptionTail );
    
    %for aterm
    changeDirOption = strcat( '#-c#"cd#', changeDirOptionTail );
    
    		  %Fill the buffer with arguments.
    for i = 1:nargin
      cVarargin = char( varargin(i) );
      switch cVarargin(1)
        case {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}
          Err = sprintf('Remove heading ''%s'' from the name.', cVarargin(1));, ...
          disp(Err)
          return
        case '-', ...
          cellFileArg = strcat( cellFileArg, cVarargin );, ...
          cellFileArg = strcat( cellFileArg, '#' );
        case {'~', '/', '.', '\'}, ...
          if length(cVarargin) < 2
            disp('File name is too short.')
            return
          end
          nameLength = length( cVarargin );
          if strfind( cVarargin( nameLength-1: nameLength ), '.m' )
            cVarargin = strcat( vimOpenFile, cVarargin );
            %for gnome-terminal
            %cVarargin = strcat( cVarargin, '\"' ); %terminate the command
            %for aterm
            cVarargin = strcat( cVarargin, '"' ); %terminate the command
            cellFileArg = strcat( cellFileArg, cVarargin );, ...
            cellFileArg = strcat( cellFileArg, '#' );
          else
            cVarargin = strcat( cVarargin, '.m' );, ...
            cVarargin = strcat( vimOpenFile, cVarargin );, ...
            %for gnome-terminal
            %cVarargin = strcat( cVarargin, '\"'); %terminate the command
            %for aterm
            cVarargin = strcat( cVarargin, '"'); %terminate the command
            cellFileArg = strcat( cellFileArg, cVarargin );, ...
            cellFileArg = strcat( cellFileArg, '#' );
          end
        otherwise     %No exact file name is specified. 
                      %Try to select a file:
          parPath = which( cVarargin ); 
          if ( strcmp( parPath, '' ) )
            nameLength = length(cVarargin);
                      %If the file name is long enough...
            if ( nameLength > 1 )
                      %If .m extension is missing...
              if ( strfind( cVarargin( nameLength-1: nameLength ), '.m' ) )
                cVarargin  = strcat( curDir, cVarargin );
                cellFileArg = strcat( cellFileArg, cVarargin );
                cellFileArg = strcat( cellFileArg, '#' );       
              else  
                cVarargin = strcat( cVarargin, '.m' );
                cVarargin  = strcat( curDir, cVarargin );
                cellFileArg = strcat( cellFileArg, cVarargin );
                cellFileArg = strcat( cellFileArg, '#' );       
              end
            else      %Edit the file in spite of too short name.
              cVarargin = strcat( cVarargin, '.m' );
              cVarargin  = strcat( curDir, cVarargin );
              cellFileArg = strcat( cellFileArg, cVarargin );
              cellFileArg = strcat( cellFileArg, '#' );
              Err = sprintf('File name ''%s''is possibly too short to specify m-file.', cVarargin);, ...
              disp(Err);
            end
          else        %We have found a path to reach the file.
            cellFileArg  = strcat( cellFileArg, parPath );
            cellFileArg = strcat( cellFileArg, '#' );
          end
      end
    end;
    
    
    		  %Convert values of the type cell to the string.  
    cFileArg = char( cellFileArg );
    		  
    		  %Include arguments in to the shell command.
    		  %You can edit both the name of a file manager and an editor. 
    		  %Change editting directory:	
    cFileArg = strcat( changeDirOption, cFileArg );
                      %--zoom arg is useless in Gnome 
    commandGnomeTerminal = strcat( 'gnome-terminal --window-with-profile=matlab --zoom=1.333333333 --geometry=80x25  --command "vim' , cFileArg );
    
    commandATerm = strcat( 'aterm -T Matlab -e vim', cFileArg );
    command = commandATerm; %commandGnomeTerminal
    % command = strcat( command, '"' ); %commandGnomeTerminal terminator
    		  
    
                      %The way how to disable gtk warning messages:
                      %** (gnome-terminal:2240): WARNING **: [Invalid UTF-8]
                      %in case your default xwindow manager is not Gnome.
    execommand = strcat( command, '#');
    execommand = strcat( execommand, '>#/dev/null#2>&1#&');
    execommand = strcat( 'nohup#', execommand );
    
    		  %Replace the character '#' with ' ' and execute the command.
    execommand = strrep( execommand, '#', ' ' );
    
    
                      %Execute the command attached to vim editor: 
    unix( execommand );
    
    
    
    nout = max(nargout,1)-1;
                      %Disable  output messages (0).
                      %List the enabled ones (1, 2). 
    switch nout
    	case 2,
    		C = execommand;,
    		A = strrep( cFileArg, '#', ' ' );
    	case 1,
    		C = execommand;
    		A = strrep( cFileArg, '#', ' ' );
    	case 0,   %(*) explicit obstruction from stdout
    			
    	otherwise
    		disp('To many output arguments.')	
    end;
    	
    
    
    
    
           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.