Pertanyaan Bagaimana cara mengaktifkan penyorotan sintaks di nano?


Bisakah nano melakukan penyorotan sintaks seperti gedit dan vim? Bagaimana saya bisa mengaktifkannya? Saya membutuhkan setidaknya bash dan sintaks sintaks python.


149
2017-12-23 15:20


asal


Terima kasih banyak untuk file-file syntax di git repo, saya menggunakan ini di semua server saya sekarang ... pertahankan kerja bagus sobat !!!
@TheGene Comment dan terima kasih atas jawabannya. Repo tersebut dikreditkan kepadanya, bukan saya, yang mengajukan pertanyaan. - Oxwivi


Jawaban:


Editor nano menyediakan penyorotan sintaks untuk beberapa bahasa dan skrip dengan sendirinya. Periksa /usr/share/nano/

nits@nits-excalibur:~$ ls /usr/share/nano/
asm.nanorc     fortran.nanorc   man.nanorc     ocaml.nanorc   ruby.nanorc
awk.nanorc     gentoo.nanorc    mgp.nanorc     patch.nanorc   sh.nanorc
c.nanorc       groff.nanorc     mutt.nanorc    perl.nanorc    tcl.nanorc
cmake.nanorc   html.nanorc      nano-menu.xpm  php.nanorc     tex.nanorc
css.nanorc     java.nanorc      nanorc.nanorc  pov.nanorc     xml.nanorc
debian.nanorc  makefile.nanorc  objc.nanorc    python.nanorc

Tautkan ke file konfigurasi nano pengguna Anda yang ada di ~/.nanorc dengan sesuatu yang mirip dengan baris ini:

nits@nits-excalibur:~$ cat ~/.nanorc
include /usr/share/nano/sh.nanorc

Sekarang, penyorotan sintaks diaktifkan di nano untuk file apa pun yang Anda tautkan (Anda juga bisa menautkan beberapa file)

screenshot of syntax highlighting

Catatan: Terkadang Anda mungkin mendapatkan segmentation fault setelah Anda mengeditnya ~/.nanorc mengajukan. Jika kesalahan seperti itu terjadi, tidak membuka LANG variabel lingkungan membantu. Anda dapat membatalkannya unset LANG di terminal. (Solusi yang diperoleh dari sini)

Ada juga solusi lain jika Anda tidak puas dengan penyorotan bash Anda. Salah satu contohnya dapat ditemukan sini

