AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 691444
Accepted
ychaouche
ychaouche
Asked: 2022-02-21 07:02:40 +0800 CST2022-02-21 07:02:40 +0800 CST 2022-02-21 07:02:40 +0800 CST

Como faço para abrir um arquivo em uma linha específica em um emacs em execução?

  • 772

O emacs pode ser executado a partir da linha de comando para abrir um arquivo na linha n com um +nargumento de linha de comando assim:

$ emacs +n file

Eu gostaria de fazer o mesmo a partir de uma instância do emacs em execução, por meio de find-fileou outros meios. Isso é possível ?

emacs file-opening
  • 2 2 respostas
  • 157 Views

2 respostas

  • Voted
  1. Zeta
    2022-02-21T09:30:27+08:002022-02-21T09:30:27+08:00

    Você pode escrever sua própria função:

    (defun find-file-at-line (file line)
      "Open FILE on LINE."
      (interactive "fFile: \nNLine: \n")
      (find-file file)
      (goto-line line))
    
    • 1
  2. Best Answer
    ychaouche
    2022-03-16T07:14:21+08:002022-03-16T07:14:21+08:00

    Encontrei uma solução no wiki do emacs que aprimorará o ffap para escolher o número da linha também e ir para o número do arquivo depois de encontrar o arquivo.

    ; 
    ; have ffap pick up line number and goto-line
    ; found on emacswiki : https://www.emacswiki.org/emacs/FindFileAtPoint#h5o-6
    ; 
    
    (defvar ffap-file-at-point-line-number nil
      "Variable to hold line number from the last `ffap-file-at-point' call.")
    
    (defadvice ffap-file-at-point (after ffap-store-line-number activate)
      "Search `ffap-string-at-point' for a line number pattern and
    save it in `ffap-file-at-point-line-number' variable."
      (let* ((string (ffap-string-at-point)) ;; string/name definition copied from `ffap-string-at-point'
             (name
              (or (condition-case nil
                      (and (not (string-match "//" string)) ; foo.com://bar
                           (substitute-in-file-name string))
                    (error nil))
                  string))
             (line-number-string 
              (and (string-match ":[0-9]+" name)
                   (substring name (1+ (match-beginning 0)) (match-end 0))))
             (line-number
              (and line-number-string
                   (string-to-number line-number-string))))
        (if (and line-number (> line-number 0)) 
            (setq ffap-file-at-point-line-number line-number)
          (setq ffap-file-at-point-line-number nil))))
    
    (defadvice find-file-at-point (after ffap-goto-line-number activate)
      "If `ffap-file-at-point-line-number' is non-nil goto this line."
      (when ffap-file-at-point-line-number
        (goto-line ffap-file-at-point-line-number)
        (setq ffap-file-at-point-line-number nil)))
    
    • 0

relate perguntas

  • Erro 'Sintaxe de leitura inválida: )' do Ubuntu Emacs

  • Como definir e determinar o modo de edição de linha de comando do Bash?

  • Script para converter .org em .xml

  • Fazendo declarações externas das declarações globais em C usando query-replace-regexp do emacs

  • Como fazer o recuo do 'emacs' com guias exatamente como o 'nano' faz ...?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve