Editor de texto do console com atalhos de teclado do tipo Windows (ctrl-z, x, c, v)

31

Ok, percebo que arrisco uma guerra religiosa fazendo uma pergunta sobre editores de texto, mas aqui vai.

Exigências

  • Usado principalmente para edições de arquivos de configuração
  • Baseado em texto, não GUI
  • Disponível para o sabor Raspian do Debian
  • Não é necessário aprendizado para um usuário da GUI do Windows / Mac (sem vi / vim)
  • Faz pleno uso das teclas encontradas nos teclados modernos, ou seja, home, end, pgup, pgdn, del
  • Use atalhos de teclado encontrados em praticamente todos os aplicativos da GUI, por exemplo, Desfazer ( Ctrl-Z), Refazer ( Shift-Ctrl-Z), Selecionar tudo ( Ctrl-A), Cortar ( Ctrl-X), Copiar ( Ctrl-C), Colar ( Ctrl-V), Expandir seleção ( Shift-Arrow), Ignorar palavra ( Ctrl-Arrow), Excluir seleção ( Del) etc
  • Opcional : suporte ao mouse para alterar a posição do cursor e selecionar texto

Certamente isso não é uma grande pergunta hoje em dia?

Greg Woods
fonte
2
"Não aprendizado necessário" soa como um critério extraordinariamente restritivo (e possivelmente irrealista) especialmente porque você está pedindo uma ferramenta CLI ...
jasonwryan
1
nanoestaria perto. Ele não terá exatamente os mesmos atalhos, mas atalhos semelhantes para fazer a mesma operação. ou você pode criar .nanorc e tem atalhos personalizados
h3rrmiller
2
@jasonwryan Como usuário experiente do Windows (ou Mac), já tenho o aprendizado necessário para usar um editor de texto moderno usando apenas o teclado. Eu gostaria de usar a mesma experiência em uma ferramenta Linux CLI.
Greg Woods,
3
Os atalhos que você espera são modificações da Microsoft nas diretrizes CUA da IBM . Nem as modificações da CUA nem da MS são tradicionais no mundo unix.
Gilles 'SO- stop being evil' em
4
@Gilles Não tenho muita certeza se concordo em chamar esses atalhos de "Windows". Todo aplicativo GUI comum que faz edição de texto usa esses atalhos em todas as principais plataformas. Muitos desses atalhos são anteriores ao Windows também.
Jw013 04/04

Respostas:

13

Eu tentei todas as soluções acima (exceto as que são obviamente estúpidas, como configurações do emacs ou vi).

O melhor em geral é til. Feito de verdade para responder à pergunta original de Greg Woods. Deve ser adicionado a todos os repositórios linux padrão.

Como um usuário nano de longa data, que encontrou seu caminho aqui procurando algo igualmente simples com um buffer de desfazer / refazer real e as ligações de teclas padrão do editor de GUI, recomendo vivamente o editor Sanos. É pequeno e faz exatamente o que a consulta original exige. Seu único defeito é que não há suporte do mouse para colocar o cursor. É o meu novo editor mínimo favorito e o nano está entrando no caixote do lixo. Você precisa compilá-lo, mas é um programa trivial para compilar - um único arquivo fonte da linguagem C. Eu o compilei para "sã" para o "editor sanos" (sanos é na verdade um mini-sistema operacional).

E agora, para reiterar a pergunta, que a maioria das respostas e votos parece ignorar: a solicitação é de um editor básico simples morto que simplesmente funcione e use as ligações GUI padrão (que, a propósito, não pertencem ao Windows).

Os dois que eu recomendo, e fte, são os únicos que preenchem a conta, e fte é muito peculiar em um xterm.

may2015visitor
fonte
Eu compilei sanos mas Shift + seta não funciona, também deslocar obras para a capitalização das letras, eu estou usando putty para ssh
BioHazard
Esta é a melhor resposta imho. Eu tentei ambos, e Shift + Setas para seleção e Ctrl + C Ctrl + V etc funciona em ambos. Eu tive que desativar os atalhos de teclado conflitantes no emulador de terminal, como Shift + Up para voltar uma linha.
precisa saber é o seguinte
O interessante é que o editor Sanos é apenas ~ 2000 linhas de código, tem Control-Z para desfazer, shift-select, lida bem com as guias. Parece que a função unindent () tem um erro. Eu acho que esse seria um ótimo ponto de partida para criar um editor mais poderoso.
PJ Brunet
meu Deus. obrigado por isso. tentei til por 20 segundos e disse "sim, é isso que eu quero!" Felicidades!
Paul Erlenmeyer
11

