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 01:33 | Zajímavý projekt

    Od 1. ledna 2026 jsou všechny publikace ACM (Association for Computing Machinery) a související materiály přístupné v její digitální knihovně. V rámci této změny je nyní digitální knihovna ACM nabízena ve dvou verzích: v základní verzi zdarma, která poskytuje otevřený přístup ke všem publikovaným výzkumům ACM, a v prémiové zpoplatněné verzi, která nabízí další služby a nástroje 'určené pro hlubší analýzu, objevování a organizační využití'.

    NUKE GAZA! 🎆 | Komentářů: 1
    včera 16:44 | IT novinky

    S koncem roku 2025 skončila standardní podpora operačního systému HP-UX (Hewlett Packard Unix).

    Ladislav Hagara | Komentářů: 5
    včera 14:33 | Nová verze

    K 1. lednu 2026 končí 70leté omezení majetkových autorských práv děl autorů zesnulých v roce 1955, viz 2026 in public domain. V americkém prostředí vstupují do public domain díla z roku 1930, viz Public Domain Day.

    |🇵🇸 | Komentářů: 1
    31.12. 15:00 | Nová verze

    Všem vše nejlepší do nového roku 2026.

    Ladislav Hagara | Komentářů: 10
    31.12. 13:33 | Zajímavý software

    Crown je multiplatformní open source herní engine. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT a GPLv3+. Byla vydána nová verze 0.60. Vyzkoušet lze online demo.

    Ladislav Hagara | Komentářů: 0
    31.12. 12:11 | Zajímavý článek

    Daniel Stenberg na svém blogu informuje, že po strncpy() byla ze zdrojových kódů curlu odstraněna také všechna volání funkce strcpy(). Funkci strcpy() nahradili vlastní funkcí curlx_strcopy().

    Ladislav Hagara | Komentářů: 6
    31.12. 03:00 | Nová verze

    Byla vydána nová verze 25.12.30 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    30.12. 18:55 | IT novinky

    Společnost Valve publikovala přehled To nej roku 2025 ve službě Steam aneb ohlédnutí za nejprodávanějšími, nejhranějšími a dalšími nej hrami roku 2025.

    Ladislav Hagara | Komentářů: 0
    30.12. 16:11 | Komunita

    Byly publikovány výsledky průzkumu mezi uživateli Blenderu uskutečněného v říjnu a listopadu 2025. Zúčastnilo se více než 5000 uživatelů.

    Ladislav Hagara | Komentářů: 0
    30.12. 03:33 | Bezpečnostní upozornění

    V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (0%)
     (0%)
     (0%)
     (33%)
     (67%)
     (0%)
     (0%)
     (0%)
     (0%)
     (33%)
    Celkem 3 hlasů
     Komentářů: 0
    Rozcestník

    vim a matlab

    14.5.2006 22:48 | Přečteno: 1700× | 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.