запуск Far из Cygwin

Столкнулись с проблемой в использовании Far? Здесь можно получить помощь.
User avatar
cmd.exe
Posts: 375
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 180 times
Been thanked: 9 times
Contact:

запуск Far из Cygwin

Post by cmd.exe » Fri 22 Apr, 2016 20:07

Latest post of the previous page:

Да подменял всё гуд, но шаманство без расширения неработает.
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

Kerim
Posts: 9
Joined: Sun 06 Mar, 2016 13:12

запуск Far из Cygwin

Post by Kerim » Fri 22 Apr, 2016 22:26

честно говоря трудно понять последние ответы
давайте я опишу все как есть.
у меня стоит сигвин. Далее я запускаю Tmux.
Далее запускаю одну программу (мне сигвин нужен только чтобы работать в этой консольной программе).
Иногда приходится переходить в разные директории, как вы знаете, неудобно копировать путь из проводника виндоус в сигвин.
Для того, чтобы мне переходить по папкам я думал использовать Far (копирую путь в фаре и вставляю в другое окно сигвин).

У меня получалось так делать в миднайт коммандере, однако, я там случайно что-то нажал, и я потерял возможность копирования пути из миднайт коммандера (до этого я мышью выделял путь и вставлял в сигвин).

таким образом, мне желательно какой нибудь проводник, чтобы я мог нормально копировать путь, ну и простые операции выполнять (удаление, копирование папок например)

Karagy
Posts: 57
Joined: Tue 02 May, 2006 08:43
Location: Питер
Been thanked: 3 times

запуск Far из Cygwin

Post by Karagy » Sat 23 Apr, 2016 01:37

Попробуйте переустановить MC (миднайт коммандер).

Kerim
Posts: 9
Joined: Sun 06 Mar, 2016 13:12

запуск Far из Cygwin

Post by Kerim » Sat 23 Apr, 2016 01:49

пробовал, не помогло

ObSerV
Posts: 53
Joined: Wed 29 Jul, 2009 06:26
Been thanked: 1 time

запуск Far из Cygwin

Post by ObSerV » Sat 23 Apr, 2016 06:20

С шифтом в MC мышка не работает? Попробуйте удалить файл конфигурации MC. ~/.config/mc/ini

Kerim
Posts: 9
Joined: Sun 06 Mar, 2016 13:12

запуск Far из Cygwin

Post by Kerim » Sat 23 Apr, 2016 09:30

с шифтом работает оказывается, я не знал
спасибо большое!
с шифтом можно копировать и вставить
а найти файл который Вы мне сказали у меня не получается

gene.pavlovsky
Posts: 166
Joined: Tue 16 Feb, 2010 17:55
Has thanked: 11 times
Been thanked: 8 times

запуск Far из Cygwin

Post by gene.pavlovsky » Sun 24 Apr, 2016 19:47

У меня в C:\cygwin\bin все команды .exe-шные. Файлы без расширения это symlink-и на .exe-шники. Так было с тех пор, как юзаю сигвин - лет 8 уже, и так сейчас устанавливает пакеты Cygwin Setup. Всегда у меня команды сигвина спокойно запускались из Far, cmd, bash, откуда угодно, просто при наличии C:\cygwin\bin в PATH.

gene.pavlovsky
Posts: 166
Joined: Tue 16 Feb, 2010 17:55
Has thanked: 11 times
Been thanked: 8 times

запуск Far из Cygwin

Post by gene.pavlovsky » Sun 24 Apr, 2016 20:01

А в чём именно проблема вставлять путь из Фар-а в 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

Может что пригодится из вышесказанного.

gene.pavlovsky
Posts: 166
Joined: Tue 16 Feb, 2010 17:55
Has thanked: 11 times
Been thanked: 8 times

запуск Far из Cygwin

Post by gene.pavlovsky » Sun 24 Apr, 2016 20:15

А вообще вот тут до чего дошли http://forum.farmanager.com/viewtopic.p ... 11#p137311
Надо поставить winpty, далее фар из сигвина запускается с помощью winpty far или winpty '/cygdrive/c/Program Files/Far3/far.exe'

gene.pavlovsky
Posts: 166
Joined: Tue 16 Feb, 2010 17:55
Has thanked: 11 times
Been thanked: 8 times

запуск Far из Cygwin

Post by gene.pavlovsky » Mon 25 Apr, 2016 00:10

Smitis wrote:А если подменить шелл set comspec=c:\cygwin\bin\bash? Спрашиваю чисто из академического интереса. Может кто уже пробовал.
Спасибо за наводку на ComSpec! Озадачился этим вопросом. Завёл новую тему тут: http://forum.farmanager.com/viewtopic.p ... 18#p137318

