Страница 1 из 2

Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-04-15 8:23:21
vintovkin
Добрый день.Собственно сабж.фря 7.0 релиз.всё по дефолту, не чё не менял.
курил ман tcsh , не смог перевести до победного

вообще как заюзать автодополнение ?чтод оно работало везде.

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-04-15 8:36:47
hizel
ано и так по умолчнию работает, только не так как по умолчанию в линуксе(bash)
читаем man tcsh внимательно секцию Completion and listing (+)
вот например небольшая выдержка
You can list the possible completions of a word at any time by typing
`^D' to run the delete-char-or-list-or-eof editor command. The shell
lists the possible completions using the ls-F builtin (q.v.) and re-
prints the prompt and unfinished command line, for example:

> ls /usr/l[^D]
lbin/ lib/ local/ lost+found/
> ls /usr/l

If the autolist shell variable is set, the shell lists the remaining
choices (if any) whenever completion fails:

> set autolist
> nm /usr/lib/libt[tab]
libtermcap.a@ libtermlib.a@
> nm /usr/lib/libterm

If autolist is set to `ambiguous', choices are listed only when comple-
tion fails and adds no new characters to the word being completed.
Пы.Сы. сто значит работало везде? :|

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-04-15 8:40:04
Alex Keda

Код: Выделить всё

jabber# more /root/.cshrc | grep autol
        set autolist = TAB
jabber#  

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-04-15 12:33:21
polvo
lissyara писал(а):

Код: Выделить всё

jabber# more /root/.cshrc | grep autol
        set autolist = TAB
jabber#  
сколько лишних телодвижений ;p

Код: Выделить всё

grep autol ~/.cshrc

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-04-15 14:05:42
Гость
еще можно добавить что-то вроде bindkey ^[[Z complete-word-fwd # `shift+tab' для перебора дополнений

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-04-15 14:13:18
jeehadina
а еще можно установить bash

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-04-15 17:59:31
Гость
jeehadina писал(а):а еще можно установить bash
опять это clich?. Можно подумать ничего лучше bash'а не существуе. Тот же zsh умеет его эмулировать с потрохами. Не говоря уже о подсветке синтаксиса как в fish.

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-04-15 18:11:41
jeehadina
Гость писал(а):
jeehadina писал(а):а еще можно установить bash
опять это clich?. Можно подумать ничего лучше bash'а не существуе. Тот же zsh умеет его эмулировать с потрохами. Не говоря уже о подсветке синтаксиса как в fish.
кстати, хотелось бы обсудить достоинства и недостатки разных shell'ов

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-04-15 18:13:43
vintovkin
to hizel

Спасибо конечно про ctrl+D это я знал.)

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-04-15 18:15:38
vintovkin
lissyara писал(а):

Код: Выделить всё

jabber# more /root/.cshrc | grep autol
        set autolist = TAB
jabber#  
ок
нацарапаю эту строчку в конфиге, потом расскажу :P фря на работе осталась

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-04-15 18:16:42
vintovkin
Гость писал(а):еще можно добавить что-то вроде bindkey ^[[Z complete-word-fwd # `shift+tab' для перебора дополнений

где это прописать?
~/.cshrc
и что это даёт?

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-04-15 18:25:57
vintovkin
jeehadina писал(а):а еще можно установить bash

вот как раз поэтому топик запостил, зачем компилять шел zsh или bash когда tcsh обладает таким же функционалом.
дело в том что есть конфиги ~/.zshrc и там TAB работает везде, (он не предлагает варианты а сразу их перебирает по очереди)

вот тут есть под zsh конфиги
http://zsh.sourceforge.net/Contrib/startup/

как добиться этого результата на tcsh

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-04-16 0:29:59
Alex Keda
polvo писал(а): сколько лишних телодвижений ;p
неправда. я его смотрел мором пред этим.
Поэтому мой вариант в конретной ситуации короче - стрелка вверх, труба и греп.
Пару символов я выгадал =)

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-05-01 22:04:26
vintovkin
lissyara писал(а):

Код: Выделить всё

jabber# more /root/.cshrc | grep autol
        set autolist = TAB
jabber#  

Код: Выделить всё

root@bsd:/usr/local/etc/squid# more /root/.cshrc | grep autol
root@bsd:/usr/local/etc/squid#
root@bsd:/usr/local/etc/squid# cat /root/.cshrc
# $FreeBSD: src/etc/root/dot.cshrc,v 1.29 2004/04/01 19:28:00 krion Exp $
#
# .cshrc - csh resource script, read at beginning of execution by each shell
#
# see also csh(1), environ(7).
#

alias h         history 25
alias j         jobs -l
alias la        ls -a
alias lf        ls -FA
alias ll        ls -lA
alias vi        vim
alias ls        ls -FG
# A righteous umask
umask 22

set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin $HOME/bin)

setenv  EDITOR  vi
setenv  PAGER   more
setenv  BLOCKSIZE       K

if ($?prompt) then
        # An interactive shell -- set some stuff up
        set prompt = "`/bin/hostname -s`# "
        set filec
        set history = 100
        set savehist = 100
        set mail = (/var/mail/$USER)
        if ( $?tcsh ) then
                bindkey "^W" backward-delete-word
                bindkey -k up history-search-backward
                bindkey -k down history-search-forward
        endif
endif


set prompt = "%{\e[1;31m%}$USER%{\e[0;33m%}@%{\e[0;37m%}%m%{\e[0;31m%}:%{\e[0;32m%}%~%{\e[1;33m%}#%{\e[0m%} "
root@bsd:/usr/local/etc/squid#

у меня этой штучки,как её прикрутить? :D

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-05-01 22:07:35
Alex Keda
помоему даже по отступам можно догадаться в каком месте...
======
иногда вы меня пугаете =)

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-05-01 22:17:25
vintovkin
lissyara писал(а):помоему даже по отступам можно догадаться в каком месте...
======
иногда вы меня пугаете =)

