Nano có thể làm nổi bật cú pháp như gedit và vim không? Làm thế nào tôi có thể kích hoạt nó? Tôi cần ít nhất bash và python cú pháp nổi bật.
Nano có thể làm nổi bật cú pháp như gedit và vim không? Làm thế nào tôi có thể kích hoạt nó? Tôi cần ít nhất bash và python cú pháp nổi bật.
Câu trả lời:
Trình soạn thảo nano cung cấp tô sáng cú pháp cho một vài ngôn ngữ và tập lệnh. Thủ tục thanh toán/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
Liên kết chúng với tệp cấu hình nano của người dùng của bạn ~/.nanorc
với một cái gì đó tương tự với dòng này:
nits@nits-excalibur:~$ cat ~/.nanorc
include /usr/share/nano/sh.nanorc
Bây giờ, tô sáng cú pháp được bật trong nano cho bất kỳ tệp nào bạn đã liên kết (Bạn cũng có thể liên kết nhiều tệp)
Lưu ý: Đôi khi bạn có thể nhận được segmentation fault
sau khi bạn đã chỉnh sửa ~/.nanorc
tệp của mình . Nếu xảy ra lỗi như vậy, việc bỏ đặt biến môi trường LANG sẽ giúp. Bạn có thể bỏ đặt nó unset LANG
trong thiết bị đầu cuối. (Giải pháp thu được từ đây )
Ngoài ra còn có các giải pháp khác nếu bạn không hài lòng với việc làm nổi bật bash của bạn. Một ví dụ như vậy có thể được tìm thấy ở đây
Bạn cũng có thể ghi include /usr/share/nano/*
vào tệp ~ / .nanorc để cho phép tất cả các ngôn ngữ được tô sáng nếu phiên bản nano của bạn hỗ trợ.
/etc/nanorc
- các cài đặt toàn cầu có bị ghi đè ~/.nanorc
không? Làm thế nào để tôi vô hiệu hóa .nanorc
?
~/.nanorc
tập tin.
include
dòng không bật cú pháp nổi bật mặc dù tôi không có .nanorc
?
ls -1 /usr/share/nano/*.nanorc | sed 's/^\//include \//' >> ~/.nanorc
nối tất cả chúng vào tập tin .nanorc của bạn hoặc tạo nó nếu nó không tồn tại.
include /usr/share/nano/*
không hoạt động
Có, bạn có thể, tuy nhiên các định nghĩa cú pháp mặc định khá nghèo nàn và không đầy đủ. Tôi đang duy trì một bộ định nghĩa chính xác hơn ở đây , cho bất kỳ ai thấy chúng hữu ích.
Để cài đặt, chạy:
git clone https://github.com/nanorc/nanorc.git
cd nanorc
make install
Thêm các dòng này vào ~ / .nanorc
include ~/.nano/syntax/html.nanorc
include ~/.nano/syntax/css.nanorc
include ~/.nano/syntax/php.nanorc
include ~/.nano/syntax/ALL.nanorc
Chỉ định những màu bạn muốn tô màu và bạn sẽ phải điều chỉnh các màu này theo sở thích của mình. Các ALL.nanorc
tính năng mô tả cho tất cả các tệp chưa được phân loại. Đây là những công cụ bạn cần để bắt đầu, không phải là sản phẩm được đánh bóng cuối cùng.
Tôi đã sử dụng lệnh này để nhanh chóng kích hoạt tất cả các ngôn ngữ có sẵn.
find /usr/share/nano/ -iname "*.nanorc" -exec echo include {} \; >> ~/.nanorc
Như đã đề cập trong các câu trả lời khác, /usr/share/nano/
chứa các định nghĩa cho các ngôn ngữ khác nhau.
$ 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
Cũng được đề cập, để bật tính năng tô sáng cho một ngôn ngữ, bạn thêm include
và đường dẫn đến định nghĩa ngôn ngữ bạn muốn bật vào ~/.nanorc
tệp của mình . Vì vậy, ví dụ, để kích hoạt C / C ++, bạn sẽ thêm dòng này.
include /usr/share/nano/c.nanorc
Các find
lệnh tìm kiếm cho các tập tin hoặc thư mục trong thư mục chỉ định.
-iname
lá cờ nói với nó để chỉ tìm kiếm file với một tên kết thúc bằng .nanorc
.-exec
cờ xác định một lệnh để thực thi trên mỗi tệp được tìm thấy.{}
thay thế bằng tên tập tin.\;
được sử dụng để biểu thị sự kết thúc của lệnh để thực thi find
lệnh.>> ~/.nanorc
làm cho đầu ra được gắn vào ~/.nanorc
tệp của bạn .Điều này sẽ bao gồm tất cả các plugin tô sáng cú pháp được bao gồm theo mặc định và bất kỳ plugin nào bạn thêm vào / usr / share / nano:
find /usr/share/nano -name '*.nanorc' -printf "include %p\n" > ~/.nanorc
Hoặc, chỉnh sửa / etc / nanorc và xem nếu bạn có thể bỏ ghi chú bao gồm.
Điều này hoạt động nếu bạn có một phiên bản nano từ chối chấp nhận các ký tự đại diện trong tệp .nanorc.
Chỉ cần chạy dòng này mỗi khi bạn thêm một cấu hình màu .nanorc bổ sung.
Tôi có một số cú pháp tô sáng nano tại github của tôi .
Có các ảnh chụp màn hình ví dụ trực tiếp cho html và php:
và
Bạn có thể sử dụng điều này để bao gồm tất cả: (thêm tệp này vào ~ / tệp nanorc)
include "/usr/share/nano/*.nanorc"
Chúc mừng mã hóa!
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
Các hilighters cú pháp đầy đủ và cập nhật nhất cho nano được duy trì ở đây .
Để cài đặt tất cả các công cụ tô sáng cho người dùng của bạn, chỉ cần chạy:
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
. Nội dung otf /tmp
thư mục sẽ bị xóa trên mỗi lần khởi động hệ thống và do đó bạn không bao giờ có thể chạy a git pull
.
js
không phải là bash
hay shell-script
và tôi đã đặt liên kết phía sau chữ here
. Vấn đề ở đâu?
make install
tất cả các tệp cú pháp được sao chép vào nơi an toàn nơi chúng thuộc về : ~/.nano/syntax
.
Đối với những người gặp rắc rối sau khi làm theo các hướng dẫn ở trên, cũng kiểm tra xem bạn có định nghĩa trùng lặp không . Chúng sẽ vô hiệu hóa tất cả các cú pháp tô sáng cho tất cả các tệp . Tôi đã gặp phải điều này sau khi thêm một nanorc.nanorc
tập tin và không nhận ra rằng tôi ~/.nanorc
đã có một phần giống hệt nhau, tức là:
## 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)\>"
(...)
Tôi tìm thấy cú pháp tô sáng cho js ở đây .
Tôi đã thêm nó vào tập tin người dùng của tôi tại ~/.nanorc
Tuy nhiên, để có được một tập tin mà tôi có thể nối vào, trước tiên tôi phải sao chép từ /usr/share/nano/nanorc.nanorc
thư mục cục bộ của mình trước ~/.nanorc
.
Tôi vô tình tắt tính năng tô sáng bằng phím tắt Alt+ Y. Nó có thể được bật lại với cùng một phím tắt.
Tôi biết đó là một chủ đề cũ nhưng có thể giải pháp của tôi có thể giúp
chỉnh sửa tập tin tại / etc / nanorc
Từ dòng 243 bạn có thể tìm thấy rất nhiều tập tin bao gồm. Đơn giản chỉ cần bỏ qua những cái bạn cần, lưu và thực hiện.
## 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"
Tôi không chắc nếu bạn cập nhật nano thì những thay đổi này sẽ biến mất.
Tôi chỉ tạo tập lệnh này để thêm màu vào nano: Nhưng tất nhiên bạn phải có mã màu trong / usr / share / nano để nó hoạt động. Nếu có lỗi: chỉ cần chỉnh sửa thủ công tệp ~ / .nanorc và xóa các dòng đưa ra lỗi.
#!/bin/bash
for i in `ls /usr/share/nano`
do
echo "include /usr/share/nano/$i" >> ~/.nanorc
done