[FUG-BR] CSH Shell Auto Complete

Marcelo Gondim gondim em bsdinfo.com.br
Segunda Outubro 31 09:03:29 BRST 2011


Em 30/10/2011 21:42, Carlos Eduardo G. Carvalho (Cartola) escreveu:
> Oi, veja se não tem o tcsh para instalar no NetBSD, pois no FreeBSD o csh é
> na verdade o tcsh disfarçado. É como o vi no Linux, que é o vim disfarçado.
> O vi original é toscão (sem preconceitos, gosto muito). O tcsh é o csh
> "turbinado", mal comparando com o bash, que seria o sh "turbinado".

É eu não largo o bash desde que me conheço como gente uso o bash 
rsrsrsrsr Gosto tanto do bash
que toda vez que instalo um FreeBSD rodo esse script que fiz;

1) Atualiza o ports.
2) Instala o bash.
3) Muda o shell do root pra bash.
4) Coloca um prompt amigável sem muita firula.
5) Seta uns alias para não deixar acontecer um cp, rm ou mv acidental 
rsrsrs e cria um alias "l" bem legal que já mostra arquivos diretórios 
ocultos e chflags.
6) Instala o vim e deixa o vi como vim no alias.
7) Faz funcionar algumas teclas como home, end e delete no prompt.

Para quem tiver o mesmo gosto cá está o script. Melhorias são sempre bem 
vindas:

#!/bin/sh
# MyFreeHome 1.2: Configura ambiente amigavel no FreeBSD
# ======================================================
# Data: 20/09/2011
# Hora: 23:59
# Local: Curso SSA - FreeBSD Brasil Setembro de 2011
# Baseado no documento: 
http://www.cyberciti.biz/faq/freebsd-install-vim-editor-without-x11-gui/
################################################################################################
clear
echo "=== MyFreeHome 1.1 ==="
echo
echo "Atualizando Ports..."
echo
portsnap fetch update
echo
echo "Instalando BASH uhuhuhu!!!"
echo
cd /usr/ports/shells/bash
make install clean distclean
echo
echo "Mudando shell do root para bash..."
pw usermod root -s /usr/local/bin/bash
echo
echo "Instalando novo prompt e aliases..."
echo "if [ \`/usr/bin/whoami\` = 'root' ]" >> /root/.profile
echo "   then" >> /root/.profile
echo "        
PS1='\[\033[36m\](\[\033[01;31m\]\u\[\033[01;37m\]@\h\[\033[00m\]\[\033[36m\])\[\033[00m\]\[\033[36m\][\[\033[01;37m\]\w\[\033[00m\]\[\033[36m\]]\[\033[01;37m\]\[\033[36m\]\\$ 
\[\033[00m\]'" >> /root/.profile
echo "   else" >> /root/.profile
echo "          
PS1='\[\033[36m\](\[\033[32;33;1m\]\u\[\033[01;37m\]@\h\[\033[00m\]\[\033[36m\])\[\033[00m\]\[\033[36m\][\[\033[01;37m\]\w\[\033[00m\]\[\033[36m\]]\[\033[01;37m\]\[\033[36m\]\\$ 
\[\033[00m\]'" >> /root/.profile
echo "fi" >> /root/.profile
echo "" >> /root/.profile
echo 'alias l="ls -laAGo"' >> /root/.profile
echo 'alias rm="rm -i"' >> /root/.profile
echo 'alias mv="mv -i"' >> /root/.profile
echo 'alias cp="cp -i"' >> /root/.profile
echo 'alias vi="vim"' >> /root/.profile
echo
echo "Instalando VIM sem suporte a X11..."
cd /usr/ports/editors/vim
make WITHOUT_X11=yes install clean distclean
cp /usr/local/share/vim/vim73/vimrc_example.vim /usr/local/share/vimrc
touch /root/.vimrc
echo "set nocompatible" >> /root/.vimrc
echo "filetype on" >> /root/.vimrc
echo "filetype plugin on" >> /root/.vimrc
echo "set laststatus=2" >> /root/.vimrc
echo "syntax on" >> /root/.vimrc
echo
echo "Criando melhorias no sistema..."
echo
echo "export INPUTRC=/usr/local/etc/inputrc" >> /etc/profile
echo "set meta-flag on" >> /usr/local/etc/inputrc
echo "set input-meta on" >> /usr/local/etc/inputrc
echo "set convert-meta off" >> /usr/local/etc/inputrc
echo "set output-meta on" >> /usr/local/etc/inputrc
echo "" >> /usr/local/etc/inputrc
echo '"\e[1~": beginning-of-line' >> /usr/local/etc/inputrc
echo '"\e[4~": end-of-line' >> /usr/local/etc/inputrc
echo '"\e[5~": beginning-of-history' >> /usr/local/etc/inputrc
echo '"\e[6~": end-of-history' >> /usr/local/etc/inputrc
echo '"\e[3~": delete-char' >> /usr/local/etc/inputrc
echo '"\e[2~": quoted-insert' >> /usr/local/etc/inputrc
echo '"\e[5C": forward-word' >> /usr/local/etc/inputrc
echo '"\e[5D": backward-word' >> /usr/local/etc/inputrc
echo
echo " Fim de instalacao! Favor relogar e bom uso!"
echo

>
> Abs,
>
> Carlos E G Carvalho (Cartola)
> http://cartola.org/360
>
>
>
> Em 30 de outubro de 2011 21:29, Airton Arantes
> <airton.arantes em gmail.com>escreveu:
>
>> Pessoal, eu sempre uso o shell padrão do FreeBSD (csh), quando eu quero o
>> "auto complete" para nome de arquivos, eu simplesmente faço um:
>>
>> # set autolist
>>
>> Com isso eu posso ter meu auto complete para nomes de arquivos. Bem, agora
>> eu instalei um NetBSD com um shell padrão diferente(csh) do recomendado
>> pelo NetBSD(ksh). Meu problema está sendo que eu não consigo fazer o
>> autocomplete na linha de comando usando o csh, mas só usando o ksh. Vou
>> mostrar abaixo como está sendo o comportamento do csh no NetBSD;
>>
>>
>> Digamos que eu queira dar um comando "reboot" , então vou lá e digito:
>>
>> # reboo[TAB]
>>
>> Ele não completa o comando, ele simplesmente entra com um TAB normal como
>> se o cursor estivesse dentro de um arquivo texto, por que isso acontece?
>> Pelo que andei lendo, eu deveria configurar algumas variáveis de ambiente,
>> como o EDITOR por exemplo. Se eu configuro o EDITOR dessa forma:
>>
>> # set EDITOR=vi
>>
>> Eu consigo apenas o autocomplete para nomes de arquivos, e mesmo assim
>> pressionando a tecla ESC e não a tecla TAB. Alguém aí pode dar uma ajuda?
>>
>> --
>> Airton Arantes Coelho Filho
>> -------------------------
>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>



Mais detalhes sobre a lista de discussão freebsd