Estou procurando sugestões para uma configuração para minhas necessidades específicas. Não faço muito linux desde a faculdade e quero voltar a ele como um hobby. Eu tenho um hardware não muito poderoso (512 MB de ram, núcleo único). Quero fazer tudo por meio de shells e editores baseados em texto, como o vim. Meu objetivo é nunca tocar o mouse.
Eu preciso da capacidade de ter vários shells abertos ao mesmo tempo, um executando um servidor web, um executando vim, um executando meu pipeline de criação de aplicativos, outro para comandos de shell ad-hoc, como wget, grepping e untarring, etc. poder abrir novas conchas e alternar rapidamente entre elas com o teclado.
Mas mesmo que eu queira várias conchas, eu não quero um ambiente gráfico de área de trabalho. Eu nunca quero ser tentado a usar o mouse; parte do meu propósito é me forçar a aprender a maneira pela linha de comando de executar várias tarefas.
Também quero poder tirar proveito do meu monitor grande, executando o vim com algumas centenas de colunas mergulhadas em camadas.
Isso é possível?
fonte
Respostas:
Eu li suas perguntas várias vezes antes de perceber que definitivamente tenho uma recomendação para você: vim with tmux: http://tmux.sourceforge.net/
O tmux é um 'multiplexador de tela' que permite que você tenha várias janelas e painéis 'dentro de 1'
É um sucessor do venerável programa de 'tela', há muito um grampo de muitos codificadores de cli. Um de seus recursos vencedores originais sobre o vim era a capacidade de fazer janelas divididas verticalmente e horizontalmente. No entanto, a tela avançou e agora também pode fazer isso.
Exemplo:
Outra parte da configuração que eu recomendaria é um bom conjunto de aliases. Isso tornará sua digitação e interação muito mais fáceis e rápidas
Alguns dos meus favoritos são mostrados aqui como exemplos:
Aliases podem ser configurados em um arquivo .bash_aliases chamado de .bashrc com: # Definições de alias. if [-f ~ / .bash_aliases]; então . ~ / .bash_aliases fi
Provavelmente, você já possui esse código, então apenas seu próprio arquivo .bash_aliases.
Ambas as opções funcionam em um Mac e isso é uma consideração importante para mim (principalmente um usuário do Ubuntu).
A maioria das pessoas que usam o tmux remapeiam as chaves para facilitar. As ligações padrão não são tão boas assim. Aqui estão as minhas configurações:
$ cat ~ / tmux.conf
Finalmente (para fechar o loop), aqui estão minhas próprias configurações .vimrc que eu gosto de tornar o shell mais fácil de usar:
Finalmente, faço algumas alterações no meu arquivo .bashrc. Por exemplo,
shopt -s autocd
quando digito um nome de diretório (que existe), meu CD do shell é inserido nesse diretório imediatamente. Bacana! Então, aqui estão as minhas alterações .bashrc:fonte
Estou usando o XMonad + tmux + Emacs para uma configuração semelhante.
Eu usei o ratpoison por um ano no passado, mas o XMonad se sentiu mais robusto. Nunca tive problemas nas caixas de 256 MB e 512 MB. Ratpoison teve alguns problemas de estabilidade, mas isso é anedótico e as coisas podem ter mudado desde então.
Eu também usei a tela GNU, mas o tmux tem alguns recursos que a tela não possui.
Se você já conhece o vim, é melhor não aprender uma nova ferramenta. Caso contrário, o Emacs pode empregar várias conchas (
C-u M-x shell
), usar seu shell favorito (M-x term
), você pode escrever, compilar e depurar seus programas, ler seus e-mails, hangout no IRC, ler páginas da web / info / man, executar a maioria dos REPL shells (por exemploM-x run-python
), use git / hg / svn dentro dele, edite arquivos remotos com TRAMP, use dired para executar quase todas as operações de arquivo, use grep / find / ack dentro dele. Você pode usar o Emacs com ou sem o X. Você não precisa de um multiplexador de terminal como screen ou tmux, mas eu prefiro executar o emacs como servidor e usar o emacsclient do tmux se estiver executando a partir do shell.fonte
O dwm usa apenas algumas centenas de kB de memória, acionado por teclado, mas você também pode usar o mouse, se quiser. Verifique http://suckless.org para ferramentas mais simples e poderosas.
fonte
Para vários shells com fácil navegação no teclado entre eles, convém procurar no GNU Screen , ou byobu (que é um aprimoramento).
fonte
Empreendi um empreendimento semelhante há alguns meses, abandonando o mouse e explorando uma infinidade de configurações e gerenciadores de janelas. Parece que você já recebeu muitas sugestões úteis, mas achei que alguns centavos extras não poderiam machucar. Aqui estão os meus dois:
Dê uma olhada no gerenciador de janelas do i3. É leve, com configuração simples e não requer uma recompilação após alterar a configuração. A funcionalidade lado a lado e os espaços de trabalho marcados não significam mouse e infinitas possibilidades com base na preferência e no espaço da tela. Os programas podem ser atribuídos a tags e as chaves podem ser vinculadas a praticamente qualquer coisa. O i3status ou o conky são facilmente direcionados para o i3 para obter informações do sistema. Instale o dmenu e desconecte o mouse.
Tente uma distribuição leve. Arch, Gentoo e Slackware oferecem opções diferentes para configurar um ambiente leve. Comece pequeno e preste atenção às dependências. Instale apenas o que você precisa e aprenda a configurá-lo corretamente. Não inicie o X na inicialização. Aprenda a usar todas as ferramentas às suas custas. Vim é uma fera. Se você já conhece, use-o. Caso contrário, aprenda. Preste atenção aos detalhes. Saiba o que você tem no seu sistema e por que ele está lá.
fonte
Eu tinha um desejo semelhante cerca de seis meses atrás. Principalmente porque eu estava trabalhando via SSH o dia todo. Como já foi sugerido, use a tela GNU. É muito terrível (IMHO) logo após a instalação. Contudo! É altamente personalizável através do arquivo .screenrc. Existem vários tutoriais on-line que fornecem código que você pode recortar e colar para obtê-lo da maneira que desejar.
Fui ao ponto de montar alguns scripts para configurar esse ambiente - MALiCE - 'My Awesome Linux Coding Environment'. Está disponível no Github aqui:
Malícia
Isso também documenta muitos atalhos de teclado, bem como exemplos de arquivos .muttrc e .screenrc - configurados para funcionar com coisas como o gmail.
Observe que não é perfeito, mas pode economizar algum tempo e esforço para ver alguns dos arquivos de configuração e scripts. Há um forte viés de vim.
Também recomendo programas como o cmus (media player baseado em texto - muito bom) e o mutt (cliente de email - novamente configurado através do arquivo de texto .muttrc). Também existem clientes de IRC baseados em texto e, acredite ou não, decodificadores de vídeo baseados em texto que transformarão o vídeo em ASCII - um pouco extremo, mas cada um por si.
Se você não deseja uma área de trabalho, existem várias opções. Por exemplo, você pode instalar o slackware, que, se bem me lembro, inicializa corretamente em uma interface de linha de comando. Você precisa fazer o possível para iniciar a GUI.
fonte
elinks
navegador da web a essa lista de bons utilitários baseados em texto.http://en.wikipedia.org/wiki/VESA_BIOS_Extensions
http://www.pendrivelinux.com/vga-boot-modes-to-set-screen-resolution/
Mas eles não são todos suportados por todas as placas gráficas, você deve testá-las.
Para alternar entre várias conchas, acho que Alt-F é rápido o suficiente.
fonte
A chave para isso não é a distribuição, mas as ferramentas. Pare de usar as ferramentas da GUI e ajuste as ferramentas da CLI para que pareçam e se comportem exatamente como você gostaria. É uma maneira de editar
~/.Xresources
e, em seguida, carregá-lo comxrdb
no~/.xinitrc
. Lá, você também pode iniciar um monte de aplicativos que você sempre usa.Obviamente você precisa de uma boa concha: eu diria zsh. Você terá que trabalhar bastante
~/.zshrc
. (Mas o bash também funcionaria, é claro. Então,~/.bashrc
seria o lugar.)Segundo, um editor. Emacs ou vim, dependendo do que você usa atualmente. Um editor menos avançado (por exemplo, nano) não funciona. Assim como no shell, você trabalha muito
~/.emacs
ou os arquivos init correspondentes.Você precisa incorporar o máximo que puder no seu editor de texto. Vou dar alguns exemplos do mundo do Emacs, simplesmente porque sou um usuário do Emacs. Para email, rmail. Para gerenciamento de arquivos, direcionado. Para navegação na web, W3M. Para notícias, gnus (embora eu não o use). Para páginas de manual
M-x man
. E assim por diante.O motivo para você fazer isso e não usar outros aplicativos CLI (por exemplo, apenas
man
para páginas de manual, lynx para navegação etc.) é:1) o nível de integração (kill, yank, faça atalhos; tudo em um piscar de olhos ...)
2) os atalhos do teclado para navegar pelo cursor, pesquisar etc. (por exemplo, sua memória muscular)
Quanto ao X, você não precisa abandoná-lo. Só porque você deseja tudo na CLI não significa que você não deseja o GFX (ou - pelo menos, eu quero apenas o CLI e o GFX). Por exemplo, embora você modifique imagens com (CLI) mogrify ou converte, você ainda deseja exibi-lo para verificar o resultado (por exemplo, no gliv; basta desativar a barra de menus para não ficar tentado a usar o mouse). Outro exemplo são os documentos LaTeX e PDF.
Quanto ao terminal, a maioria das pessoas diria screen ou tmux, mas você também pode usar os terminais virtuais do Linux (o console ou ttys). No X, o urxvt possui uma extensão Perl que permite guias. Para esses (ttys e urxvt), você pode configurar uma interface uniforme, por exemplo, Alt-J / K para alternar entre guias, para que você não precise procurar as teclas de seta (ou o que for padrão).
Boa sorte :) Sinta-se à vontade para me enviar algumas sugestões quando terminar (ou quase lá ... você nunca termina), pois estou no mesmo caminho que você.
fonte