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.

vt5491
fonte
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 "")
Kaushal Modi
fonte
-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.

nico
fonte