答え1
VimをMANPAGER
創造的な目的に使用します。隠れるそしてiskeyword
、次のようにすることができます。
setlocal nowrap
setlocal conceallevel=3
setlocal concealcursor=nvic
exe "setlocal iskeyword+=\b,_"
syntax match BACKHIDE '.\b' conceal contained
syntax match BOLD '\(.\)\b\1' contains=BACKHIDE
syntax match Underlined '_\b.' contains=BACKHIDE
highlight BOLD cterm=bold
バックスペースなどのキーがまだ存在するため、クエリを使用すると、次のように*
強調表示された単語のみが一致します。
man
太字は見つかりましたが、man
現在行の法線は見つかりませんでした。
そして詳細設定(恥ずかしいプラグ)Vimは快適なポケットベルを提供man
しますless
。
Vimに関連する設定を適用するには:
- 環境変数が適切な場合
MANPAGER='vim -'
。 には
~/.vim/vimrc
少なくとも以下があります。set nocompatible filetype plugin on syntax on if !empty($MAN_PN) autocmd StdinReadPost * set ft=man | file $MAN_PN endif
man
を使用して実行されたコマンドの場合、MANPAGER
マンページ名が環境変数に提供されますMAN_PN
。これを使用して、Vimが使用されている時期を検出し、マンMANPAGER
ページ名を見つけることができます。存在する
~/.vim/ftplugin/man.vim
:setlocal nolist setlocal buftype=nofile setlocal bufhidden=hide setlocal noswapfile setlocal readonly setlocal nomodifiable setlocal nowrap setlocal conceallevel=3 exe "setlocal iskeyword+=\b,_" setlocal concealcursor=nvic nnoremap q :q!<CR> nnoremap <Space> <PageDown>
これらのオプションは、変更不可能な読み取り専用スクラッチバッファを生成します(参照:ステージングバッファはどのように生成されますか? Vim Wikipediaから)、スワップファイルを無効にします。次に、この資料の冒頭に記載されている設定を適用し、便宜上いくつかのマッピングを追加します。に示すように、
q
現在のマンページが閉じて1ページ下に移動します。Spacebarless
存在する
~/.vim/after/syntax/man.vim
:syntax match BACKHIDE '.\b' conceal contained syntax match BOLD '\(.\)\b\1' contains=BACKHIDE syntax match Underlined '_\b.' contains=BACKHIDE highlight BOLD cterm=bold
この資料の冒頭にある構文と強調表示コマンドは次のとおりです。
次の最小設定のみが必要です。
一番上の行がどのように強調されているかを見てください。 Vim自体にはマンページ構文の強調が含まれており、col -b -x
バックスペースキーを削除すると(たとえばを使用して)これを見ることができます。しかし、この方法で得るよりも失う方がはるかに多いです。なぜなら、Vimは下線や太字で表示されているすべてを知る方法がないからです。
自分の個人設定を使ってモロカイ色スキーム、、、set number
航空会社のプラグイン、および次の項目のさまざまな強調表示BOLD
:
highlight link BOLD Constant
そして、ターミナル設定で透明度を有効にしたので(スクリーンショットには表示されません)、色はここに見えるよりも滑らかで満足です。
:set number
私のように行番号()を有効にしている場合は、テキスト全体を表示するために横にスクロールする必要がないように、次のMANWIDTH
小さい値に設定してください。 80列ターミナルに適しています。私は画面と同じくらい広い(解像度に応じて160〜240列)ドロップダウンターミナルを使用しているので、固定ターミナルは私にぴったりです。COLUMNS
MANWIDTH=75
MANWIDTH=80
答え2
私が知る限り、きれいな方法はありません。
アンダースコア/太字の表示に対するバックスペースの特別な処理を解除し、エスケープされたless
バックスペースを使用して目的の文字列を検索できます。
- 開いていない(例
man less
:) - OFF 下線 - 特殊(TYPE
-U<Enter>
) <C-v>
バックスペース文字でエスケープされた検索文字列を入力します。
たとえば、下線付きのテキストの場合は、次のように入力できます。
/_<C-v><C-h>l_<C-v><C-h>e_<C-v><C-h>s_<C-v><C-h>s<Enter>
...下線付きの単語「less」を検索してください。
太字のテキストの場合は、次のように入力できます。
/l<C-v><C-h>le<C-v><C-h>es<C-v><C-h>ss<C-v><C-h>s<Enter>
...太字の単語「less」を検索してください。
私が言ったように、いいえきれい方法。
編集する:Stephaneがコメントで指摘したように、リテラルの代わりにドット(すべての文字と一致)を使用できるため、<C-h>
入力が簡単になります。
/l.le.es.ss.s
太字で検索して、
/_.l_.e_.s_.s
下線を引いたものを検索してください。
それでもUNDERLINE-SPECIALを最初にオフにする必要があります。これにより、下線付き/太字のテキストを読みにくくなります。
答え3
太字または下線が引かれている場合は、検索できない可能性があります。現在の。
たとえば、テキストが書式設定されたマンページから出てきた場合、カンクン文字は次のように解釈されて生成されます。
- 太字(各文字がバックスペースと反復によって叩かれすぎる場合)または
- アンダースコア(すべての文字がアンダースコア文字の上に書かれている場合)
これless
ポケットベルのFAQのコメントによると説明する太字/下線を引く。実際の太字/下線を表示するには、ターミナルビデオプロパティを使用します。
レンダリング中に、一般的なポケットベル(たとえば)は保存のみを行うようless
になります。テキスト(太字/下線の部分はテキストではありません)。
テキストエディタでバックスペースパターンを検索できます。たぶん、一部の特定のエディタ(emacsなど)にはこれを行う機能があります。つまり、テキストを検索しますが(太字/下線が表示されている場合)、検索属性として太字/下線を考慮します。
バックスペースキーを読むのはそれほど楽しくありません。これは質問で参照されているマンページの始まりです。
r^Hre^Hea^Had^Hd [-^He^Her^Hrs^Hs] [-^Ha^Ha _^Ha_^Hn_^Ha_^Hm_^He] [-^H> _^Hp_^Hr_^ho_^Hm_^Hp_^Ht] [-^Ht^Ht _^Ht_^こんにちは_^Hm_^he_^ho_^Hu_^Ht] [-^Hu> 標準入力またはファイルから1行を読む -^Hu^Huオプション>に引数として提供される記述子_^Hf_^Hd 最初の単語はfirst_^Hn_^Ha_^Hm_^Heに割り当てられ、2番目の単語は> 2番目の_^ Hn_^ Ha_^ Hm_^ Heなど、残りの単語と対応> ing区切り文字は最後の_^Hn_^Ha_^Hm_^Heに割り当てられます。もしあれば > 名前、残りの名前よりも入力ストリームから読み取った単語
答え4
bash
あなたの質問に対する直接的な答えではありませんが、このような大きなマニュアルで文書を見つけやすくするために、次の選択肢を試すことができます。
次のようなさまざまな形式を使用してください。info
ほとんどのGNUソフトウェアマニュアルと同様に、このbash
マニュアルはさまざまな形式(man、info、pdf、html...)が派生したtexinfoで書かれています。
マンページは次のとおりです。ページいくつかの理由。フォント書式(インデント、太字、下線、すべて大文字)で唯一の構造が実行される単純なテキストファイルです。
この程度の規模のマニュアルのために本一つよりページ。
man
気づいたけどページ例、実装された情報本はい。章、目次、参考文献、インデックスなどの概念を持っており、すべて検索が可能です。
Bashに関するread
本の組み込み機能を理解するには、インデックスを調べる必要があります。でをinfo
入力してi
からread
(完了可能)と入力すると、組み込み文書の文書に直接移動されますread
(,
含まれている次のインデックス項目に移動するために使用されますread
)。info
で始めることもできますinfo bash read
。
本で組み込み関数の部分を見たい場合は、インデックスを再確認するか、目次を見ればよい。とinfo
と同じです。i
g
検索する
HTMLは別のハイパーテキスト形式(info
WebとHTMLよりも優先)であり、大規模なマニュアルに最適です。 Webブラウザは通常一度に1ページしか検索できないため、パフォーマンスが低下しますが、info
オンラインではduckduckgoやgoogleなどの検索エンジンを使用してドキュメントを検索できます。
bash read builtin site:gnu.org
または、索引付けread
を使用できます。https://www.gnu.org/software/bash/manual/html_node/Builtin-Index.html#Builtin-Index
他の形式に基づいてマニュアルページを検索する
次のことを試すこともできます。
read
行の先頭から検索:/^\s*read
- また、完全な言葉で:
/^\s*read\>/
また、目次形式を取得するためにセクションヘッダーのインデントが少ないという事実を利用することもできます。
ページネーターからインデントされたテキストを非表示にすると、少なくとも4列だけインデントされたテキストを非表示に
most
できます。1:od
4:od
less
以下を使用して同じ操作を実行できます。これにより、次の内容が表示されます。&^\S
&^ {,3}\S
[...] RESERVED WORDS SHELL GRAMMAR Simple Commands Pipelines Lists Compound Commands Coprocesses Shell Function Definitions COMMENTS QUOTING [...]
興味のあるセクションに簡単に移動できます(その後、
&
全文をもう一度表示するにはスペースを入力するか、または:od
に入力しますmost
)。