Experimente o Micro.

https://github.com/zyedidia/micro

O Micro é um editor de texto baseado em terminal que visa ser fácil de usar e intuitivo, além de aproveitar todos os recursos dos terminais modernos. Ele vem como um único binário estático, incluído nas baterias, sem dependências, e você pode fazer o download e usá-lo agora.

Como o nome indica, o micro pretende ser um sucessor do nano editor, sendo fácil de instalar e usar em um beliscão, mas o micro também quer ser agradável de usar em tempo integral, se você trabalha no terminal porque prefere (como eu) ou porque você precisa (mais de ssh).

Imagens e esquemas de cores

É quase perfeito. A seleção da seta com a tecla Shift funciona perfeitamente. Control-C (recortar), Control-V (colar), Control-Z (desfazer), Control-S (salvar) funcionam como esperado. Ele também identifica e unindents seleções perfeitamente.

Você precisa de um emulador de terminal que suporte adequadamente a tecla Shift. O Terminator funciona bem fora da caixa. Alguns terminais baseados no Android não oferecem suporte à seleção de turnos, mas o JuiceSSH (o mais popular no Google Play) funciona, embora eu ainda não o tenha testado extensivamente.

PJ Brunet
fonte
2
E excelente suporte a mouse e belo destaque de sintaxe.
PJ Brunet
Este é provavelmente o mais "moderno", conforme evidenciado pelo esquema de cores padrão e pela escolha dos idiomas suportados. No entanto, as combinações de teclas diferem significativamente de algo como Sublime, é uma PIA alterá-las e muitos atalhos de teclado simplesmente não são suportados.
Aleksandr Dubinsky
9

joeé, na IMO, o melhor dos editores que não são vi. É um editor decente com recursos completos por si só, ao invés de um editor minimalista despojado e sem características nano.

Se invocadas como jstarou joe, as combinações de teclas padrão são semelhantes ao WordStar, que também foram usadas em muitos outros programas ao longo dos anos, incluindo o editor nos IDEs Borland Turbo Pascal e Turbo C, portanto, devem ser familiares para muitos usuários. Se chamado como jmacas combinações de teclas sãoemacs como. As combinações de teclas são configuráveis ​​e, se você não conseguir encontrar uma configuração exatamente adequada para você, poderá adicionar uma ou copiar e modificar uma já existente.

Sou muito viusuário para usá-lo, mas frequentemente o recomendo para pessoas que não gostam ou desejam aprender um editor modal vi, com bons resultados.

Aqui está a descrição no pacote debian:

Joe, ou o próprio editor de Joe, tem a sensação da maioria dos editores de texto para PC: as principais sequências lembram os editores do WordStar e Turbo C, mas o conjunto de recursos é muito maior do que o dos editores de texto. Joe possui todos os recursos que um usuário do Unix deve esperar: uso completo do termcap / terminfo, integração completa do Unix no estilo VI, um poderoso arquivo de configuração e sistema de busca de expressões regulares. Ele também possui seis cartões de referência de ajuda, sempre disponíveis, e uma interface de usuário intuitiva, simples e bem pensada.

Joe possui um ótimo algoritmo de otimização de atualização de tela, várias janelas (através das quais você pode rolar) e não possui a noção confusa de buffers nomeados. Possui histórico de comandos, expansão TAB nos menus de seleção de arquivos, funções de desfazer e refazer, (des) recuo e formatação de parágrafos, filtrando blocos destacados por qualquer comando externo do Unix, editando um canal dentro ou fora de um comando e bloqueando a movimentação, cópia, excluir ou filtrar.

