gtk-key-theme Emacs: qual é o toque de tecla para selecionar tudo?

16

Eu prefiro os pressionamentos de tecla do emacs, mas o select-all não parece fazer parte do vocabulário do emacs, ou pelo menos, o tema do gtk-key para o emacs. M-w não está trabalhando para copiar a região selecionada.

  1. Qual é o pressionamento de tecla para selecionar tudo?
  2. Onde está um mapa de ligação de chaves para este tema?

Obrigado Steve

    
por Chelmite 13.05.2013 / 20:42

6 respostas

16

Existe uma ligação simples para "Selecionar tudo" em gtk: C-/

Ele é definido como um sinal GtkTextView geral e não faz parte especificamente do tema principal do emacs. Mas funciona bem com isso. Está definido como uma alternativa para C-a . Enquanto o último é reinterpretado pelo tema emacs C-/ permanece válido para "Selecionar todos".

    
por Victor 11.04.2015 / 10:56
7

Não existe um único atalho para fazer isso diretamente.

Você pode ir até o final do texto com Ctrl - e e remover uma linha Ctrl - u . Isso, no entanto, só funciona com GtkEntry , ou seja, campo de entrada de uma linha.

Se você precisar selecionar tudo em um GtkTextView , o controle tipo editor de múltiplas linhas, você terá que fazer o oneroso Ctrl - Início seguido por Ctrl + Deslocamento - Fim , que, com meu teclado de 63 teclas, é quase impossível.

Se, por um bom motivo de edição de eficiência ou limitações de teclados de dispositivos móveis, Início e Fim estiverem fora de alcance, então você terá que se virar. Selecionar "Select-all" no menu "Edit" é uma má idéia, porque ele mapeia para Alt - e - a no firefox, Alt - e - t em gedit, Alt - e - s no OpenOffice (mesmo com a integração do gnome), em cada software uma chave diferente e, em alguns softwares, não há "Select-all" no Edit Menu, como o cromo, e em alguns softwares, não há mesmo o próprio Edit Menu, nem mesmo um hidden a ser chamado com Alt - e , como o nautilus. Essa inconsistência supera a finalidade da barra de menus ativada por Alt e nenhum sistema operacional, nem mesmo o Windows, é tão inconsistente. Mesmo o menu do botão direito não tem um atalho fixo para "Select-All" - normalmente é a mas pode ser t do aplicativo para o aplicativo. Solicitar correção de bugs em cada software individual só pode ser feito com um metaprojeto como o GNOME, mas saber que o próprio GNOME gerou alguns desses problemas (a remoção do Menu Editar em 'nautilus' é uma decisão do GNOME 3) realmente não deixou você tem muita esperança.

Em uma nota lateral, Ctrl - Início é o único atalho para ir para o começo de todo o texto, mesmo que ele possa interromper seu trabalho para digitar dispositivos móveis com teclado pequeno.

A resposta termina aqui. Para as mentes curiosas, tenho informações adicionais:

Um experiente usuário do emacs tentaria Ctrl - x - h : autentico emacs de fato, mas nenhuma seqüência de teclas de controle é entendida pelo gtk3 modo emacs. Na verdade, apenas alguns atalhos do emacs são definidos - dê uma olhada em /usr/share/themes/Emacs/gtk-3.0/gtk-keys.css ; há espaço suficiente em um adesivo para anotar todos os atalhos do emacs suportados.

Para tornar a situação ainda pior, é difícil realocar uma tecla de atalho para essa finalidade. Como você sabe, Ctrl - a é usado pelo emacs. Mas mesmo os hispanófonos, o maior grupo não-anglo-saxão (chinês excluído por usar ideogramas), que são usados para selecionar tudo com Ctrl - e , encontrariam esse atalho de teclado tomado pelo emacs também. Excluindo e , não há nenhuma outra tecla na metade esquerda de um teclado QWERTY sem um propósito já bem aceito. O Google Tradutor usa a tecla SHIFT, quando pressionado sozinho, como "selecionar tudo", mas nenhum outro software nem outros produtos do Google seguem a configuração.

