Existem muitos editores de texto, além de ferramentas de desenvolvimento, e é difícil escolher o necessário. Proponho conhecer os melhores representantes dessa classe de programas dentre os que estão disponíveis para o Linux OS e são de código aberto.

A abertura da temporada, ou melhor, as estações, é Atom, devido à incrível combinação de design moderno, flexibilidade e extensões. No entanto, na busca de recursos, os desenvolvedores ignoraram um detalhe pequeno, mas importante, devido ao qual há muitos inconvenientes.
Instalação
De alguma forma, eles escreveram sobre ele em Habré no contexto da comparação de editores de texto e ferramentas de desenvolvimento para Windows, mas desde então muita água fluiu e os usuários do sistema operacional Linux não ficarão surpresos com o fato de um bom editor também ser gratuito.
Instalar o editor não é diferente de instalar qualquer outro pacote dos repositórios, mas para o Gentoo Atom ainda não se estabilizou.
(2:53)$ eix -e atom * app-editors/atom : (0) ~1.23.3 (beta) [M]~1.24.0_beta3 {test PYTHON_TARGETS="python2_7"} : https://atom.io : A hackable text editor for the 21st Century
Você pode instalar uma opção instável pré-gravando
app-editors/atom ~amd64
para o arquivo /etc/portage/package.accept_keywords
. No entanto, isso permite instalar apenas a versão antiga.
(2:56)$ sudo emerge -av app-editors/atom These are the packages that would be merged, in order: Calculating dependencies... done! ... < > app-editors/atom-1.23.3::gentoo
Portanto, proponho alguns cantos cortados. Baixe o arquivo deb mais recente e instale o comando dpkg
, que também está disponível no Gentoo.
(2:62)$ sudo dpkg --no-force-depends -i atom-amd64.deb
A equipe emite uma nuvem de avisos, mas o editor é silenciosamente instalado como resultado.
Características do projeto nuclear
A linha curta do projeto é o slogan de um editor de texto hackável para o século XXI . Isso pode ser traduzido como um editor de texto facilmente reprogramável para o século XXI .
Esta é precisamente a sua característica que provavelmente é a chave. O Atom não apenas possui ferramentas poderosas para as necessidades de um escritor e desenvolvedor técnico, mas também tem a capacidade de alterar e personalizar qualquer coisa.
Você pode até mudar a aparência do editor, se souber JavaScript, para uma parte significativa dos leitores da Habré, essa não é uma questão que julgue pela nuvem de tags . De fato, tudo é um pouco diferente.
Quase todas as configurações são armazenadas em arquivos CSON e têm a seguinte aparência:
"*": core: telemetryConsent: "limited" themes: [ "one-dark-ui" "base16-tomorrow-light-theme" ] "exception-reporting": userId: "b5dd74b8-b105-47ef-b89b-4e0f21b8d946"

Se isso lembra JSON, você não está tão longe da verdade, é o primo dele, por assim dizer. Talvez CSON não tão vyrviglazny mais legível devido ao fato de possuir menos colchetes, não há necessidade de citar tudo e escapar. Para comparação, o mesmo objeto em dois dialetos.
Objeto JSON { "greatDocumentaries": [ "earthlings.com", "forksoverknives.com", "cowspiracy.com" ], "importantFacts": { "emissions": "Livestock and their byproducts account for at least 32,000 million tons of carbon dioxide (CO2) per year, or 51% of all worldwide greenhouse gas emissions.\nGoodland, R Anhang, J. “Livestock and Climate Change: What if the key actors in climate change were pigs, chickens and cows?”\nWorldWatch, November/December 2009. Worldwatch Institute, Washington, DC, USA. Pp. 10–19.\nhttp://www.worldwatch.org/node/6294", "milk": "1,000 gallons of water are required to produce 1 gallon of milk.\n“Water trivia facts.” United States Environmental Protection Agency.\nhttp://water.epa.gov/learn/kids/drinkingwater/water_trivia_facts.cfm#_edn11", "more": "http://cowspiracy.com/facts" } }
E a mesma coisa no CSON.
Objeto CSON # !!! # ! greatDocumentaries: [ 'earthlings.com' 'forksoverknives.com' 'cowspiracy.com' ] # ! importantFacts: # ! ! emissions: ''' Livestock and their byproducts account for at least 32,000 million tons of carbon dioxide (CO2) per year, or 51% of all worldwide greenhouse gas emissions. Goodland, R Anhang, J. “Livestock and Climate Change: What if the key actors in climate change were pigs, chickens and cows?” WorldWatch, November/December 2009. Worldwatch Institute, Washington, DC, USA. Pp. 10–19. http://www.worldwatch.org/node/6294 ''' milk: ''' 1,000 gallons of water are required to produce 1 gallon of milk. “Water trivia facts.” United States Environmental Protection Agency. http://water.epa.gov/learn/kids/drinkingwater/water_trivia_facts.cfm#_edn11 ''' more: 'http://cowspiracy.com/facts'
Os estilos são editados através de alterações em arquivos *.less
. Por exemplo, para alterar a aparência do status de uma barra, é necessário registrar ~/.atom/styles.less
no arquivo.
.status-bar { color: white; background-color: black; }