Por meio de arquivos simples de configuração no estilo QEdit, Joe pode ser configurado para emular editores como o Pico e o Emacs, juntamente com uma imitação completa do WordStar e uma versão em modo restrito (permite editar apenas os arquivos especificados na linha de comando). Joe também possui uma atualização de tela adiada para lidar com a digitação antecipada e garante que o adiamento não seja ignorado pelo buffer tty. É utilizável até 2400 bauds e funciona em qualquer tipo de terminal são.

É, AFAIK, empacotado para todas as distribuições, e a fonte está disponível em http://joe-editor.sourceforge.net/ - a fonte debianizada deve compilar no Raspian se ainda não houver um pacote binário.

cas
fonte
1
Obrigado pela sugestão. Pode ser útil para alguém, mas nunca gostei dos atalhos de estilo do Wordstar. Posso reconsiderar quando preciso de um editor mais rico em recursos.
Greg Woods,
11
-1: os atalhos de teclado de Joe parecem ser tão "pouco ortodoxos" quanto os de vim ou nano. Por exemplo, CTRL + A não 'seleciona tudo', CTL + F não 'localiza'.
28515 Garrett
Eu uso Joe desde 1994, e não acho que essa seja a melhor resposta para a pergunta, embora Joe seja relativamente fácil em comparação com o Vim. Notei que Joe está ausente de algumas distros agora, mas você pode facilmente obter "Jupp" (baseado em Joe) com yum ou apt-get. Jupp tem a seleção SHIFT. Recortar e colar é um pouco estranho com o Jupp, mas é fácil aprender, Control-J, para obter ajuda.
PJ Brunet
3
Desculpe, mas isso realmente responde à pergunta? joeé tão difícil sair como vime as teclas de atalho do Windows não funcionam.
mafu
Fui levado de volta a esta resposta por um voto positivo. Como Gilles apontou em sua resposta , existem atalhos de teclado do CUA disponíveis para joe.
13283
7

Experimente o Editor de texto FTE . Existem várias versões disponíveis; o que você quer provavelmente sfteestá no fte-terminalpacote do Debian .

insira a descrição da imagem aqui

Jim Paris
fonte
Uma boa sugestão, mas apenas tentar um Shift + DownArrow para selecionar o texto causou uma carga de mensagens 'FIXME' corrompendo a tela. Os atalhos são diretos dos anos oitenta ... Ctrl-Ins para copiar? Alt-Backspace para desfazer? Algumas das opções são puro geek do linux: "Copiar - Anexar"? Eu não deveria ter que ler o manual para um comando Copiar! No lado positivo, gostei do navegador de diretório quando você inicializou.
Greg Woods,
1
Esquisito. A primeira coisa que tentei foi Shift + DownArrow para selecionar o texto, seguido de Ctrl-C e Ctrl-V para copiar e colar, pois achei que era isso que você também tentaria. Todos eles trabalharam para mim.
Jim Paris
Hmm. Ímpar. Eu estava na versão do terminal que obtive com o sudo apt-get install fte-terminal. Vou tentar de novo quando tiver alguns minutos.
Greg Woods,
1
O mesmo aqui. Talvez isso dependa do emulador de terminal em uso; o meu é xterm.
Jim Paris
isso faz sentido, porque Diakonos também não funcionou corretamente. Vou ter que olhar através das opções disponíveis no PuTTY
Greg Woods
7

Para encurtar a história: Use nano

Você pode personalizar facilmente nanopara atender às suas necessidades, principalmente em relação aos atalhos de teclado desejados. Para fazer isso, dê uma olhada no bindparâmetro que você pode definir no seu ~/.nanorcarquivo local . Obviamente, você também pode baixar arquivos de configuração prontos (veja abaixo).

Você pode vincular combinações de teclas modeladas Ctrl+com um precedente ^e Alt+com M-("Meta"). Infelizmente, parece não haver maneira de vincular combinações que contêm a Shiftchave. Os nano padrões para pular palavra são: Ctrl+Spacee Meta+Space. E como se isso não bastasse, você também não pode vincular teclas de seta . Mas talvez você possa viver com essas desvantagens.

Porque dê uma olhada no lado positivo: de fato, há um pacote no github , contendo principalmente o aprimoramento da sintaxe, mas também acompanha quase todas as combinações de teclas desejadas . Instale-o chamando make, mas saiba que sua corrente ~/.nanorcserá substituída durante o processo.

