Ada banyak editor teks serta alat pengembangan dan sulit untuk memilih yang diperlukan dari mereka. Saya mengusulkan untuk berkenalan dengan perwakilan terbaik dari kelas program ini dari antara yang tersedia untuk OS Linux dan bersifat open source.

Pembukaan musim, atau lebih tepatnya musim, adalah Atom, karena kombinasi luar biasa dari desain modern, fleksibilitas dan ekstensi. Namun, dalam mengejar fitur, pengembang mengabaikan detail kecil namun penting karena ada banyak ketidaknyamanan.
Instalasi
Entah bagaimana mereka menulis tentang dia di Habré dalam konteks membandingkan editor teks dan alat pengembangan untuk Windows, tetapi sejak itu banyak air telah mengalir dan pengguna OS Linux tidak akan terkejut dengan kenyataan bahwa editor yang baik juga gratis.
Menginstal editor tidak berbeda dengan menginstal paket lain dari repositori, tetapi untuk Gentoo Atom belum stabil.
(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
Anda dapat menginstal opsi yang tidak stabil dengan pra-perekaman
app-editors/atom ~amd64
ke file /etc/portage/package.accept_keywords
. Namun, ini hanya memungkinkan Anda untuk menginstal versi lama.
(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
Oleh karena itu, saya usulkan sedikit jalan pintas. Unduh file deb terbaru dan instal perintah dpkg
, yang juga tersedia di Gentoo.
(2:62)$ sudo dpkg --no-force-depends -i atom-amd64.deb
Tim mengeluarkan awan peringatan, tetapi hasilnya editor diam-diam diinstal.
Fitur-fitur proyek nuklir
Garis pendek dari proyek ini adalah slogan editor teks yang dapat diretas untuk abad ke-21 . Ini dapat diterjemahkan sebagai editor teks yang mudah diprogram ulang untuk abad ke-21 .
Ini justru fitur-nya yang mungkin kuncinya. Atom tidak hanya memiliki alat yang kuat untuk kebutuhan penulis dan pengembang teknis, tetapi juga memiliki kemampuan untuk mengubah dan menyesuaikan apa pun.
Anda bahkan dapat mengubah tampilan editor, jika Anda tahu JavaScript, untuk sebagian besar pembaca Habré ini bukan pertanyaan yang dihakimi oleh tag cloud . Faktanya, semuanya sedikit berbeda.
Hampir semua pengaturan disimpan dalam file CSON dan terlihat seperti ini:
"*": core: telemetryConsent: "limited" themes: [ "one-dark-ui" "base16-tomorrow-light-theme" ] "exception-reporting": userId: "b5dd74b8-b105-47ef-b89b-4e0f21b8d946"

Jika ini mengingatkan Anda pada JSON, maka Anda tidak jauh dari kebenaran, itu adalah sepupunya, jadi untuk berbicara. Mungkin CSON tidak begitu vyrviglazny lebih mudah dibaca karena memiliki kurung lebih sedikit, tidak perlu mengutip semuanya dan melarikan diri. Sebagai perbandingan, objek yang sama dalam dua dialek.
Objek 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" } }
Dan hal yang sama di CSON.
Objek 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'
Gaya diedit melalui perubahan ke file *.less
Sebagai contoh, untuk mengubah tampilan status bar, perlu mendaftarkan ~/.atom/styles.less
dalam file.
.status-bar { color: white; background-color: black; }

By the way, mengapa *.less
bukan *.css
? Less adalah preprocessor CSS. Namun, Anda dapat menulis gaya CSS biasa dengan *.less
soul soul di file *.less
, pawang memahami kedua opsi secara sama.
Binding kunci juga diedit dengan mengedit file CSON, pengaturan disimpan dalam file ~./atom/keymap.cson
'atom-text-editor': 'enter': 'editor:newline' 'atom-text-editor[mini] input': 'enter': 'core:confirm'
Ini menetapkan pengaturan untuk dua konteks berbeda dari tombol Enter
: dalam mode edit dan dalam mode pilih dari beberapa opsi prompt.
Pengaturan global diatur dalam file ~./atom/config.cson

Selain itu, Anda dapat mengatur pengaturan secara terpisah untuk setiap PL, atau bahasa markup dari file yang sama ~./atom/config.cson
. Sesuatu dapat dikonfigurasi melalui antarmuka grafis.

Tidak seperti pengaturan global dan titik, skrip inisialisasi ~./atom/init.coffee
ditulis dalam CoffeeScript . Pada tangkapan layar 2-4, Anda dapat melihat dari mana memanggil skrip: Edit ⇒ Init Script
. Kode dalam skrip inisialisasi memiliki akses penuh ke API Atom , juga dapat ditulis dalam JavaScript biasa dan disebut ~./atom/init.js
Paket dan modularitas
Tidak ada editor yang sempurna, tetapi jika memiliki API yang jelas untuk ekstensi, maka itu dapat cukup mendekati ideal. Saya tidak memiliki ekstensi untuk mengedit teks teknis:
- pratinjau asciidoc
- jumlah kata
dan mereka terbang bahkan tanpa me-restart program.

Ekstensi atom tidak hanya nyaman dikonsumsi, tetapi juga untuk dibuat. Ada package-generator
, di menu Anda dapat memanggilnya dari Packages ⇒ Package Generator
. Memanggil utilitas ekstensi wizard akan mengarah pada pembuatan struktur kerangka proyek baru di ~/.atom/packages
.
my-package/ ├─ grammars/ ├─ keymaps/ ├─ lib/ ├─ menus/ ├─ spec/ ├─ snippets/ ├─ styles/ ├─ index.js └─ package.json
Github
Sorot lain dari editor adalah penulisnya menggergaji bukan sembarang orang di GitHub, tetapi GitHub itu sendiri. Karena itu, Atom pada awalnya terintegrasi dengan GItHub melalui ekstensi dengan nama yang sama.

Daftar fungsi git
tersedia melalui tab Git :
- Inisialisasi
- Klon
- Cabang
- Panggung
- Buang
- Berkomitmen
- Ubah
- Dorong
- Tarik
- Atasi konflik
- Lihat Permintaan Tarik
Melalui pengikatan kunci, fungsi yang sama tersedia.
Editor itu sendiri
Kode pengeditan, atau teks teknis dalam Atom sangat mudah, dengan pengecualian satu kesalahpahaman, yang akan saya katakan dalam subjudul lalat di salep. Ada semua alat yang diperlukan: penambahan dan penggantian otomatis, cuplikan, pemeriksaan sintaksis.

Untuk Habr-author yang diperlukan, Markdown memiliki pratinjau, penyorotan sintaksis dan pembuatan tabel terbang melalui table+tab
.
| Header One | Header Two | | :------------- | :------------- | | Item One | Item Two |
Kekurangan
Yang paling penting dari mereka adalah periksa ejaan yang berantakan, sayangnya, ini tidak bisa disebut sebaliknya. Pemeriksaan ejaan adalah jahitan lengkap ketika datang bukan untuk YP, tetapi untuk bahasa biasa. Untuk beberapa alasan saya tidak mengerti, pemeriksa ejaan tidak berfungsi untuk bahasa Rusia untuk teks Markdown, Asciidoc dan tipe file lainnya. Kelihatannya ini adalah kelemahan kecil, tetapi karena itu Anda tidak dapat menggunakan editor secara normal.
Ada juga kurangnya dukungan R , Vim sendiri tidak memiliki kelemahan yang terdaftar, meskipun itu bukan "editor abad ke-21".
Secara umum, saya menganggap Atom sebagai editor yang cocok dan berguna yang akan matang untuk tahap yang tepat dan dapat menjadi, jika bukan pengganti Vim, maka setidaknya asisten seniornya.