A propósito, por que *.less
vez de *.css
? Menos é um pré-processador CSS. No entanto, você pode escrever estilos CSS comuns com *.less
calm soul em arquivos *.less
, o manipulador percebe as duas opções igualmente.
As associações de teclas também são editadas editando o arquivo CSON, as configurações são armazenadas no arquivo ~./atom/keymap.cson
'atom-text-editor': 'enter': 'editor:newline' 'atom-text-editor[mini] input': 'enter': 'core:confirm'
Isso define a configuração para dois contextos diferentes da tecla Enter
: no modo de edição e no modo de seleção em várias opções de prompt.
As configurações globais são definidas no arquivo ~./atom/config.cson

Além disso, você pode definir as configurações separadamente para cada PL ou linguagem de marcação do mesmo arquivo ~./atom/config.cson
. Algo pode ser configurado através da interface gráfica.

Diferentemente das configurações globais e de ponto, o script de inicialização ~./atom/init.coffee
é escrito em CoffeeScript . Nas capturas de tela 2-4, você pode ver de onde chamar o script: Edit ⇒ Init Script
. O código no script de inicialização tem acesso total à API Atom , também pode ser escrito em JavaScript simples e chamado ~./atom/init.js
Pacotes e modularidade
Nenhum editor é perfeito, mas se tiver uma API clara para extensões, poderá ser suficientemente aproximada ao ideal. Eu não tinha extensões para editar textos técnicos:
- asciidoc-preview
- contagem de palavras
e eles voam mesmo sem reiniciar o programa.

As extensões Atom são convenientes não apenas para consumir, mas também para criar. Existe um package-generator
, no menu você pode chamá-lo em Packages ⇒ Package Generator
. Chamar o utilitário do assistente de extensão levará à criação da estrutura esquelética de um novo projeto em ~/.atom/packages
.
my-package/ ├─ grammars/ ├─ keymaps/ ├─ lib/ ├─ menus/ ├─ spec/ ├─ snippets/ ├─ styles/ ├─ index.js └─ package.json
Github
Outro destaque do editor é que seu autor serrar não apenas qualquer pessoa no GitHub, mas o próprio GitHub. Devido a isso, o Atom é inicialmente integrado ao GItHub através da extensão do mesmo nome.

A lista de funções git
disponíveis na guia Git :
- Inicializar
- Clonar
- Branch
- Estágio
- Rejeitar
- Confirmar
- Alterar
- Push
- Pull
- Resolver conflitos
- Exibir solicitações pull
Através da ligação de teclas, as mesmas funções estão disponíveis.
O próprio editor
A edição de código ou texto técnico no Atom é muito conveniente, com exceção de um mal-entendido, sobre o qual falarei na subposição de uma mosca na pomada. Existem todas as ferramentas necessárias: adição e substituição automáticas, trechos, verificação de sintaxe.

Para os autores Habr necessários, o Markdown possui uma visualização, destaque da sintaxe e criação de tabelas que passam pela table+tab
.
| Header One | Header Two | | :------------- | :------------- | | Item One | Item Two |
Desvantagens
O mais importante deles é a verificação ortográfica confusa, infelizmente, isso não pode ser chamado de outra forma. A verificação ortográfica é uma costura completa quando se trata não de YP, mas de linguagem comum. Por alguma razão eu não entendo, a verificação ortográfica não funciona no idioma russo para textos Markdown, Asciidoc e outros tipos de arquivos. Parece uma pequena desvantagem, mas por causa disso você não pode usar o editor normalmente.
Também há uma falta de suporte ao R ; o próprio Vim não possui as desvantagens listadas, embora não seja um "editor do século XXI".
Em geral, considero o Atom um editor adequado e útil que amadurecerá para o estágio correto e poderá se tornar, se não um substituto do Vim, pelo menos seu assistente sênior.