Conemu: come posso creare più finestre della console in una scheda dal file delle attività?


29

Come creare più finestre della console in una scheda dal file delle attività? Voglio creare una griglia 2 × 2 di console in una scheda. Posso farlo a mano quando creo nuove console e seleziona le opzioni "A destra" o "In basso". Ma voglio che venga creato automaticamente all'avvio. L'opzione "salvataggio automatico / ripristino attività aperte" non è abilitata per qualche motivo. Quindi l'unico modo è crearlo in attività. Quindi, come posso creare una griglia 2 × 2 nell'attività?

Risposte:


44

Questo è il contenuto dell'attività. Controllato in ConEmu build 120909.

>cmd -cur_console:n
cmd -cur_console:s1TVn
cmd -cur_console:s1THn
cmd -cur_console:s2THn

Questo è un esempio La divisione in ConEmu può essere complessa come vuoi, sono possibili tutte le configurazioni con qualsiasi proporzione. Leggi la wiki del progetto per ulteriori informazioni -new_consolee -cur_consoleopzioni.

Per eseguire tutto ciò senza creare una nuova attività

C'è un /cmdlist ConEmu.exeinterruttore.

Esempio di utilizzo per i contenuti dei collegamenti (ad esempio sul desktop):

ConEmu -cmdlist cmd -cur_console:fn ||| cmd -cur_console:s1TVn ||| cmd -cur_console:s1THn ||| cmd -cur_console:s2THn

Devi eseguirlo da un altro file cmd? Ecco un consoles.cmdesempio:

start ConEmu -cmdlist cmd -cur_console:fn ^|^|^| cmd -cur_console:s1TVn ^|^|^| cmd -cur_console:s1THn ^|^|^| cmd -cur_console:s2THn

Puoi dirmi come eseguire questo comando? Ho provato e questo è quello che ottengo. Ho l'ultima build.
Arin,

La parola chiave è "Task". Perché stai cercando di eseguire questo da shell già avviata? Attività di installazione.
Massimo

@Maximus Ho avuto l'impressione che si trattasse di un comando shell. Grazie.
dal

1
@arin Puoi usarlo anche dalla shell, ma è necessario -new_console: ... invece di -cur_console
Massimo

@Maximus: come sono configurate esattamente le dimensioni della finestra in quell'esempio di attività? Ad esempio, voglio impostare qualcosa di simile a quello che hai pubblicato su Twitter , dove non è una griglia quadrata. C'è della documentazione a cui potresti riferirmi?
Isxek,

2

Mi è venuta in mente la seguente implementazione. Lo uso per progetti di sviluppo web. Console per task runner (es: gulp), git, compilatori javascript (es: dattiloscritto), ecc. L'obiettivo era aprire 4 finestre della console e cambiare directory nella directory in cui ho eseguito * .cmd. Non volevo avere più copie dello script batch in caso dovessi cambiarlo. Non volevo che la shell fosse batch e volevo che la shell fosse bash. Sono su Windows, quindi, Cygwin è necessario per Bash Shell.

Ho creato un file .cmd di nome arbitrario. Ho chiamato il mio 4 consoles.cmd. Cygwin è installato (la versione a 64 bit nel mio caso). Anche il cherepacchetto Cygwin è installato e richiesto.

4 consoles.cmd soddisfare:

@echo off

for %%i in ("%~dp0..\..") DO (set dirVar=%%~ni)
for %%i in ("%~dp0.") DO (set dir2Var=%%~ni)

set finalValue=%dirVar% %dir2Var%

start C:\"Program Files"\ConEmu\ConEmu64.exe -cmdlist ^
C:\cygwin64\bin\bash -c "/bin/xhere /bin/bash.exe" -cur_console:fna:t:"%finalValue%":C:"C:\cygwin64\Cygwin.ico" ^|^|^| ^
C:\cygwin64\bin\bash -c "/bin/xhere /bin/bash.exe" -cur_console:s1TVna:t:"%finalValue%":C:"C:\cygwin64\Cygwin.ico" ^|^|^| ^
C:\cygwin64\bin\bash -c "/bin/xhere /bin/bash.exe" -cur_console:s1THna:t:"%finalValue%":C:"C:\cygwin64\Cygwin.ico" ^|^|^| ^
C:\cygwin64\bin\bash -c "/bin/xhere /bin/bash.exe" -cur_console:s2THna:t:"%finalValue%":C:"C:\cygwin64\Cygwin.ico"

Ho inserito 4 consoles.cmdun servizio di file hosting a scopo di backup in caso di crash del mio disco rigido. Anche per una certa comodità durante la condivisione tra macchine di sviluppo.

Lo script batch cambierà la directory per tutte e 4 le finestre della console nella directory in cui esiste .cmd. Così ho creato i collegamenti Hard Symbolic nella directory in cui desidero che tutte e 4 le finestre della console cambino directory. I collegamenti simbolici rimandano al canonico 4 consoles.cmd.

Esegui un collegamento simbolico e le 4 directory di lavoro delle shell della console saranno la posizione in cui si trova il collegamento simbolico nel file system

Il mio codice runner di gulp per chiunque sia interessato

package.json

