ターミナルでUnixのマンページを読んでいるときに、特定のフラグの説明に簡単にジャンプするにはどうすればよいですか?
たとえば、mount
の-o
フラグの意味を知る必要があります。 man mount
を実行し、-o
が記述されている場所にジャンプしたいと思います。現在、私は/-o
を検索していますが、そのオプションは実際に説明されているセクションの前のいくつかの場所で言及されているため、かなりジャンプする必要があります。
ありがとう。
私がしていることは、次のように旗の前にいくつかの空白スペースを置くことです:
/ -o
これは100%信頼できるわけではありませんが、はるかに少ないフープを飛び越えます。さらに良い成功率が必要な場合は、"/^ +-o"
を試してください。これにより、空白で始まり、その後に-oが続く行が見つかります。しかし、私はその奇妙な文字列を頻繁に入力したくありません。
この関数を.bashrc
で定義しました
function manswitch () { man $1 | less -p "^ +$2"; }
次のように使用できます
manswitch grep -r
this commandlinef から取得しました。
注:less
の-p
スイッチへの引数は、(^
)で始まる行を探すように指示する正規表現であり、その後に1つ以上のスペース(+
)が続きますスイッチ(2番目の引数。つまり$2
)によって、さまざまなフォーマットで作業できるという利点があります。
また、コマンドラインから特定の位置にあるマニュアルページを開くことができます。
man -P 'less -p " -o"' mount
@piccobelloの答えは素晴らしいですが、それは私のmanページの色を食べていました。 less
にパイプする代わりに(通常、man
はデフォルトですでにless
を使用しているため)、変更したless
コマンドをman
に渡すだけです。 :
function manswitch() { man -P "less -p \"^ +$2\"" $1 }
これは、@ piccobelloが彼の関数で持っていた機能を保持しますが、色は保持します。
他のソリューションは非常に優れていますが、manページは単なるデータであり、Linuxではほとんどすべてのことを簡単に実行できることを忘れないでください。
man some-command> file.txt
ページをプレーンテキストファイルに変換し、操作できるようにします。 bashマニュアルのコピーをテキストとしてbinディレクトリに保存しているので、テキストエディタにロードして検索し、スクリプトの編集中にコピーして貼り付けることができます。
または、次のようなフィルターにパイプすることもできます
男いくつかのコマンド| grep-A行-「いくつかのパターン」の後
ターミナルでは機能しませんが、私は(友人の助けを借りて)manページを取得してWebブラウザーに表示するスクリプトを作成したので、ナビゲーション/検索機能の方がはるかに優れています。未満より。少しkdeに依存しますが、簡単に変更できます。
flagman と呼ばれる、まさにこれを行うツールを作成しました。まだ開発中ですが、すでに使用可能です。例えば:
$ ./flagman mount -o
-o, --options opts
Use the specified mount options. The opts argument is a comma-separated list. For example:
mount LABEL=mydisk -o noatime,nodev,nosuid
For more details, see the FILESYSTEM-INDEPENDENT MOUNT OPTIONS and FILESYSTEM-SPECIFIC MOUNT OPTIONS sections.