Para esvaziar uma linha, use Ctrl - u . Isto tem a vantagem de não sobrescrever X SELECTION (aquele que você arranca com o botão do meio do mouse). Esta é uma configuração única apenas do modo emacs do gtk3: em emacs reais, ele não faz nada sozinho; em readline (bash, mysql etc) é suposto para apagar tudo, desde o cursor até o início da linha, enquanto sua contraparte Ctrl - k apaga tudo do cursor para o fim da linha.

Alguns podem sugerir que você deixe uma marca em algum lugar para a seleção aleatória com o teclado. Você também pode encontrar Ctrl - ESPAÇO está no modo emacs configurado para definir uma âncora no texto. Apesar de conflitar com muitos outros softwares (métodos de entrada de ideogramas em particular, e auto-completar em algum outro software de edição), não há nenhuma tecla de atalho para fazer uso da âncora que você definiu.

O Ubuntu não suporta oficialmente o modo de edição do emacs, nem qualquer outra configuração de interface do usuário que não possa ser feita com a interface do usuário. Os relatórios de bugs sobre essas necessidades são marcados como prioridade baixa. Por esta razão, penso que é melhor fazer essa pergunta aos locais genéricos do Linux, por ex. superusuário.

    
por Zhang Weiwu 12.05.2016 / 22:53
2

As ligações do emacs são especificadas em /usr/share/themes/Emacs/gtk-2.0-key/gtkrc Você também pode adicionar um bindings em ~ / .config / gtk-3.0 / gtk.css

Selecionar tudo seria algo assim:

bind "<ctrl>h" { "move-cursor" (buffer-ends, -1, 0)
                 "move-cursor" (buffer-ends,  1, 1) };

Eu não encontrei uma maneira de ligá-lo a C-x h, no entanto.

    
por emacser 21.04.2014 / 14:15
1

Se você quiser selecionar todo o texto em uma região, prefiro definir uma Macro simples para isso. Pressione F3 para começar a escrever uma macro. Então digite

Esc - <          // goes to beginning of document
Ctrl - spacebar  // set mark
Esc - >          // selects all till end of document

Em seguida, use M -w para copiar (que normalmente faço para copiar de sistemas unix remotos para o Windows local) e pressione F4 para concluir a definição da macro .

Agora que você acabou de definir a macro, basta pressionar F4 quantas vezes quiser para repetir a ação.

    
por Prashanth R 22.07.2015 / 17:36
0

Ver ligação de chaves existente

Para aplicações GTK3, você pode ver as ligações do tema chave do Emacs GTK  - localmente, provavelmente em /usr/share/themes/Emacs/gtk-3.0/gtk-keys.css )  - ou no repositório git GTK em GitHub (que não necessariamente igual ao seu arquivo local, pois sua distro pode tê-lo modificado).

Ao ler este arquivo, você deve estar ciente do significado dos widgets

(Veja a imagem na parte superior de cada site vinculado.)

Adicionando ligação de chave para selecionar todos

select-all para GtkTreeView e GtkTextView

Para os widgets GtkTreeView e GtkTextView , existe um sinal chamado select-all . Você precisa passar o argumento 1 para que ele selecione tudo em vez de desmarcar.

Portanto, edite ~/.config/gtk-3.0/gtk.css e adicione algo assim:

@binding-set my-text-and-tree-view-bindings
{
    bind "<alt>a"
    {
    "select-all" (1)
    };
}

textview {
  -gtk-key-bindings: my-text-and-tree-view-bindings;
}

treeview {
  -gtk-key-bindings: my-text-and-tree-view-bindings;
}

GtkEntry

Para GtkEntry , não há sinal select-all . Em vez disso, você pode usar uma sequência de dois sinais move-cursor marcando o texto.

Novamente, edite ~/.config/gtk-3.0/gtk.css e adicione algo assim:

@binding-set my-entry-bindings
{
    bind "<alt>a"
    {
    "move-cursor" (paragraph-ends, -1, 0)
    "move-cursor" (paragraph-ends,  1, 1)
    };
}

entry {
  -gtk-key-bindings: my-entry-bindings;
}

Firefox

A propósito, no Firefox Alt - a seleciona tudo para mim por padrão sem configuração (usando o tema chave do Emacs GTK).

    
por Mekeor Melire 19.11.2016 / 04:15
-1

o link parece ser o que você está procurando (C-xh depois de definir o marcador)

Além disso, depende se você quer a 'página', ou buffer, etc.

    
por gravity 13.05.2013 / 21:14