gene.pavlovsky
Posts: 166
Joined: Tue 16 Feb, 2010 17:55
Has thanked: 11 times
Been thanked: 8 times

запуск Far из Cygwin

Post by gene.pavlovsky » Fri 13 May, 2016 22:38

Про comspec=bash добился немалых успехов http://forum.farmanager.com/viewtopic.p ... 82#p137582
Сам теперь только этим и пользуюсь, в целом удобно-полезно.
Если юзать cmd как шелл, то запуск скриптов (скажем .sh) без указывания расширения возможен. Во-первых, надо .sh добавить в переменную среды PathExt. Во вторых, надо связать тип файла .sh с выполнением через bash - http://stackoverflow.com/questions/1050 ... win#106325
Опции `-li` я считаю совершенно лишними и неправильным, не знаю, что там у них без этих опций не работало, у меня работает.

Smitis
Posts: 1596
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 18 times
Been thanked: 38 times

запуск Far из Cygwin

Post by Smitis » Sat 14 May, 2016 14:02

gene.pavlovsky wrote:Если юзать cmd как шелл, то запуск скриптов (скажем .sh) без указывания расширения возможен. Во-первых, надо .sh добавить в переменную среды PathExt. Во вторых, надо связать тип файла .sh с выполнением через bash
Было бы интересней, связать с bash запуск скриптов без расширений, которых полно в bin. Хотя это и решается обходным путём созданием копий скриптов с расширением sh.

П.С.
А переменная PATHEXT в Винде какая-то, я бы сказал, несуразная, в связи с тем, что ассоциации с расширениями всё равно глобальные и только через реестр.
Разум когда-нибудь победит.

User avatar
DrKnS
Posts: 5437
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 6 times
Been thanked: 254 times

запуск Far из Cygwin

Post by DrKnS » Sat 14 May, 2016 14:13

Smitis wrote: переменная PATHEXT в Винде какая-то, я бы сказал, несуразная
PATHEXT определяет, какие расширения пытаться подставлять, если пользователь ввёл в интерпретаторе только имя, а не что считать исполняемыми файлами в принципе.

gene.pavlovsky
Posts: 166
Joined: Tue 16 Feb, 2010 17:55
Has thanked: 11 times
Been thanked: 8 times

запуск Far из Cygwin

Post by gene.pavlovsky » Sat 14 May, 2016 20:14

Smitis wrote:Было бы интересней, связать с bash запуск скриптов без расширений, которых полно в bin. Хотя это и решается обходным путём созданием копий скриптов с расширением sh.
А разве возможно связать с программой исполнение файла без расширения? Если б это было возможно, я думаю в Cygwin User Guide об этом непременно бы сказали. Было бы удобно сделать в винде поддержку UNIX shebang `#!/path/to/interpreter`.

В 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

Smitis
Posts: 1596
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 18 times
Been thanked: 38 times

запуск Far из Cygwin

Post by Smitis » Sat 14 May, 2016 20:47

DrKnS wrote:
Smitis wrote:PATHEXT определяет, какие расширения пытаться подставлять, если пользователь ввёл в интерпретаторе только имя, а не что считать исполняемыми файлами в принципе.
Я в курсе. Но зачем было делать это переменной среды? Переменная среды подразумевает, что её можно поменять для текущего процесса. Например, добавить .sh. Но добавление таким образом ничего не изменит, надо добавлять ассоциацию в реестр, а это уже глобальная настройка, действующая для всех процессов.
gene.pavlovsky wrote:А разве возможно связать с программой исполнение файла без расширения? Если б это было возможно, я думаю в Cygwin User Guide об этом непременно бы сказали. Было бы удобно сделать в винде поддержку UNIX shebang `#!/path/to/interpreter`.
К сожалению, нет. Это былы мечты...
Разум когда-нибудь победит.

User avatar
DrKnS
Posts: 5437
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 6 times
Been thanked: 254 times

запуск Far из Cygwin

Post by DrKnS » Sat 14 May, 2016 22:44

Smitis wrote: Но зачем было делать это переменной среды?
Легаси же. Какой в досе реестр, какие процессы, всё в autoexec.bat.

Smitis
Posts: 1596
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 18 times
Been thanked: 38 times

запуск Far из Cygwin

Post by Smitis » Sun 15 May, 2016 11:42

DrKnS wrote:Легаси же. Какой в досе реестр, какие процессы, всё в autoexec.bat.
Не, в Досе этой переменной ещё не было, даже в 9x не было, появилась в NT, когда реестр уже был.
Разум когда-нибудь победит.

Post Reply

Return to “Нужна помощь”