Latest post of the previous page:
Да подменял всё гуд, но шаманство без расширения неработает.запуск Far из Cygwin
- cmd.exe
- Posts: 375
- Joined: Fri 16 Apr, 2010 18:26
- Location: Нижний Новгород
- Has thanked: 180 times
- Been thanked: 9 times
- Contact:
запуск Far из Cygwin
I've been using Vim for about 2 years now, mostly because I can't figure out how to exit it. (c) I Am Devloper
I know nothing except the fact of my ignorance. (с) Socrates
I know nothing except the fact of my ignorance. (с) Socrates
запуск Far из Cygwin
честно говоря трудно понять последние ответы
давайте я опишу все как есть.
у меня стоит сигвин. Далее я запускаю Tmux.
Далее запускаю одну программу (мне сигвин нужен только чтобы работать в этой консольной программе).
Иногда приходится переходить в разные директории, как вы знаете, неудобно копировать путь из проводника виндоус в сигвин.
Для того, чтобы мне переходить по папкам я думал использовать Far (копирую путь в фаре и вставляю в другое окно сигвин).
У меня получалось так делать в миднайт коммандере, однако, я там случайно что-то нажал, и я потерял возможность копирования пути из миднайт коммандера (до этого я мышью выделял путь и вставлял в сигвин).
таким образом, мне желательно какой нибудь проводник, чтобы я мог нормально копировать путь, ну и простые операции выполнять (удаление, копирование папок например)
давайте я опишу все как есть.
у меня стоит сигвин. Далее я запускаю Tmux.
Далее запускаю одну программу (мне сигвин нужен только чтобы работать в этой консольной программе).
Иногда приходится переходить в разные директории, как вы знаете, неудобно копировать путь из проводника виндоус в сигвин.
Для того, чтобы мне переходить по папкам я думал использовать Far (копирую путь в фаре и вставляю в другое окно сигвин).
У меня получалось так делать в миднайт коммандере, однако, я там случайно что-то нажал, и я потерял возможность копирования пути из миднайт коммандера (до этого я мышью выделял путь и вставлял в сигвин).
таким образом, мне желательно какой нибудь проводник, чтобы я мог нормально копировать путь, ну и простые операции выполнять (удаление, копирование папок например)
запуск Far из Cygwin
С шифтом в MC мышка не работает? Попробуйте удалить файл конфигурации MC. ~/.config/mc/ini
запуск Far из Cygwin
с шифтом работает оказывается, я не знал
спасибо большое!
с шифтом можно копировать и вставить
а найти файл который Вы мне сказали у меня не получается
спасибо большое!
с шифтом можно копировать и вставить
а найти файл который Вы мне сказали у меня не получается
-
- Posts: 166
- Joined: Tue 16 Feb, 2010 17:55
- Has thanked: 11 times
- Been thanked: 8 times
запуск Far из Cygwin
У меня в C:\cygwin\bin все команды .exe-шные. Файлы без расширения это symlink-и на .exe-шники. Так было с тех пор, как юзаю сигвин - лет 8 уже, и так сейчас устанавливает пакеты Cygwin Setup. Всегда у меня команды сигвина спокойно запускались из Far, cmd, bash, откуда угодно, просто при наличии C:\cygwin\bin в PATH.
-
- Posts: 166
- Joined: Tue 16 Feb, 2010 17:55
- Has thanked: 11 times
- Been thanked: 8 times
запуск Far из Cygwin
А в чём именно проблема вставлять путь из Фар-а в cygwin? Cygwin поддерживает как юниксовые пути (/cygdrive/c/path/to/file.txt), так и виндовские (C:/path/to/file.txt, C:\path\to\file.txt) - если использовать обратные слэши, в bash-е их надо или удваивать (вместо \ писать \\), что не очень удобно, либо брать весь путь в одинарные кавычки, например: ls 'C:\path\to\file.txt'
Есть ещё в сигвине команда cygpath, конвертирует пути между всеми форматами: cygpath 'C:\path\to\file.txt' выдаст /cygdrive/c/path/to/file.txt, а ` cygpath -w` - в обратную сторону. С опцией `-a` выдает абсолютные пути. Если есть нужда часто запускать из сигвина какую-то виндовскую прогу, или наоборот, разумно написать небольшой wrapper, которые конвертит аргументы-пути в нужный формат. К примеру, запускаю я из сигвина notepad2 через небольшой свой скрипт, даю ему имя файла хоть в виндовом, хоть в юниксовом формате. Notepad2 открывает без проблем файл, т.к. мой скрипт уже перевёл путь в виндовский формат, плюс он запускается в фоне, не блокируя bash. Вот ссылка на мой скрипт, он вполне универсальный, опции такие же, как у cygpath-а, плюс ещё парочка https://gist.github.com/gene-pavlovsky/ ... 296ff3dd15
А вот как notepad2 запускаю - добавил в ~/.bashrc строчку: alias np='cygrun -b -w notepad'
И запуск, к примеру: np /var/log/setup.log
Может что пригодится из вышесказанного.
Есть ещё в сигвине команда cygpath, конвертирует пути между всеми форматами: cygpath 'C:\path\to\file.txt' выдаст /cygdrive/c/path/to/file.txt, а ` cygpath -w` - в обратную сторону. С опцией `-a` выдает абсолютные пути. Если есть нужда часто запускать из сигвина какую-то виндовскую прогу, или наоборот, разумно написать небольшой wrapper, которые конвертит аргументы-пути в нужный формат. К примеру, запускаю я из сигвина notepad2 через небольшой свой скрипт, даю ему имя файла хоть в виндовом, хоть в юниксовом формате. Notepad2 открывает без проблем файл, т.к. мой скрипт уже перевёл путь в виндовский формат, плюс он запускается в фоне, не блокируя bash. Вот ссылка на мой скрипт, он вполне универсальный, опции такие же, как у cygpath-а, плюс ещё парочка https://gist.github.com/gene-pavlovsky/ ... 296ff3dd15
А вот как notepad2 запускаю - добавил в ~/.bashrc строчку: alias np='cygrun -b -w notepad'
И запуск, к примеру: np /var/log/setup.log
Может что пригодится из вышесказанного.
-
- Posts: 166
- Joined: Tue 16 Feb, 2010 17:55
- Has thanked: 11 times
- Been thanked: 8 times
запуск Far из Cygwin
А вообще вот тут до чего дошли http://forum.farmanager.com/viewtopic.p ... 11#p137311
Надо поставить winpty, далее фар из сигвина запускается с помощью winpty far или winpty '/cygdrive/c/Program Files/Far3/far.exe'
Надо поставить winpty, далее фар из сигвина запускается с помощью winpty far или winpty '/cygdrive/c/Program Files/Far3/far.exe'
-
- Posts: 166
- Joined: Tue 16 Feb, 2010 17:55
- Has thanked: 11 times
- Been thanked: 8 times
запуск Far из Cygwin
Спасибо за наводку на ComSpec! Озадачился этим вопросом. Завёл новую тему тут: http://forum.farmanager.com/viewtopic.p ... 18#p137318Smitis wrote:А если подменить шеллset comspec=c:\cygwin\bin\bash
? Спрашиваю чисто из академического интереса. Может кто уже пробовал.
-
- Posts: 166
- Joined: Tue 16 Feb, 2010 17:55
- Has thanked: 11 times
- Been thanked: 8 times
запуск Far из Cygwin
Про comspec=bash добился немалых успехов http://forum.farmanager.com/viewtopic.p ... 82#p137582
Сам теперь только этим и пользуюсь, в целом удобно-полезно.
Если юзать cmd как шелл, то запуск скриптов (скажем .sh) без указывания расширения возможен. Во-первых, надо .sh добавить в переменную среды PathExt. Во вторых, надо связать тип файла .sh с выполнением через bash - http://stackoverflow.com/questions/1050 ... win#106325
Опции `-li` я считаю совершенно лишними и неправильным, не знаю, что там у них без этих опций не работало, у меня работает.
Сам теперь только этим и пользуюсь, в целом удобно-полезно.
Если юзать cmd как шелл, то запуск скриптов (скажем .sh) без указывания расширения возможен. Во-первых, надо .sh добавить в переменную среды PathExt. Во вторых, надо связать тип файла .sh с выполнением через bash - http://stackoverflow.com/questions/1050 ... win#106325
Опции `-li` я считаю совершенно лишними и неправильным, не знаю, что там у них без этих опций не работало, у меня работает.
-
- Posts: 1596
- Joined: Fri 18 Mar, 2005 12:51
- Location: Питер
- Has thanked: 18 times
- Been thanked: 38 times
запуск Far из Cygwin
Было бы интересней, связать с bash запуск скриптов без расширений, которых полно в bin. Хотя это и решается обходным путём созданием копий скриптов с расширением sh.gene.pavlovsky wrote:Если юзать cmd как шелл, то запуск скриптов (скажем .sh) без указывания расширения возможен. Во-первых, надо .sh добавить в переменную среды PathExt. Во вторых, надо связать тип файла .sh с выполнением через bash
П.С.
А переменная PATHEXT в Винде какая-то, я бы сказал, несуразная, в связи с тем, что ассоциации с расширениями всё равно глобальные и только через реестр.
Разум когда-нибудь победит.
- DrKnS
- Posts: 5437
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 6 times
- Been thanked: 254 times
запуск Far из Cygwin
PATHEXT определяет, какие расширения пытаться подставлять, если пользователь ввёл в интерпретаторе только имя, а не что считать исполняемыми файлами в принципе.
-
- Posts: 166
- Joined: Tue 16 Feb, 2010 17:55
- Has thanked: 11 times
- Been thanked: 8 times
запуск Far из Cygwin
А разве возможно связать с программой исполнение файла без расширения? Если б это было возможно, я думаю в Cygwin User Guide об этом непременно бы сказали. Было бы удобно сделать в винде поддержку UNIX shebang `#!/path/to/interpreter`.Smitis wrote:Было бы интересней, связать с bash запуск скриптов без расширений, которых полно в bin. Хотя это и решается обходным путём созданием копий скриптов с расширением sh.
В cygwin/bin скриптов не так уж и много, и лично мне надобятся только zcat, gunzip, для которых я сделал symlink-и.
Свои скрипты я храню в отдельной директории, файлы я создаю с расширением .sh (при наличии .sh в PathExt юзабельны без расширения в cmd/far), и вот такой есть небольшой скрипт, который создаёт симлинки уже без расширения в /usr/local/bin, чтоб вызывать эти скрипты без расширения в cygwin-е.
Code: Select all
#!/bin/sh
install_path=/usr/local/bin
test "$1" = '-f' -o "$1" = '--force' && force=1
cd "$(dirname "$0")/.."
dir="$(cygpath -aU .)"
dir=${dir%/}
shopt -s nullglob
for ext in sh awk sed js; do
for i in *.$ext; do
test -f "$i" || continue
i=${i%.$ext}
test -z "$force" -a -f "$install_path/$i" && continue
ln -sfv "$dir/$i.$ext" "$install_path/$i"
done
done
-
- Posts: 1596
- Joined: Fri 18 Mar, 2005 12:51
- Location: Питер
- Has thanked: 18 times
- Been thanked: 38 times
запуск Far из Cygwin
Я в курсе. Но зачем было делать это переменной среды? Переменная среды подразумевает, что её можно поменять для текущего процесса. Например, добавить .sh. Но добавление таким образом ничего не изменит, надо добавлять ассоциацию в реестр, а это уже глобальная настройка, действующая для всех процессов.DrKnS wrote:Smitis wrote:PATHEXT определяет, какие расширения пытаться подставлять, если пользователь ввёл в интерпретаторе только имя, а не что считать исполняемыми файлами в принципе.
К сожалению, нет. Это былы мечты...gene.pavlovsky wrote:А разве возможно связать с программой исполнение файла без расширения? Если б это было возможно, я думаю в Cygwin User Guide об этом непременно бы сказали. Было бы удобно сделать в винде поддержку UNIX shebang `#!/path/to/interpreter`.
Разум когда-нибудь победит.
-
- Posts: 1596
- Joined: Fri 18 Mar, 2005 12:51
- Location: Питер
- Has thanked: 18 times
- Been thanked: 38 times
запуск Far из Cygwin
Не, в Досе этой переменной ещё не было, даже в 9x не было, появилась в NT, когда реестр уже был.DrKnS wrote:Легаси же. Какой в досе реестр, какие процессы, всё в autoexec.bat.
Разум когда-нибудь победит.