Tạo ít các mẫu tìm kiếm nổi bật thay vì in nghiêng chúng


23

Theo hiểu biết của tôi, người đàn ông sử dụng lessnhư một máy nhắn tin và khi tìm kiếm từ khóa bằng cách sử dụng từ khóa less"đánh dấu" bằng chữ in nghiêng. Tôi thấy điều đó thực sự bất tiện, vì vậy tôi muốn thay đổi điều này thành một cái gì đó giống như vim trong set hlsearchđó mẫu tìm thấy có một nền tảng khác.

Tôi đã cố chạy man -P vim systemdnhưng thoát với trạng thái lỗi 1, vì vậy có vẻ như tôi bị mắc kẹt less.

Không có gì mà tôi có thể tìm thấy trong man lesssự giúp đỡ đó (thay vào đó tôi phát hiện ra rằng tùy chọn đó -Gsẽ tắt làm nổi bật tất cả cùng nhau, điều thậm chí còn tệ hơn cả chữ nghiêng).

Điều đó đang được nói có ai biết làm thế nào để làm nổi bật tìm kiếm (thay đổi màu nền) trong các trang man không?

FYI tôi chạy Ubuntu 14.10

Tôi bắt gặp câu hỏi này dường như hỏi về điều tương tự nhưng tôi không chắc liệu tôi có làm theo cách này không ( LESS_TERMCAP_so). Các lesstrang người đàn ông không đề cập này. (Tôi nhận được kết quả lạ với giải pháp này)


Nó có nghĩa là bạn đặt dòng đó trong ~/.bashrctập tin của bạn . export LESS_TERMCAP_so=$'\E[30;43m'Xem câu trả lời này cũng như unix.stackexchange.com/questions/38634/ ​​Khăn
iyrin

1
Thỉnh thoảng tôi sử dụng man man | vim -để tận dụng cấu hình, khóa và chức năng vim của mình
JJoao

Bạn đã tìm ra một giải pháp cho điều này? Tôi có cùng một vấn đề trên một máy và tôi không thể tìm ra sự khác biệt. LESS_TERMCAP_soBiến trên làm cho toàn bộ tệp biến thành nền màu cam ...
user1338062

Tôi sợ rằng tôi vẫn đang vật lộn với điều này
sgp667

Câu trả lời:


16

Tìm thấy câu trả lời trên siêu người dùng: /superuser/566082/less-doesnt-highlight-search

Có vẻ như nó phải được thực hiện với cài đặt HẠN của bạn. Ví dụ: ít tô sáng hoạt động bình thường (tô sáng nền trắng) khi trong cửa sổ gnome-terminal bình thường, nhưng khi tôi ở tmux, chữ nghiêng sẽ xảy ra. Sự khác biệt đối với tôi là TERM đang được đặt thành "màn hình" khi ở tmux, nhưng "xterm-256color" khi không. Khi tôi đặt "TERM = xterm-256color" trong cửa sổ tmux, tô sáng ít đi trở lại làm nổi bật nền.


Tôi đã cố gắng để quên câu hỏi này nhưng đây là tin tức thú vị. Ngay sau khi tôi chạm tay vào máy tính, tôi sẽ kiểm tra cái này!
sgp667

1
đây là một giải pháp không thực tế, bởi vì các ứng dụng khác phụ thuộc vào TERM được đặt thành màn hình * khi ở trong tmux, chẳng hạn như WeeChat. Khi không được đặt thành màn hình * trong tmux, WeeChat có vấn đề kết xuất kỳ lạ.
Blaine Lafreniere

Tôi đã lưu ý rằng tôi đã gặp sự cố với tmux <2.0 và không gặp sự cố kể từ tmux v2.
artfulrobot

Phát hiện tuyệt vời. Bây giờ tôi có set -g default-terminal "xterm-256color"trong ~ / .tmux.conf trên hộp CentOS 7 của mình (và các loại khác).
sshow

Kiểm tra cũng để xem nếu screen-256colortồn tại: thử ls /usr/share/terminfo/s/.
aDroid

8

Việc đề cập đến LESS_TERMCAP_solà không đầy đủ. Đó là biến môi trường đặc biệt ít được sử dụng để ghi đè sokhả năng termcap (nổi bật). Để sử dụng khả năng này, bạn cũng phải cung cấp sekhả năng (chờ).

Các terminfo (5) thủ công trang cho một bản tóm tắt của các tính năng này cho terminfo (smso / rmso) và termcap (để / se) tên:

   enter_standout_mode           smso       so        begin standout mode
   exit_standout_mode            rmso       se        exit standout mode  

Phần của nó về làm nổi bật giải thích:

Nếu thiết bị đầu cuối của bạn có một hoặc nhiều loại thuộc tính hiển thị, chúng có thể được biểu diễn theo một số cách khác nhau. Bạn nên chọn một hình thức hiển thị làm chế độ nổi bật , thể hiện định dạng tốt, độ tương phản cao, dễ nhìn, định dạng để làm nổi bật các thông báo lỗi và các biểu đồ chú ý khác. (Nếu quý vị có một sự lựa chọn, video ngược cộng với nửa sáng là tốt, hoặc video ngược lại một mình.) Các trình tự để nhập và chế độ cảnh nổi bật được cho là smsormso, tương ứng.

Nếu bạn muốn sử dụng màu cho nổi bật , bạn phải cung cấp LESS_TERMCAP_semàu tương ứng để đặt lại màu. Điều này tương đối đơn giản để thực hiện miễn là bạn không muốn sử dụng màu trong trang thủ công vì những lý do khác (chẳng hạn như sử dụng tính năng màu SGR của groff).

Giả sử giá trị được đề xuất trong một nhận xét:

export LESS_TERMCAP_so=$'\E[30;43m'

sau đó bạn có thể thiết lập lại cho hầu hết các thiết bị đầu cuối bằng cách sử dụng

export LESS_TERMCAP_se=$'\E[39;49m'

Nhân tiện, lý do cho chữ nghiêng là mô tả đầu cuối cho GNU screensử dụng chuỗi thoát tiêu chuẩn cho chữ nghiêng làm khả năng nổi bật / nổi bật của chính nó. Một số trong đó được thảo luận trong mục cơ sở dữ liệu đầu cuối .


Đây là giải pháp đầu tiên thực sự hiệu quả với tôi (trong tmux trên máy Mac). Tôi chỉ cần thêm cả hai dòng xuất khẩu ở trên vào tập tin cấu hình bash của tôi.
Marlun

Tuy nhiên, nếu tôi viết "xuất" để xem tất cả các biến môi trường của mình, mọi thứ sau khi các dòng này được tô sáng và thiết bị đầu cuối tiếp tục được tô sáng để tôi phải đóng nó xuống và bắt đầu một biến mới.
Marlun

Trong trường hợp như vậy, tôi đặt các biến vào một tập lệnh gọi chương trình cần các biến cụ thể. Các biến đã thay đổi chỉ áp dụng trong tập lệnh.
Thomas Dickey

export | lesscũng hoạt động như một cách giải quyết
Marlun

4

Nhấn ESCuđể tắt đánh dấu tìm kiếm lesssau khi tìm kiếm; một tìm kiếm mới sẽ bật lại nó, vì vậy để tắt vĩnh viễn đánh dấu tìm kiếm cho một lần truy cập phiên -G.

Thay phiên đặt LESS='-G'trong môi trường của bạn hoặc chạy mannhư vậy:

LESS='-G' man less

Trớ trêu thay đây là tất cả tài liệu trong lesstrang ...

Bạn cũng có thể đặt các mục sau trong môi trường, ví dụ .bash_profile:

export MANPAGER='less -G'

như tôi đã giải thích trong câu hỏi của mình, tôi không muốn biến nó hoàn toàn, tôi muốn thay đổi cách nó xuất hiện trên màn hình của tôi. Câu hỏi của tôi có thể đã gây hiểu lầm cho ai đó đã chỉnh sửa nó cho tôi.
sgp667

1

Đối với tmux tôi đặt TERMthành tmux-256color . Trong số những điều tốt đẹp khác, điều này có làm nổi bật ngược "thông thường" trong ít hơn . Hoạt động tốt khi sử dụng một cái gì đó hiện đại như fedora, hoặc cygwin.

$ cat ~/.tmux.conf
⋮
set-option -g default-terminal tmux-256color

Các ncurses gói trên Centos tuy nhiên không có hai định nghĩa tmux ( tmuxtmux-256color ). Tôi nhập chúng khá dễ dàng từ fedora. Nhăn nhẹ là Centos' ncurses là quá già để hiểu file terminfo fedora của trực tiếp.

Trên fedora:

$ infocmp tmux256-color >temp.txt

Trên Centos:

$ scp fedora-machine:temp.txt .
$ tic temp.txt

Sau đó, bên trong tmux :

$ TERM=tmux-256-color man tmux

Kết quả!

FYI lệnh tic đặt mô tả thiết bị đầu cuối được biên dịch vào cơ sở dữ liệu terminfo cá nhân của bạn, nghĩa là ~/.terminfo/t/tmux-256color(trong trường hợp này). Vui lòng chuyển phần này sang cơ sở dữ liệu toàn cầu nếu đó là điều bạn muốn:

$ sudo mv ~/.terminfo/t/tmux-256color /usr/share/terminfo/t/
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.