Anda juga bisa menulis include /usr/share/nano/* ke file ~ / .nanorc untuk mengaktifkan semua bahasa yang akan disorot jika versi nano Anda mendukungnya.


148
2017-12-23 16:07



Garis-garis tersebut tidak ditandai di /etc/nanorc - adalah pengaturan global yang ditimpa oleh ~/.nanorc? Bagaimana cara menonaktifkannya .nanorc? - Oxwivi
Oh tunggu, aku bahkan tidak punya ~/.nanorc mengajukan. - Oxwivi
Tunggu, tunggu, bagaimana pengaturan global dengan semua include garis tidak mengaktifkan highlight sintaks meskipun saya belum .nanorc? - Oxwivi
ls -1 /usr/share/nano/*.nanorc | sed 's/^\//include \//' >> ~/.nanorc tambahkan semuanya ke file .nanorc Anda, atau buat jika tidak ada. - Thom Porter
include /usr/share/nano/* tidak bekerja - Jarek Jakubowski


Ya, Anda bisa, namun definisi sintaks default cukup miskin dan tidak lengkap. Saya mempertahankan satu set definisi yang lebih akurat sini, bagi siapa saja yang menganggapnya berguna.

Untuk menginstal, jalankan:

git clone https://github.com/nanorc/nanorc.git
cd nanorc
make install

Tambahkan baris ini ke ~ / .nanorc

include ~/.nano/syntax/html.nanorc
include ~/.nano/syntax/css.nanorc
include ~/.nano/syntax/php.nanorc
include ~/.nano/syntax/ALL.nanorc

Tentukan yang ingin Anda warnai, dan Anda harus menyesuaikan warna-warna ini dengan preferensi Anda. Itu ALL.nanorc menjelaskan fitur untuk semua file yang belum diklasifikasi. Ini adalah alat yang Anda butuhkan untuk memulai, bukan produk akhir yang dipoles.


72
2017-08-27 16:17



Terima kasih untuk menjaga definisi sintaksis yang bagus di GitHub. - Rubens Mariuzzo
File * .js saya tidak berfungsi ... diedit / etc / nanorc untuk menghapus sintaks lainnya termasuk sesuai FAQ github.com/nanorc/…. Nano nanorc - Carlton
Saya baru saja menginstal sintaks Anda di Mac OSX. Hanya ada satu hal yang saya perhatikan, yang merupakan warna hitam dari braket terbuka di python yang hilang dengan latar belakang hitam terminal saya - Tom Busby
Sebenarnya ada masalah, beberapa teks berwarna hitam! Jika latar belakang terminal kami hitam, kata-kata ini tidak terlihat! - dukevin
+ druciferre menyediakan perintah hebat di bawah ini yang menambahkan semua file sintaks secara otomatis ke file .nanorc Anda. Saya mengubah jalur untuk menunjuk ke lokasi pemasangan default Anda: find $HOME/.nano/syntax/ -iname "*.nanorc" -exec echo include {} \; >> ~/.nanorc - wasatchwizard


Saya menggunakan perintah ini untuk mengaktifkan semua bahasa yang tersedia dengan cepat.

find /usr/share/nano/ -iname "*.nanorc" -exec echo include {} \; >> ~/.nanorc

Seperti yang disebutkan dalam jawaban lainnya, /usr/share/nano/ berisi definisi untuk bahasa yang berbeda.

$ ls /usr/share/nano
asm.nanorc     fortran.nanorc   man-html       ocaml.nanorc   ruby.nanorc
awk.nanorc     gentoo.nanorc    man.nanorc     patch.nanorc   sh.nanorc
cmake.nanorc   groff.nanorc     mgp.nanorc     perl.nanorc    tcl.nanorc
c.nanorc       html.nanorc      mutt.nanorc    php.nanorc     tex.nanorc
css.nanorc     java.nanorc      nanorc.nanorc  pov.nanorc     xml.nanorc
debian.nanorc  makefile.nanorc  objc.nanorc    python.nanorc

Juga disebutkan, untuk mengaktifkan sorotan untuk bahasa, Anda tambahkan include dan jalur menuju definisi bahasa yang ingin Anda aktifkan untuk Anda ~/.nanorc mengajukan. Jadi, misalnya, untuk mengaktifkan C / C ++ Anda akan menambahkan baris ini.

include /usr/share/nano/c.nanorc

Itu find perintah pencarian untuk file atau direktori dalam direktori yang ditentukan.

  • Itu -iname bendera memberitahukannya untuk hanya mencari file dengan nama yang diakhiri .nanorc.
  • Itu -exec flags mendefinisikan perintah untuk dieksekusi pada setiap file yang ditemukan.
  • Itu {} diganti dengan nama file.
  • \; digunakan untuk menandai akhir dari perintah untuk mengeksekusi ke find perintah.
  • Akhirnya, >> ~/.nanorc menyebabkan keluaran ditambahkan ke Anda ~/.nanorc mengajukan.

37
2017-10-18 18:22



tip besar dan penjelasan, terima kasih banyak pria! ;) - daveoncode


Ini harus menyertakan semua plugin penyorotan sintaks yang disertakan secara default, dan semua yang Anda tambahkan ke / usr / share / nano:

find /usr/share/nano -name '*.nanorc' -printf "include %p\n" > ~/.nanorc

Atau, edit / etc / nanorc dan lihat apakah Anda dapat menghapus komentar yang disertakan.

Ini berfungsi jika Anda memiliki versi nano yang menolak untuk menerima wildcard di file .nanorc.

Cukup jalankan baris ini setiap kali Anda menambahkan konfigurasi warna .nanorc tambahan.


6
2017-12-28 14:23





Saya memiliki beberapa sintaks nano di github saya.

Ada contoh screenshot langsung untuk html dan php:

enter image description here

dan

enter image description here


2
2018-05-03 06:57





wget -r -nH --cut-dirs=3 --no-parent --reject="index.html*" https://nanosyntax.googlecode.com/svn/trunk/syntax-nanorc/ -P ~/.nano-syntax
for i in `ls --color=never -1 ~/.nano-syntax/*.nanorc` ; do echo "include $i" >> ~/.nanorc ; done

1
2018-06-28 03:08



Akan sangat membantu jika Anda bisa menjelaskan mengapa ini adalah jawaban yang berguna untuk pengguna yang lebih baru. Apa perintahnya? Apa yang berubah? Secara acak menyarankan untuk menjalankan baris perintah tidak membantu. - Kevin Bowen


Penghapus sintaks paling lengkap dan terbaru untuk nano dipertahankan sini.

Untuk menginstal semua stabilo untuk pengguna Anda, jalankan saja:

cd /tmp
git clone https://github.com/tech4david/nano-highlight.git
cd nano-highlight/
make install
echo "include ~/.nano/syntax/ALL.nanorc" >> ~/.nanorc

1
2017-07-29 10:21



Solusinya bagus, tapi saya akan menggunakan folder lain untuk git clone. Isi otf tersebut /tmp folder akan dihapus pada setiap awal sistem dan oleh karena itu Anda tidak pernah bisa menjalankan git pull. - A.B.
Tag bahasa Anda salah. js tidak bash atau shell-script dan saya telah menempatkan tautan di belakang kata itu here. Dimana masalahnya? - A.B.
@ A.B. tidak masalah jika folder itu hilang sejak kapan Anda make install semua file sintaks disalin ke tempat yang aman di mana mereka berada: ~/.nano/syntax. - Pablo Bianchi


Anda dapat menggunakan ini untuk menyertakan semua: (tambahkan ini ke ~ / file nanorc)

include "/usr/share/nano/*.nanorc"

Selamat coding!


1
2018-02-12 04:00





Saya menemukan penyorotan sintaks untuk js sini.

Saya menambahkannya ke file pengguna saya di ~/.nanorc

Namun untuk mendapatkan file yang bisa saya tambahkan, saya harus menyalinnya terlebih dahulu /usr/share/nano/nanorc.nanorc ke folder lokal saya dulu sebagai ~/.nanorc.


0
2017-07-05 23:21





Bagi mereka yang mengalami kesulitan setelah mengikuti petunjuk di atas, periksa juga apakah Anda punya duplikat definisi. Ini akan dinonaktifkan semua penyorotan sintaks untuk semua data. Saya bertemu dengan ini setelah menambahkan nanorc.nanorc file, dan tidak menyadari bahwa saya ~/.nanorc sudah memiliki bagian yang identik, yaitu:

## Here is an example for nanorc files.
##
syntax "nanorc" "\.?nanorc$"
## Possible errors and parameters
icolor brightwhite "^[[:space:]]*((un)?set|include|syntax|i?color).*$"
## Keywords
icolor brightgreen "^[[:space:]]*(set|unset)[[:space:]]+(autoindent|backup|$
icolor green "^[[:space:]]*(set|unset|include|syntax)\>"
(...)

0
2018-02-19 04:50