Faça as teclas Home, End e Delete funcionarem no seu FreeBSD

Talvez alguns se perguntam porque algumas teclas que usamos com certa frequência enquanto utilizando nossos sistemas UNIX-Like de preferência não funcionam, como é o caso de Home, Delete e End.

Este tutorial irá explicar-lhe como habilitar as teclas Home, End e Delete no terminal ssh do FreeBSD. Esta configuração não se aplica para distribuições Linux e de todos os outros que eu vi estas teclas funcionando por padrão.

O ambiente padrão para FreeBSD é CSH. Você irá precisar abrir o arquivo ~/.cshrc localizado no seu diretório home.

Isto deve estar assim:

# $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).
#

# 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

Você precisa adicionar algumas linhas nesta condição if. Abra este arquivo com seu editor favorito e após as linhas bindkey adicione as linhas abaixo. Para aplicar o que você fez, rode este comando:

[localhost]# source ~/.cshrc

bindkey “\e[1~” beginning-of-line # Home
bindkey “\e[7~” beginning-of-line # Home rxvt
bindkey “\e[2~” overwrite-mode # Ins
bindkey “\e[3~” delete-char # Delete
bindkey “\e[4~” end-of-line # End
bindkey “\e[8~” end-of-line # End rxvt

Fonte Original: http://onlinehowto.net/Tutorials/SSH/Make-Home-End-and-Delete-keys-work-on-FreeBSD/647/1

——————————————-
Outro exemplo do arquivo .cshrq

CUIDADO COM AS ASPAS AO COLAR E COPIAR. TUDO É ASPAS DUPLA. TLZ SEJA NECESSÁRIO EDITAR TUDO!
——————————————-

alias h history 25
alias j jobs -l
alias la ls -a
alias lf ls -FA
alias ll ls -lA
alias ls ls -GFC
alias cp cp -v
alias mv mv -v
alias rm rm -v
alias mc mc -c
alias tmess tail -F /var/log/messages
alias tmail tail -F /var/log/maillog
alias mkdir mkdir -v
alias less less -i

alias conn /nfs/interna/conn/conn
alias connfind “cat /nfs/interna/conn/.connhosts |grep –color -i “\”\!{\*}\”””

# Habilita o atalho history search back
bindkey “^P” history-search-backward

# Habilita a tecla delete no terminal
bindkey “\e[3~” delete-char

alias nload “nload -m”

# A righteous umask
umask 22

set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin \
/usr/local/bin /usr/X11R6/bin /usr/local/pgsql/bin \
/var/qmail/bin /usr/local/vpopmail/bin /usr/local/vmailmgr/bin \
$HOME/bin)

# Mostra todas as possibilidades na completacao (TAB TAB)
set autolist

# Sai do sistema apos o tempo em minutos indicado
#set autologout = 50

# Caso seja digitado errado um comando, a shell indica o correto
#set correct = all

# Muda o estilo do echo para sysv, isto faz com que ele aceite (> echo “\033[1;32;40m OK”)
set echo_style = sysv

# Exibe: Use “logout” to logout. quando pressionado ^d
#set ignoreeof

# Da beep somente quando nao existe completacao (TAB TAB)
set matchbeep = nomatch

# Avisa se o arquivo existe quando usado (> echo teste > teste.txt)
#set noclobber

# Mostra o status de saida em programas interativos
set printexitvalue

# Pergunta antes de executar um rm *
set rmstar

# Quando sair em um link simbolico para diretorio, volta para o diretorio onde esta o link
set symlinks = ignore

# Mostra os usuarios logados no sistema (Padrao 10 minutos)
set watch = (1 any any)

set coredumpsize = 0

# Cores do ls iguais ao Linux
setenv LSCOLORS ExGxFxfxCxDaDaabagacad

setenv EDITOR ee
setenv PAGER less
setenv BLOCKSIZE K

if ($?prompt) then
set prompt = “(%B%n@%m%b)~# ”
#set prompt = “[(%B%n%b@%m) (%l) (%d %D/%W/%Y %p) (%~)]\n%# ”
set filec
set history = 800
set savehist = 800
set mail = (/var/mail/$USER)
if ( $?tcsh ) then
bindkey “^W” backward-delete-word
#bindkey “^?” delete-char
bindkey “\e[3~” delete-char
bindkey -k up history-search-backward
bindkey -k down history-search-forward
endif
endif

if ($TERM == xterm) then
setenv TERM xterm-color
endif

foreach iface (`ifconfig -l`)
alias rate-${iface} “/usr/local/bin/rate -i ${iface} -n -wc -Ab -a 10 -lc \!* -O”
alias rate-${iface}-proto “/usr/local/bin/rate -i ${iface} -n -wc -T -p 10 -O”
alias rate-${iface}-stream “/usr/local/bin/rate -i ${iface} -n -wc -T -s 10 -O”
alias rate-${iface}-nodes “/usr/local/bin/rate -i ${iface} -n -wc -T -n 10 -O”
end

Deixe um comentário