Conemu: Bir konsolda birkaç konsol penceresini görev dosyasından nasıl yapabilirim?


29

Görev dosyasından bir konsolda birkaç konsol penceresi nasıl yapılır? Bir sekmede 2 × 2 konsoldan oluşan bir ızgara yapmak istiyorum. Yeni konsollar oluştururken el ile yapabilir ve "Sağa" veya "Aşağıya" seçeneklerini seçebilirsiniz. Ancak başlangıçta otomatik olarak oluşturulmasını istiyorum. "Otomatik kaydetme / geri yükleme görevlerini açma" seçeneği bazı nedenlerden dolayı devre dışıdır. Yani tek yol onu görevde yaratmak. Peki, görevde nasıl 2 x 2 ızgara oluşturabilirim?

Yanıtlar:


44

Bu sizin görev içeriğinizdir. ConEmu 120909'da kontrol edildi.

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

Bu bir örnektir. ConEmu'da bölmek istediğiniz kadar karmaşık olabilir, herhangi bir orandaki herhangi bir konfigürasyon mümkündür. Ve anahtarlar hakkında daha fazla bilgi için proje wiki'sini okuyun .-new_console-cur_console

Bunları yeni Görev oluşturmadan çalıştırmak için

Orada /cmdlist ConEmu.exe's anahtarı.

Kısayol içerikleri için kullanım örneği (örneğin masaüstünde):

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

Bunu başka bir cmd dosyasından çalıştırmanız mı gerekiyor? İşte consoles.cmdörnek:

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

Bana bu komutu nasıl uygulayacağımı söyler misin? Denedim ve elde ettiğim de bu . En son yapıya sahibim.
Şubat'ta arin

Anahtar kelime "Görev" dir. Neden bunu zaten başlatılmış bir kabuktan çalıştırmaya çalışıyorsun? Görevler Ayarla.
Maximus

@Maximus Bunun bir kabuk komutu olduğu izlenimini edindim. Teşekkürler.
04

1
@arin Bunu kabuğundan da kullanabilirsiniz, ancak bunun için -new_console: ... -cur_console yerine
Maximus

@ Maxximus: Bu görev örneğinde pencere boyutu tam olarak nasıl yapılandırılır? Örneğin, Twitter'da yayınladığınız, kare bir ızgara olmadığı gibi bir şey ayarlamak istiyorum . Bana başvurabileceğiniz bazı belgeler var mı?
Isxek

2

Aşağıdaki uygulama ile geldi. Bunu web geliştirme projeleri için kullanıyorum. Görev kaçakçıları (örneğin: gulp), git, javascript derleyicileri (örneğin: typescript), vb. İçin konsollar Amaç 4 konsol penceresi açmak ve * .cmd'yi yürüttüğüm dizine değiştirmekti. Toplu betiğin birden çok kopyasını değiştirmek zorunda kaldığımdan istemedim. Kabuğun toplu olmasını istemedim ve kabuğun sert olmasını istedim. Ben camdayım, bu yüzden, bash kabuğu için cygwin gerekli.

Keyfi olarak adlandırılmış .cmd dosyası oluşturdum. Benimkini aradım 4 consoles.cmd. Cygwin yüklü (benim durumumda 64bit versiyonu). Ayrıca Cygwin cherepaketi kurulmuş ve gereklidir.

4 consoles.cmd içerik:

@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"

Yedekleme amacıyla 4 consoles.cmdbir dosya barındırma hizmeti koyduğumda sabit diskim çöküyor. Ayrıca geliştirme makineleri arasında paylaşırken biraz rahatlık için.

Toplu komut dosyası 4 konsol penceresinin tümünü de .cmd'nin bulunduğu dizine değiştirir. Böylece , 4 konsol penceresinin de dizini değiştirmesini istediğim dizinde Hard Symbolic linkleri oluşturdum . Sembolik bağlar kanoniklere işaret ediyor 4 consoles.cmd.

Sembolik bir link çalıştırdığınızda 4 konsol kabukları çalışma dizinleri sembolik linkin dosya sistemi üzerindeki konumu olacaktır

Benim gulp görev koşucu kodunu ilgilenen herkes için

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);
    }));
});
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.