Eu acho que você deveria tentar, mesmo que essa Shift+Arrowseleção pareça ser uma das suas maiores prioridades. Em nano, você usaria Ctrl+Apara iniciar o modo de seleção, para não precisar ficar Shiftpressionado o tempo todo! E você sempre pode usar os Ctrl+Shift+Xatalhos etc. fornecidos pelo seu terminal. Como você deve ter reconhecido, estou muito feliz com isso nano, possivelmente em parte por ser um ex-usuário do Windows.


Edit: Aqui está uma captura de tela mostrando algumas das combinações de teclas pertinentes na barra de ajuda inferior.

Editor Nano equipado com o pacote de configurações github.com/craigbarnes/nanorc

J. Katzwinkel
fonte
5

Creme é uma configuração do vim que não tem modelagem e que usa todos os atalhos de teclado como Ctrl + X, Ctrl + V que você pode esperar.

Ao contrário do Vim, não é estranho para pessoas acostumadas a aplicativos da GUI do Windows, como o Bloco de Notas. Se você pode usar o Bloco de Notas, pode usar Creme.

  • Pode ser usado para edições de arquivos de configuração
  • Baseado em texto e GUI
  • Disponível para o sabor Raspian do Debian
  • Não é necessário aprendizado para um usuário da GUI do Windows / Mac
  • Faz pleno uso das teclas encontradas nos teclados modernos, ou seja, home, end, pgup, pgdn, del
  • Use atalhos de teclado encontrados em praticamente todos os aplicativos da GUI, por exemplo, Desfazer (Ctrl-Z), Refazer (Shift-Ctrl-Z), Selecionar tudo (Ctrl-A), Recortar (Ctrl-X), Copiar (Ctrl-C), Colar (Ctrl-V), Expandir seleção (Shift-Seta), Ignorar palavra (Ctrl-Seta), Excluir seleção (Del) etc
  • Suporte do mouse para alterar a posição do cursor e selecionar texto
RedGrittyBrick
fonte
Levei um tempo para encontrá-lo, cream -vvocê entra no modo de texto e F12, um menu.
PJ Brunet
3

Diakonos também está em conformidade com a maioria dos requisitos:

Frustrado por esses outros editores de console? Você já sabe quais teclas pressionar em seus aplicativos GUI para abrir, salvar, copiar, cortar, colar e desfazer. Por que o editor de texto do console deve se comportar de maneira diferente? Resposta: não deveria.

Bem-vindo ao Diakonos, o editor de texto do console com um mapeamento de teclas que você praticamente já conhece. Fácil de usar e fácil de configurar, mas potente nas mãos de usuários avançados.

Existe o pacote Debian , não tenho informações sobre o sabor solicitado.

homem a trabalhar
fonte
Obrigado pela sugestão. Eu poderia entrar em Raspian. Ainda não é possível alterar a seleção de turnos e outras funções. Mas, como @ jim-paris sugeriu, é provável que seja um problema emulador de terminal.
Greg Woods,
2

Dê uma olhada no editor Sanos:

http://www.jbox.dk/sanos/editor.htm

Somente um binário de 28k pode fazer o que todos os outros editores tentam - e falham.

Ele faz exatamente o que o OP pediu:

Shift + setas para destacar o texto

Ctrl-X, C, V para recortar / copiar / colar

Você também pode ter vários arquivos abertos simultaneamente e "canalizar" comandos nele. Por exemplo, pressione Ctrl-P e, no prompt, digite:

seu arquivo de gato

e ele irá inserir seu arquivo na posição do cursor. Dessa forma, todo o poder dos comandos bash está à sua disposição (use grep para inserir apenas partes específicas do arquivo).

ernobe
fonte
1

A resposta é kitty + til (KiTTY é um garfo da versão 0.66 do PuTTY) pessoal! Toda a minha vida tem sido uma mentira: D

http://www.9bis.net/kitty/?page=Download

Ele corrigiu o bug shift + keys fornecido com o putty (também shift + keys não estava funcionando em outros clientes ssh)

Risco biológico
fonte
Parece que pelo menos parte do problema vem do terminal, por isso estou ansioso para tentar isso.
Greg Woods
1

