modo de número de linha híbrido no emacs?


11

É possível mostrar o número absoluto da linha atual, em vez de "0", quando no modo de número de linha relativo? Isso às vezes é chamado de "modo de número de linha híbrido".

Como isso:

 7                                                                                                      
  6          this.oscs[i].oscillator.start();                                                            
  5        }                                                                                             
  4                                                                                                      
  3        this.bindController();                                                                        
  2      };                                                                                              
  1                                                                                                      
252      factory.stop = function () {  <- current line number shows                                                                                       
  1        console.log('theremin: now in stop 2');                                                       
  2        this.leapController.disconnect();                                                             
  3        //this.leapController.removeListener('frame', factory.ctrlFrameHandler);                      
  4        //this.leapController.removeListener('frame', this.ctrlFrameHandler);                         
  5        this.leapController.removeListener('frame', this.leapController.listeners('frame')[0]); 

Aqui está como você faz isso no vim .

Estou executando o mal e ative o modo de número de linha relativo no meu .emacs, assim:

(linum-mode)
(linum-relative-global-mode)

Não vejo nenhum pacote para isso ou qualquer personalização disponível nos pacotes existentes. Eu estou um pouco familiarizado com o elisp, então pode ser possível descobrir como conectar o código existente, por exemplo, com conselhos, mas prefiro evitar seguir esse caminho, se possível.

Muito Obrigado.


linum-relative-global-modeé fornecido por evil?
— phils

não, faz parte do pacote padrão do emacs 'roupa relativa'. A execução do mal provavelmente não tem nada a ver com essa pergunta, exceto o fato de que o número relativo de linhas provavelmente será útil para 'vi usuários', ou seja, pessoas executando o mal. Eu apenas pensei em mencioná-lo, caso seja de alguma forma relevante.
— precisa saber é o seguinte

Não existe esse pacote (nem "relativo a linum") no repositório padrão, e não uma biblioteca padrão. Você quis dizer um dos repositórios de pacotes não padrão? Você sempre deve ser específico sobre as bibliotecas não padrão às quais você está se referindo.
— Phillip #

github.com/coldnew/linum-relative . Por 'padrão', não pretendia implicar parte da base do emacs, mas apenas um pacote "padrão", por exemplo, "comum", sob melpa. E sim, cometi um erro de ortografia - é "relativo a linum" e não "relativo a linho". Desculpe pela confusão.
— vt5491

FWIW, o Emacs 26 traz numeração de linha nativa (leitura: rápida), que pode ser híbrida se você definir display-line-numberscomo relativee display-line-numbers-current-absolutepara t(o padrão).
— Basil

Respostas:


10

Você pode mostrar o número da linha atual em vez de "0", personalizando a linum-relative-current-symbolvariável.

Você pode alterar essa variável de várias maneiras.

  • RET do grupo de personalização MX RET relativo à linum

    A partir daí, personalize a variável "Linum Relative Current Symbol" (cujo valor padrão é 0). Se você clicar no link "Mais", abaixo, a descrição completa da variável será:

    O símbolo que você deseja mostrar na linha atual, por padrão, é 0.

    Você pode usar qualquer string como "->". Se essa variável for uma sequência vazia, o relativo à linha mostrará o número da linha real na linha atual.

    Então, defina esse valor como string vazia, exclua-o 0e pressione "Aplicar e Salvar".

  • Outra maneira é adicionar o abaixo à sua configuração do emacs e avaliá-lo:

    (setq linum-relative-current-symbol "")

-1

Estou executando o spacemacs e M-x linum-relative-modefaz isso exatamente.

Você também pode adicionar:

(setq-default dotspacemacs-line-numbers 'relative)

à dotspacemacs/user-configfunção .spacemacspara definir números de linhas nesse estilo permanentemente.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.