{
  "name": "MyApp",
  "version": "1.0.0",
  "description": "",
  "main": "gulpfile.js",
  "private": true,
  "devDependencies": {
    "del": "^1.2.0",
    "gulp": "^3.9.0",
    "gulp-batch": "^1.0.5",
    "gulp-concat": "^2.5.2",
    "gulp-imagemin": "^2.2.1",
    "gulp-minify-css": "^1.1.6",
    "gulp-ng-annotate": "^1.0.0",
    "gulp-plumber": "^1.0.1",
    "gulp-rename": "^1.2.2",
    "gulp-sourcemaps": "^1.5.2",
    "gulp-uglify": "^1.2.0",
    "gulp-watch": "^4.2.4",
    "imagemin-pngquant": "^4.1.0"
  },
  "author": "Author",
  "license": "ISC"
}

bower.json

{
  "name": "MyProject",
  "version": "1",
  "license": "MIT",
  "private": true,
  "ignore": [
    "**/.*",
    "node_modules",
    "bower_components"
  ],
  "dependencies": {
    "bootstrap": "~3.3.4",
    "jquery": "~2.1.3",
    "angular": "~1.4.0",
    "angular-route": "~1.4.0",
    "angular-animate": "~1.4.0",
    "font-awesome": "~4.3.0",
    "underscore": "~1.8.3",
    "bootstrap-datepicker": "~1.4.0",
    "angularjs-toaster": "~0.4.12",
    "angular-scroll": "~0.7.0",
    "moment": "~2.10.2",
    "angular-loading-bar": "~0.7.1"
  }
}

gulpfile.js

'use strict';

var gulp = require('gulp');
var batch = require('gulp-batch');
var sourcemaps = require('gulp-sourcemaps');
var minifycss = require('gulp-minify-css');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var concat = require('gulp-concat');
var del = require('del');
var plumber = require('gulp-plumber');
var watch = require('gulp-watch');
var imagemin = require('gulp-imagemin');
var pngquant = require('imagemin-pngquant');
var ngAnnotate = require('gulp-ng-annotate');

gulp.task('default', ['clean'], function () {
    gulp.start('images', 'vendorCss', 'applicationCss', 'fontIcons', 'vendorJavascript', 'applicationJavascript');
});

gulp.task('clean', function (cb) {
    del(['./dist/*'], cb);
});

gulp.task('images', function () {
    return gulp.src([
            './content/img/**/*'
    ])
        .pipe(imagemin({
            optimizationLevel: 3,
            progressive: true,
            interlaced: true,
            svgoPlugins: [{ removeViewBox: false }],
            use: [pngquant()]
        }))
        .pipe(gulp.dest('./dist/img'));
});

gulp.task('fontIcons', function () {
    return gulp.src([
        './bower_components/bootstrap/dist/fonts/**.*',
        './bower_components/font-awesome/fonts/**.*'
    ])
        .pipe(gulp.dest('./dist/fonts'));

});

gulp.task('vendorCss', function () {
    return gulp.src([
        './bower_components/bootstrap/dist/css/bootstrap.css',
        './bower_components/font-awesome/css/font-awesome.css',
        './bower_components/angularjs-toaster/toaster.css',
        './bower_components/bootstrap-datepicker/dist/css/bootstrap-datepicker3.css',
        './bower_components/angular-loading-bar/build/loading-bar.css'
    ])
        .pipe(concat('vendor.css'))
        .pipe(gulp.dest('./dist/css'))
        .pipe(rename({ suffix: '.min' }))
        .pipe(minifycss())
        .pipe(gulp.dest('./dist/css'));
});

gulp.task('vendorJavascript', function () {
    return gulp.src([
            './bower_components/jquery/dist/jquery.js',
            './bower_components/angular/angular.js',
            './bower_components/angular-route/angular-route.js',
            './bower_components/angular-resource/angular-resource.js',
            './bower_components/angular-animate/angular-animate.js',
            './bower_components/angular-scroll/angular-scroll.js',
            './bower_components/angular-loading-bar/build/loading-bar.js',
            './bower_components/angularjs-toaster/toaster.js',
            './bower_components/bootstrap/dist/js/bootstrap.js',
            './bower_components/bootstrap-datepicker/dist/js/bootstrap-datepicker.js',
            './bower_components/underscore/underscore.js',
            './bower_components/moment/moment.js'
    ])
        .pipe(sourcemaps.init())
        .pipe(concat('vendor.js'))
        .pipe(gulp.dest('./dist/script'))
        .pipe(uglify())
        .pipe(rename('vendor.min.js'))
        .pipe(sourcemaps.write('.'))
        .pipe(gulp.dest('./dist/script'));
});

gulp.task('applicationCss', function () {
    return gulp.src([
            './content/css/site.css',
            './content/css/animation.css'
    ])
        .pipe(plumber())
        .pipe(concat('app.css'))
        .pipe(gulp.dest('./dist/css'))
        .pipe(rename({ suffix: '.min' }))
        .pipe(minifycss())
        .pipe(gulp.dest('./dist/css'));
});

gulp.task('applicationJavascript', function () {
    return gulp.src([
            './angular/**/*.js'
    ])
        .pipe(plumber())
        .pipe(ngAnnotate())
        .pipe(sourcemaps.init())
        .pipe(concat('app.js'))
        .pipe(gulp.dest('./dist/script'))
        .pipe(uglify())
        .pipe(rename('app.min.js'))
        .pipe(sourcemaps.write('.'))
        .pipe(gulp.dest('./dist/script'));

});

gulp.task('watchApplicationJavascript', ['applicationJavascript'], function () {
    watch('./angular/**/*.js', batch(function (events, done) {
        gulp.start('applicationJavascript', done);
    }));
});

gulp.task('watchApplicationCss', ['applicationCss'], function () {
    watch(['./content/css/site.css', './content/css/animation.css'], batch(function (events, done) {
        gulp.start('applicationCss', done);
    }));
});
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.