Код: Выделить всё

root@bsd:/usr/local/etc/squid# cat /root/.cshrc
# $FreeBSD: src/etc/root/dot.cshrc,v 1.29 2004/04/01 19:28:00 krion Exp $
#
# .cshrc - csh resource script, read at beginning of execution by each shell
#
# see also csh(1), environ(7).
#

alias h         history 25
alias j         jobs -l
alias la        ls -a
alias lf        ls -FA
alias ll        ls -lA
alias vi        vim
alias ls        ls -FG
# A righteous umask
umask 22

set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin $HOME/bin)

setenv  EDITOR  vi
setenv  PAGER   more
setenv  BLOCKSIZE       K

if ($?prompt) then
        # An interactive shell -- set some stuff up
        set prompt = "`/bin/hostname -s`# "
        set filec
        set history = 100
        set savehist = 100
        set autolist = TAB
        set mail = (/var/mail/$USER)
        if ( $?tcsh ) then
                bindkey "^W" backward-delete-word
                bindkey -k up history-search-backward
                bindkey -k down history-search-forward
        endif
endif


set prompt = "%{\e[1;31m%}$USER%{\e[0;33m%}@%{\e[0;37m%}%m%{\e[0;31m%}:%{\e[0;32m%}%~%{\e[1;33m%}#%{\e[0m%} "
root@bsd:/usr/local/etc/squid#
прописал эту строчку,правильно так? :D я чайник))))))))))))

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-05-01 22:34:42
Alex Keda
всё же пугаете...
а попробовать?

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-05-01 23:36:15
vintovkin
lissyara писал(а):всё же пугаете...
а попробовать?
оффтоп
я злой и страшный серый волк!!! :D

выводит табом после первых букв команды все которые так начинаются на tr
например трафшоу

Код: Выделить всё

