Código inline no modo org

103

Markdown permite embedded code. Como isso pode ser feito org-mode?

Eu sei sobre blocos de código-fonte:

#+begin_example
blah-blah
#+end_example

Mas o que eu quero é algo assim (obviamente, com a sintaxe certa, que não conheço):

This is `embeded code`.

Isso pode ser feito em org-mode? Não é possível encontrar isso na documentação ...

blueFast
fonte
ia fazer uma pergunta semelhante. obrigado: D
alamin
No markdown, podemos fazer um bloco de código por linhas de código encerradas em duas linhas de `` `` `, o que é bastante legal IMO. Existe uma maneira legal de fazer isso no modo org? Eu não quero ver +BEGIN_SRC...todas as vezes.
Estudante de

Respostas:

119

Você pode colocar o texto entre =ou ~sinais para que seja escrito em fonte monoespaçada e exportá-lo literalmente (o que significa que não é processado para a sintaxe específica da organização):

This is =verbatim text= or ~code~.

Você encontrará todas as informações sobre os elementos de marcação do modo org na seção relevante do manual .

François Févotte
fonte
3
Obrigado. Ter as palavras-chave é meio caminho andado. Se eu soubesse que o modo org fala sobre isso em termos de monospacee emphasiseu mesmo teria encontrado. :( Eu estava procurando inlinee embedded, sem sucesso.
blueFast
Sim, também me lembro de ter ficado perturbado com o termo "ênfase", ao procurar um recurso que permitisse ocultar a marcação org. Depois de saber a terminologia, você imediatamente encontra org-hide-emphasis-markers, mas eu procurei por muito tempo antes de finalmente encontrar quase acidentalmente ...
François Févotte
5
na verdade, o manual apenas diz ~ código ~ ou seja, cercado por ~.
squid de
1
Essa resposta apenas faz o código parecer monoespaçado, não o dotando realmente com as propriedades executáveis ​​que um BEGIN_SRCbloco real possui. A resposta do @Tom abaixo é melhor se você quiser.
Ken Williams
Eu achei ~ feio. Existe uma solução alternativa para usar o acento grave em vez disso?
Ivan Huang
128

Embora monoespaçado seja bom o suficiente para a maioria dos casos, os blocos de código em linha têm a forma src_LANG[headers]{your code}. Por exemplo src_xml[:exports code]{<tag>text</tag>},.

Edit: O destaque do código do código inline é certamente possível, embora com patching org.el em si: a resposta dada aqui https://stackoverflow.com/a/20652913/594138 funciona como anunciado, girando

- Inline code src_sh[:exports code]{echo -e "test"}

Para dentro

insira a descrição da imagem aqui

em html-export. E a resposta vencedora neste post, https://stackoverflow.com/a/28059832/594138 , consegue o mesmo sem a necessidade de patch org.el, mas você terá que adaptá-lo se não gostar da ótica durante edição.

Tom Regner
fonte
3
Esta é a melhor resposta aqui, eu acho. A parte relevante no manual é 14.1 Estrutura dos blocos de código .
Arne Babenhauserheide,
E o manual diz coisas como “blocos de código ativos requerem ...” O que "ativos" significa aqui? Além disso, eu gostaria que os documentos tivessem mais exemplos em vez de se concentrar principalmente nas definições de sintaxe formal (mas isso não é um problema apenas com o modo org; é mais ou menos um problema geral na minha opinião).
Fernando Basso
Os blocos de código ativo podem ser avaliados no modo org (ou durante a exportação) e seus resultados são inseridos no arquivo. Eu uso isso para diagramas UML com plant-uml e às vezes com blocos de código Clojure.
2
Legal, mas ainda não conseguimos realçar a sintaxe dessa forma, podemos? E acho estranho que [:exports code]seja obrigatório, porque os documentos em orgmode.org/manual/exports.html#exports dizem que é o padrão. (Mas sem ele, nada é exportado quando eu exporto o conteúdo da organização para markdown, por exemplo.)
Supernormal
Eu não penso nisso como 'código embutido', mas sim um 'bloco de código'. Por exemplo, penso no código embutido como um nome de arquivo, uma string de código curta (<1 linha), geralmente incorporada em outro texto.
James