st (Português)

Status de tradução:
Esse artigo é uma tradução de
st
. Data da última tradução: 2020-06-17. Você pode ajudar a sincronizar a tradução, se houver
alterações
na versão em inglês.
O
st
é uma implementação simples de terminal para
Xorg
do
suckless
. Destina-se a servir como um substituto leve para O
xterm
ou
urxvt
. Atualmente, ele suporta 256 cores, cores verdadeiras, a maioria das seqüências de escape do VT10X, copiar/colar UTF-8, X11, fontes sem serrilhado (usando fontconfig), fontes de fallback, redimensionamento, atalhos via config.h e desenho de linha.
Instalação
Instale
o pacote
st
AUR
ou
st-git
AUR
para a versão de desenvolvimento.
No
Wayland
o st usa Xwayland, se você quiser um terminal semelhante, evitando a verificação da pegada de memória Xwayland
wterm-git
AUR
Configuração
O
st
é configurado através do arquivo
config.h
que é copiado no momento da compilação. Os padrões são armazenados em
config.def.h
que está incluído na fonte. Considere manter seu próprio
config.h
e
PKGBUILD
.
Shell
Para alterar o shell padrão para o
st
, edite esta linha:
static char *shell = "/bin/sh";
Ou iniciar o
st
com o shell desejado como último argumento:
$ st
options
fish
Terminal
Para alterar o tipo de terminal, edite esta linha:
static char *termname = "st-256color";
O
st
irá definir a variável
TERM
com o valor de
termname
.
Fonte
Edite a seguinte linha como preferir:
static char *font = "Liberation Mono:pixelsize=12:antialias=false:autohint=false";
Você também pode passar o valor da fonte na linha de comando:
$ st -f "Liberation Mono:size=12"
$ st -f 'Liberation Mono-12'
Os nomes das fontes podem ser encontrados com
fc-list
.
Cursor
Por padrão, o ponteiro do mouse é
XC_xterm;
o que geralmente pode ser difícil de encontrar. Para alterá-lo para o tema normal do seu cursor, edite o seguinte:
static unsigned int mouseshape = XC_left_ptr;
Cores
Edite as seguintes linhas para definir as cores de primeiro plano, plano de fundo e cursor:
unsigned int defaultfg = 7;
unsigned int defaultbg = 0;
static unsigned int defaultcs = 256;
Os valores referem-se ao
*colorname[]
no arquivo de configuração. Você pode usar as cores padrão ou adicionar as suas
#rrggbb
:
static const char *colorname[] = {
   	/* 8 normal colors */
       "black",
       "red3",
       "green3",
       "yellow3",
       "blue2",
       "magenta3",
       "cyan3",
       "gray90",

       /* 8 bright colors */
       "gray50",
       "red",
       "green",
       "yellow",
       "#5c5cff",
       "magenta",
       "cyan",
       "white",

       [255] = 0,

       /* more colors can be added after 255 to use with DefaultXX */
       "#cccccc",
       "#eeeeee",
       "#111111",
 };

/*
 * Default colors (colorname index)
 * foreground, background, cursor
 */
unsigned int defaultfg = 257;
unsigned int defaultbg = 258;
static unsigned int defaultcs = 256;
Existem ferramentas para facilitar a criação de paletas de cores. Por exemplo
terminal sexy
possui um conjunto de cores pré-fabricadas e exporta diretamente para o formato do
st
(veja
[1]
).
Existe um patch para o esquema de cores Solarized. Veja
https://st.suckless.org/patches/solarized/
para instalá-lo.
Modificações
Existem muitos patches disponíveis no
site da suckless (EN)
. Para aplicar um patch, faça o download do
diff
e aplique-o com
patch -i patch.diff
. Isso altera o arquivo de configuração padrão
config.def.h
; se você estiver mantendo seu próprio
config.h
, copie suas configurações da
config.h
em uma cópia da
config.def.h
e renomeie
config.h
, e então
make clean install
.
Entrada na área de trabalho
Para simplificar o lançamento
st
with a decent font (por exemplo o pacote
adobe-source-code-pro-fonts
) em um
desktop environment
, você também pode criar um
desktop entries
:
~/.local/share/applications/st.desktop
[Desktop Entry]
Name=Simple Terminal
GenericName=Terminal
Comment=Suckless terminal emulator for X
Exec=st -t "Simple Terminal" -f "Source Code Pro:style=Semibold:size=12"
Terminal=false
Type=Application
Encoding=UTF-8
Icon=utilities-terminal
Categories=System;TerminalEmulator;
Keywords=shell;prompt;command;commandline;cmd;
A entrada do menu aparecerá como um
Terminal Simples
na lista de aplicativos e na
Ferramentas do sistema
.
Solução de problemas
Teclado
Adicione o seguinte ao
~/.inputrc
ou
/etc/inputrc
e se o
Delete
não estiver funcionando corretamente em alguns aplicativos:
set enable-keypad on
Se o acima não funcionar com algumas aplicações, como IPython usando bash, em vez disso, desligue
enable-keypad
e adicione o seguinte ao seu
~/.bashrc
, como mencionado no
st FAQ
:
printf '\033[?1h\033=' >/dev/tty
Vim
A cor de fundo do texto em
vim
não preencherá nada que não seja um caracter
Tente definir o valor de
termname
no seu
config.h
para
st-256color
e recompile. E não defina a variável
TERM
no seu shell, pelo menos para não
st-256color
pois isso parece causar um problema.
Outra solução, talvez a melhor, é ter as seguintes linhas no seu arquivo
.vimrc
:
if &term =~ '256color'
    " disable Background Color Erase (BCE) so that color schemes
    " render properly when inside 256-color tmux and GNU screen.
    " see also
https://sunaku.github.io/vim-256color-bce.html
set t_ut=
endif
O suporte 256color e truecolor não funciona no tmux
Primeiro, verifique se você não está definindo e exportando o valor da variável
TERM
no seu
~/.bashrc
como mencionado neste
tópico (EN)
Nota
Por favor, não defina explicitamente a variável
TERM
. Faça o certo, definindo a configurado
default-terminal
no seu
tmux.conf
Segundo, verifique se a versão do
vim
você tem que está usando a versão
>=7.4.1799
, que é quando o
termguicolors
foi adicionado.
Por fim, adicione o seguinte ao
~/.vimrc
:
set t_8f=^[[38;2;%lu;%lu;%lum        " set foreground color
set t_8b=^[[48;2;%lu;%lu;%lum        " set background color
colorscheme Tomorrow-Night-Eighties
set t_Co=256                         " Enable 256 colors
set termguicolors                    " Enable GUI colors for the terminal to get truecolor
Nota
^[
é um escape literale (
Esc
) caractere que prefixa cada um dos valores para
t_8f
e
t_8b
. É um caractere único, que pode ser reproduzido em
vim
. O modo
INSERT
, pressiona
Ctrl+v
e então aperte
Esc
. Você ainda estará no modo
INSERT
; pressione
Esc
novamente para retornar ao modo
NORMAL
.
Dica
Recomenda-se definir os valores para
t_8f
e
t_8b
antes da configuração
colorscheme
,
t_Co
e
termguicolors
.
Para mais informações, consulte o
:help
no
vim
para:
xterm-true-color
,
t_8f
,
t_8b
Veja também
Página inicial (EN)
Perguntas frequentes (EN)
Repositório oficial do GitHub