root@bsd:~# tr
tr                trafshow          troff             truncate
traceroute        trafshow-4.0.tgz  trpt              truss
traceroute6       trafshow-5.2.3/   true
root@bsd:~# tr
но я наверное не правильно выражаюсь,постораюсь обьяснить популярно - простым языком :D
1-мне надо чтобы после ввода букв tr и нажатии на tab начались подстановки команд (типа как в bash или zsh)
2- и чтобы эта фишка работала при вводе 2 команды (например man tr<tab> и он начинает подставлять по порядку команды из шелла) :D
3-это реально?
в zsh такое есть.

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-05-02 0:12:26
Alex Keda
1. это изврат. Сидеть долбить сотню раз таб чтобы перебрать команды? Зачем? В текущем варианте он предлагает варианты - т.е. мона ткнуть ещё букву и снова нажать таб. Куда быстрей.
2. не знаю - не озадачивался - да и смысла не вижу - вторая команда пойдёт как аргумент первой...
Но если между командами труба или кавычка - будет работать - шелл поймёт что это уже новая команда
3. непонял

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-05-02 0:52:47
hizel
судя повсему я правильно телепатировал проблему
после второго постав топикстартера
только вот написать забыл ;)

имеется ввиду походу что то типа bash-completion и подобная штука в zsh
если да то нет такой штуки в csh, БСД-ешники слишком для этого суровы

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-05-02 1:19:31
Гость
hizel писал(а):если да то нет такой штуки в csh, БСД-ешники слишком для этого суровы
слишком суровы чтобы читать доку? ;)
у мя для такого
bindkey \\e[Z complete-word-fwd # `btab' typed as `shift+tab'
есть
если поменять клавишу на ^I, то можно будет перебирать по табу или Ctrl+I (что одно и то же).

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-05-02 11:02:49
vintovkin
lissyara писал(а):1. это изврат. Сидеть долбить сотню раз таб чтобы перебрать команды? Зачем? В текущем варианте он предлагает варианты - т.е. мона ткнуть ещё букву и снова нажать таб. Куда быстрей.
2. не знаю - не озадачивался - да и смысла не вижу - вторая команда пойдёт как аргумент первой...
Но если между командами труба или кавычка - будет работать - шелл поймёт что это уже новая команда
3. непонял
+1 как обычно :D
я всё понял ,спасибо большое!

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-05-02 11:09:50
vintovkin
hizel писал(а):судя повсему я правильно телепатировал проблему
после второго постав топикстартера
только вот написать забыл ;)

имеется ввиду походу что то типа bash-completion и подобная штука в zsh
если да то нет такой штуки в csh, БСД-ешники слишком для этого суровы
да,как раз это я и имел ввиду, жалко что нет, а почему её не могут прикруть к шелу?
но в csh есть другая хорошая штучка - после ввода v стрелочкой вверх на чинает перебирать все команды
котрые начинались с этой буквы, у меня в основ ном это vim конфиги редактировать можно очень быстро.

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-05-02 11:32:56
vintovkin
Гость писал(а):
hizel писал(а):если да то нет такой штуки в csh, БСД-ешники слишком для этого суровы
слишком суровы чтобы читать доку? ;)
у мя для такого
bindkey \\e[Z complete-word-fwd # `btab' typed as `shift+tab'
есть
если поменять клавишу на ^I, то можно будет перебирать по табу или Ctrl+I (что одно и то же).
прописал эту строчку , ребутнул шелл, но ни чего не изменилось.

Re: Как настроить автодополнение в tcsh на фре?

Добавлено: 2008-05-02 13:02:32
быдло-гость
@vintovkin,
опять патакаешь своей дурной привычке и не прочел комментарий? Там дано для shift+tab (он же backtab), чтобы было просто tab надо добавить ^I, т.е. bindkey ^I complete-word-fwd и перезагружать комп не обязательно, достаточно сделать source /etc/csh.cshrc (или что там у тебя).

после чего пишешь часть команды и жмякаешь по tab. Должно сразу дополниться до ближайшей по алфавиту.