O seguinte foi testado usando o nano de um terminal no MS-Windows.
Isso fará com que o seu nano esteja um passo mais perto, suportando os atalhos "universais" para copiar / cortar / colar etc. (pelo menos no mundo do Windows).
Adicione essas linhas ao arquivo/etc/nanorc

bind ^c copytext main
bind ^x cut main
bind ^v uncut main
bind ^z undo main
bind ^y redo main
bind ^f whereis main
bind F3 findnext main
bind ^h replace main

Esteja ciente de que eles funcionam por linha inteira se você não selecionar primeiro o texto: - /

Se você tem problemas de seleção de texto em nano com shift+arrow-keys, em seguida, estar ciente que esta não parece estar relacionado com nano , mas o seu programa de terminal! Ele não funciona no PuTTY, mas, por exemplo, funciona no Kitty (um fork do PuTTY, versão Windows / versão Linux ) ou no cliente SSH do Google para Chrome.

(Estou usando o debian buster)

MrCalvin
fonte
0

Le é outra solução. É como o Norton Commander (da fama do Midnight Commander), mas talvez mais intuitivo.

No MC, você pressiona F3 para iniciar e finalizar a seleção de região e, em seguida, use F5 ou F6 para copiá-lo ou movê-lo. No le F5 começa a seleção e, se você avançar, F6 a encerrará. Se você avançar uma seleção anterior, F6 adicionará tudo a ela, ou se você retroceder e pressionar F5, tudo será adicionado. Então você pode usar F5 ou F6 como se fosse F3 no MC. Se você pressionar F5, mover para trás e pressionar novamente, seleciona a região. Se você pressionar F6, avançar e pressionar novamente, seleciona a região.

Para instalar, use:

apt-get install le

ou faça o download do código-fonte e construa (eu testei no Debian sid):

http://lav.yar.ru/download/le/le-1.14.9.tar.gz

Aqui está o pacote Debian: http://packages.debian.org/sid/le

ernobe
fonte
0

Eu tentei o Nano, Joe, Pico etc. Embora sejam mais fáceis do que o Emacs ou o Vi [m], todos eles têm interfaces de usuário estranhas e idiossincráticas, como nenhum outro programa desde a década de 1980.

Mas não são editores modernos, CUA-compliant para Linux lá fora!

Alguém recomendou FTE. Ele é mantido por muito tempo, mas existe um fork atual chamado eFTE: http://sourceforge.net/projects/efte/

É muito bom; por exemplo, é capaz de interceptar a tecla Alt para acessar o menu, mesmo quando executado em uma janela do emulador de terminal X.

Há outra que eu também gosto, chamada Tilde, que atualmente é mantida e tem pacotes recentes disponíveis. http://os.ghalkes.nl/tilde/

Liam Proven
fonte
1
O editor de til deve ser a resposta certa. Este editor é realmente bom!
0

Recentemente deparei com o MinEd [ http://towo.net/mined/]

# Option "emul": emulation mode, especially control key function mapping; 
# takes a single-letter value: 
# e: emacs mode 
# s: WordStar mode 
# w: Windows keyboard mode 
# W: Windows behaviour (-w, CRLF for new files, cmd.exe with ESC !) 
# p: pico mode 
# m: mined default 
#emul m
go2null
fonte
Aparentemente, está nos testes do Debian e tem suporte para mouse, mas ainda não o testei.
PJ Brunet
0

Fiflo é a solução minimalista. Atalhos de teclado suportados: Ctrl+Arrows Ctrl+Backslash Ctrl+D Ctrl+O Ctrl+Q Ctrl+O Ctrl+F1-F4 .

Eu uso porque não tenho tempo para abrir o etc/nanorc.

Szymon Talachna
fonte
0

O mcedit é o melhor. pelo menos envia você aos 90 anos com interface do usuário. nenhuma seta SHIFT como todos os editores mencionados, mas muito a interface do Norton Commander, teclas Fx, CtrlO para ver o shell. Recorda a posição ao voltar, reconhece o destaque mesmo para arquivos improváveis ​​(sem extensão). Mais inteligente, perto das alternativas do Windows e longe das alternativas do Unix também (melhor).

user533385
fonte