Bisakah nano melakukan highlight sintaksis seperti gedit dan vim? Bagaimana saya bisa mengaktifkannya? Saya membutuhkan setidaknya sintaks bash dan python highlight.
Bisakah nano melakukan highlight sintaksis seperti gedit dan vim? Bagaimana saya bisa mengaktifkannya? Saya membutuhkan setidaknya sintaks bash dan python highlight.
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 mereka ke file konfigurasi nano pengguna Anda yang hadir ~/.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 banyak file)
Catatan: Terkadang Anda mungkin mendapatkan segmentation fault
setelah Anda mengedit ~/.nanorc
file Anda . Jika kesalahan seperti itu terjadi, menghapus variabel lingkungan LANG membantu. Anda dapat menghapusnya dengan unset LANG
di terminal. (Solusi diperoleh dari sini )
Ada juga solusi lain jika Anda tidak puas dengan bash highlighting. Salah satu contohnya dapat ditemukan di sini
Anda juga dapat menulis include /usr/share/nano/*
ke file ~ / .nanorc untuk memungkinkan semua bahasa disorot jika versi nano Anda mendukungnya.
/etc/nanorc
- apakah pengaturan global ditimpa oleh ~/.nanorc
? Bagaimana cara saya menonaktifkan .nanorc
?
~/.nanorc
file.
include
baris tidak mengaktifkan highlight sintaks walaupun saya belum .nanorc
?
ls -1 /usr/share/nano/*.nanorc | sed 's/^\//include \//' >> ~/.nanorc
tambahkan semuanya ke file .nanorc Anda, atau buat jika tidak ada.
include /usr/share/nano/*
tidak bekerja
Ya Anda bisa, namun definisi sintaksis standarnya sangat buruk dan tidak lengkap. Saya mempertahankan definisi yang lebih akurat di 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 warna yang ingin Anda warnai, dan Anda harus menyesuaikan warna ini dengan preferensi Anda. Fitur yang ALL.nanorc
dijelaskan untuk semua file yang belum diklasifikasikan. Ini adalah alat yang Anda butuhkan untuk memulai, bukan produk akhir yang dipoles.
Saya menggunakan perintah ini untuk dengan cepat mengaktifkan semua bahasa yang tersedia.
find /usr/share/nano/ -iname "*.nanorc" -exec echo include {} \; >> ~/.nanorc
Sebagaimana disebutkan dalam jawaban lain, /usr/share/nano/
berisi definisi untuk berbagai bahasa.
$ 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
Disebutkan juga, untuk mengaktifkan penyorotan untuk suatu bahasa, Anda menambahkan include
dan path ke definisi bahasa yang ingin Anda aktifkan ke ~/.nanorc
file Anda . Jadi, misalnya, untuk mengaktifkan C / C ++ Anda akan menambahkan baris ini.
include /usr/share/nano/c.nanorc
The find
perintah pencarian untuk file atau direktori dalam direktori yang ditentukan.
-iname
flag mengatakan itu untuk hanya mencari file dengan nama yang berakhir dengan .nanorc
.-exec
bendera mendefinisikan perintah untuk mengeksekusi pada setiap file yang ditemukan.{}
akan diganti dengan nama file.\;
digunakan untuk menandakan akhir dari perintah untuk mengeksekusi ke find
perintah.>> ~/.nanorc
menyebabkan output ditambahkan ke ~/.nanorc
file Anda .Ini harus mencakup semua plugin penyorotan sintaks yang disertakan secara default, dan apa pun 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 termasuk.
Ini berfungsi jika Anda memiliki versi nano yang menolak untuk menerima wildcard dalam file .nanorc.
Jalankan saja baris ini setiap kali Anda menambahkan konfigurasi warna .nanorc tambahan.
Saya memiliki beberapa sintaks nano yang disorot di github saya .
Ada contoh screenshot langsung untuk html dan php:
dan
Anda dapat menggunakan ini untuk memasukkan semua: (tambahkan ini ke file ~ / nanorc)
include "/usr/share/nano/*.nanorc"
Selamat coding!
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
Pengendali sintaks yang paling lengkap dan terkini untuk nano dipertahankan di sini .
Untuk menginstal semua stabilo untuk pengguna Anda jalankan:
cd /tmp
git clone https://github.com/tech4david/nano-highlight.git
cd nano-highlight/
make install
echo "include ~/.nano/syntax/ALL.nanorc" >> ~/.nanorc
git clone
. Konten atau /tmp
folder akan dihapus pada setiap sistem mulai dan karena itu Anda tidak pernah dapat menjalankan git pull
.
js
tidak bash
atau shell-script
dan saya telah menempatkan tautan di belakang kata here
. Dimana masalahnya?
make install
semua file sintaks akan disalin ke tempat yang aman di mana mereka berada: ~/.nano/syntax
.
Bagi mereka yang mengalami masalah setelah mengikuti instruksi di atas, periksa juga apakah Anda memiliki definisi ganda . Ini akan menonaktifkan semua penyorotan sintaks untuk semua file . Saya mengalami 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)\>"
(...)
Saya menemukan penyorotan sintaks untuk js di sini .
Saya menambahkannya ke file pengguna saya di ~/.nanorc
Namun untuk mendapatkan file yang dapat saya tambahkan, saya harus menyalin terlebih dahulu dari /usr/share/nano/nanorc.nanorc
ke folder lokal saya terlebih dahulu ~/.nanorc
.
Saya tidak sengaja menonaktifkan penyorotan menggunakan pintasan keyboard Alt+ Y. Ini dapat dinyalakan kembali dengan cara pintas keyboard yang sama.
Saya tahu ini adalah utas lama tetapi semoga solusi saya dapat membantu
edit file di / etc / nanorc
Dari baris 243 Anda dapat menemukan banyak file termasuk. Cukup batalkan komentar yang Anda butuhkan, simpan dan lakukan.
## Nanorc files
include "/usr/share/nano/nanorc.nanorc"
## C/C++
include "/usr/share/nano/c.nanorc"
## Makefiles
include "/usr/share/nano/makefile.nanorc"
## Cascading Style Sheets
include "/usr/share/nano/css.nanorc"
## Debian files
include "/usr/share/nano/debian.nanorc"
## Gentoo files
# include "/usr/share/nano/gentoo.nanorc"
Saya tidak yakin jika Anda memperbarui nano apakah perubahan ini akan hilang.
Saya baru saja membuat skrip ini untuk menambahkan warna ke nano: Tapi tentu saja Anda harus memiliki kode warna di / usr / share / nano agar ini berfungsi. Jika ada kesalahan: cukup edit file ~ / .nanorc secara manual dan hapus baris yang memberikan kesalahan.
#!/bin/bash
for i in `ls /usr/share/nano`
do
echo "include /usr/share/nano/$i" >> ~/.nanorc
done