Apakah ada cara untuk mengikuti tautan yang disebutkan di halaman manual? Misalnya, inilah halaman manual untuk ps
; bagaimana cara mengakses tautan yang ditandai dengan warna merah?
Apakah ada cara untuk mengikuti tautan yang disebutkan di halaman manual? Misalnya, inilah halaman manual untuk ps
; bagaimana cara mengakses tautan yang ditandai dengan warna merah?
Jawaban:
Halaman manual berasal dari Unix First Edition . Sementara hiperteks telah ditemukan, masih dalam masa bayi; web adalah dua dekade lagi, dan manual adalah buku cetak yang sebenarnya, sering dengan satu perintah per halaman jika mereka cocok (itu sebabnya mereka disebut halaman).
Format yang digunakan untuk halaman buku panduan telah berevolusi sejak itu, tetapi sebagian besar halaman tidak benar-benar dirancang untuk hypertext, dan man
program default tidak mendukungnya (itu hanya penampil teks biasa, dengan peretasan untuk mendukung beberapa format dasar). Namun ada program melihat halaman manual yang merekonstruksi beberapa hyperlink, terutama tautan ke halaman manual lain, yang secara tradisional ditulis dalam bentuk di man(1)
mana man
nama halaman manual dan 1
adalah nomor bagian :
Anda dapat menelusuri halaman manual dari beberapa sistem operasi, yang dikonversi ke HTML oleh man2html
atau alat serupa, di sejumlah situs online, misalnya:
Beberapa waktu setelah halaman manual menjadi format dokumentasi yang sudah mapan pada unix dan beberapa saat sebelum web ditemukan, proyek GNU memperkenalkan format dokumentasi info , lebih maju daripada manusia sambil tetap menggunakan markup sederhana yang dirancang untuk terminal teks. Inovasi utama info dibandingkan dengan manusia adalah memiliki dokumentasi multi-halaman dengan hyperlink ke halaman lain. Info masih merupakan format dokumentasi yang disukai untuk proyek-proyek GNU, meskipun sebagian besar halaman Info dihasilkan dari sumber Texinfo (atau terkadang format lain) yang juga dapat menghasilkan HTML. Ketika dokumentasi info untuk suatu program ada, seringkali itu adalah manual utama, sementara halaman manual hanya berisi informasi dasar tentang argumen baris perintah.
M-x man
(dan C-h v mode-name
sedang Man
): setidaknya dalam satu aspek, ini lebih unggul daripada WoMan
karena menampilkan tabel ( tangkapan layar ). Tentu saja, itu juga hyperlink.
b
, dengan cara itu. Untuk pengguna paradigma antarmuka mana ini mungkin intuitif?
page(N)
tautan bodoh menjadi hyperlink. Cukup terkejut bahwa tidak disebutkan dalam jawaban Gilles dalam kualitas itu.
Pertama-tama, ini bukan tautan. Itu hanya garis bawah. Halaman manual hanyalah dokumen teks dengan sedikit format sederhana yang dapat ditangani terminal. Garis bawahnya hanyalah highlight, tidak ada "tautan" yang terlibat.
man
Perintah normal hanyalah formatter teks. Bahkan man
perintah tersebut bahkan tidak menampilkan teks, man
cukup memformat informasi yang disimpan dalam file halaman manual [1] dan mengirimkan output yang diformat ke program lain (biasanya less
) yang menampilkan output yang diformat ke layar. Program tampilan ini tidak memiliki konsep tautan.
Ada beberapa pembaca dokumentasi khusus yang mungkin dapat melihat pemformatan seperti itu dan membuat tebakan yang berpendidikan bahwa sorotan semacam itu mungkin menunjukkan bahwa ada halaman manual terkait yang dapat ditarik dan dibuat tautan, tetapi saya tidak tahu yang mana yang bisa. Mungkin pinfo
?
Jika Anda ingin pemformatan seperti web dengan hyperlink, Anda dapat menemukan hampir semua halaman manual UNIX online dengan tautan yang ditambahkan. Coba ketikkan di man [anything]
google dan Anda hampir pasti akan mendapatkannya di hit pasangan pertama.
Dalam contoh Anda, penyorotan visual adalah petunjuk bahwa itu adalah nama program lain yang memiliki halaman manualnya sendiri yang dapat Anda tarik dengan mudah. Coba man 1 top
. Angka 1 menunjukkan bagian dari halaman manual untuk dilihat. Lihat pertanyaan ini untuk penjelasan bagian: Apa arti angka-angka di halaman manual?
[1] Jika Anda membuka man
file halaman dalam editor teks, Anda akan melihat man
halaman mentah yang tidak diformat agar mudah dibaca. man
Halaman mentah ditulis dalam bahasa markup yang disebut troff
. Untuk informasi lebih lanjut tentang troff
dan cara menulis man
halaman, lihat: https://liw.fi/manpages/ .
man 1 top
?? Maksud saya itu harus seperti ps 1 top
karena saya menemukan tautan di halaman manual untuk ps
. "Pria 1 top" tidak masuk akal bagi saya. Mohon klarifikasi.
top(1)
"tautan", Anda perlu membuka top
halaman manual dari bagian 1. Untuk informasi lebih lanjut tentang bagian lihat man (1). ps 1 top
tidak masuk akal, karena Anda hanya akan menjalankan ps
perintah dengan beberapa params aneh.
readlink
muncul di bagian 1 dan bagian 2 dan printf
di bagian 1 dan 3. Jika Anda hanya mengetik man command
, manusia mencoba bagian dalam urutan numerik dan menampilkan yang pertama kali ditemukan, atau Anda dapat menentukan dengan spesifik man # command
, yang harus Anda lakukan untuk mendapatkan dokumentasi untuk readlink
system call
Ini adalah jawaban yang sangat terlambat tetapi gunakan w3mman. w3mman adalah pager manual sistem oleh w3m.
https://linux.die.net/man/1/w3mman
Anda dapat mencobanya dengan menginstal paket w3m. Saya percaya paket ini terdaftar dalam repositori perangkat lunak dari sebagian besar distribusi Linux / UNIX dan Cygwin.
w3mman
juga disediakan dengan w3m
instalasi Macports default . Sangat bagus :) Terima kasih!
Biarkan saya mencoba menafsirkan pertanyaan Anda sedikit lebih dalam arti di mana saya mencoba mengikuti alur kerja Anda. Apa yang Anda mungkin ingin miliki adalah kombinasi kunci dalam man
halaman yang mengarahkan Anda langsung ke perintah yang digarisbawahi yang sedang Anda baca. Jadi, tidak harus menginstal yang lain, juga tidak membuka konsol lain dan melupakan sintaks yang tepat misalnya.
Solusi paling sederhana ini adalah tanda seru (jika Anda menggunakan less
untuk menampilkan halaman manual) dan Anda ingin pergi ke yang digarisbawahi top
:
!man top
Atau
!man 1 top
Anda harus menutup semuanya dengan menekan q
beberapa kali. Perhatikan juga bahwa ini tidak akan berfungsi jika LESSSECURE=1
ditetapkan sebagai variabel lingkungan yang akan dijalankan less
dalam mode aman dan tidak memungkinkan Anda untuk menggunakannya !
. Ini akan memberi tahu Anda sesuatu seperti "Perintah tidak tersedia".
Meskipun w3mman adalah solusi untuk mengikuti tautan, tidak menggunakan semua layar (setidaknya di ubuntu 12.10)
Saya lebih suka menggunakan:
$ sudo su -
# apt-get install w3m man2html
# exit
$ alias man=' hman -P w3m'
tambahkan perintah terakhir ke ~ / .bash_aliases atau skrip startup serupa untuk mendapatkannya di setiap sesi.
The -P w3m adalah browser pertama yang hman adalah lynx atau masuk akal-browser tapi aku lebih suka w3m
hman adalah alat yang dibundel pada html2man. Lihat ini
Jika keluar dengan konfirmasi mengganggu Anda, bagi saya gunakan ini
Khusus untuk Ubuntu, ada Yelp. Ini diinstal secara default dan secara default dapat menampilkan halaman manual, meskipun permintaan untuk melakukannya, tidak sama dengan man
perintah; fungsi alias atau shell dapat bekerja di sekitar titik terakhir (tergantung pada shell Anda).
yelp 'man:exit'
Ini akan default ke bagian dengan cara saya tidak tahu. Pengingat: untuk mendapatkan daftar bagian untuk topik manual, gunakan whatis
, seperti pada whatis exit
.
Untuk meminta Yelp menampilkan halaman manual dari bagian tertentu, katakan 2, lakukan:
yelp 'man:exit(2)'
Masalah: yelp memiliki bug dan bersiaplah untuk mendapatkan beberapa kesalahan saat menjalankannya dari baris perintah. Selain itu, alias atau fungsi shell khusus dapat membantu mengalihkan semua kesalahan/dev/null
Seperti yang mereka katakan, itu tidak dirancang untuk itu.
Anda dapat menggunakan info man
dan kemudian tekan enter setelah Anda berada di bagian LIHAT JUGA pada item Anda.
info - baca dokumen Info
Saya memiliki (beberapa) retasan.
Letakkan ini di ~ / .bashrc atau ~ / .zshrc Anda
function man(){
for arg in "$@"; do
vim -c 'execute "normal! :let no_man_maps = 1\<cr>:runtime ftplugin/man.vim\<cr>:Man '"${arg}"'\<cr>:wincmd o\<cr>"'
done
}
Tangkapan layar ..
Asciinema ..
https://asciinema.org/a/130131
Sekarang..
ketika Anda mengetik man vim
, misalnya, itu akan membuka halaman manual ini dalam vim
man man vim
, misalnya, pertama akan membuka man
manual dan setelah Anda keluar dari vim, itu akan membuka vim
manualketika Anda menekan K(itu modal k
) ketika Anda berada di halaman manual lain di bagian bawah (bagian LIHAT JUGA ), Anda akan melompat ke manual ini (sayangnya di dalam pager kurang - ini karena kita miliki let no_man_maps = 1
; jika Anda tidak lakukan itu, maka vim akan memaksa q
untuk menjadi :q
dan Anda tidak akan dapat merekam makro dengan mudah, dan vim akan berperilaku winkily dengan cara lain).
Anda mendapatkan sorotan sintaks yang sangat cantik karena Anda telah memuat ftplugin / man.vim dan ft (otomatis) diatur ke man
.
Anda dapat menyalin dan menempel, bernavigasi dengan bebas di vim, dan bahkan memodifikasi buffer dan :w ~/usefulfile
. Anda dapat melakukan semua yang biasa Anda lakukan di vim, termasuk merekam makro, menarik ke clipboard dengan "+y
(jika Anda punya +clipboard
), dll, dll.
Saya merasa jauh lebih baik daripada kurang .
Satu-satunya kekurangan kecil yang saya temukan (yang masih ada jika Anda menggunakan lebih sedikit sebagai pager Anda) adalah jika Anda ingin memiliki banyak manual terbuka dalam satu sesi vim. Saya tidak benar-benar melihat cara untuk melakukan ini.
Beberapa catatan:
jika Anda mencoba menyimpan buffer, Anda akan mendapatkannya E382: Cannot write, 'buftype' option is set
Anda masih bisa menyimpan like :w /tmp/man.man
.man
ekstensi, maka membukanya akan mengatur jenis file man
untuk Anda.man
ekstensi, Anda bisa mengatur ft ke man
dengan menjalankan:set ft=man
jika Anda perlu melakukan hal-hal saat membuka halaman manual yang dapat Anda gunakan autocmd VimEnter *.~ echom 'hooray, we are using vim for man pages!'
, misalnya.
Saya telah memasukkan yang berikut ini di vimrc saya sehingga saya bisa menekan Kuntuk mencoba membuka manual, dan kemudian tekan Guntuk kembali ke manual sebelumnya:
augroup man
autocmd!
autocmd VimEnter *.~ nnoremap B :execute "normal! `Z"<cr>
autocmd VimEnter *.~ nnoremap <buffer> K :execute "normal! mZyiw:Man \<lt>c-r>\"\<lt>cr>"<cr>
augroup END
letakkan ini di ~ / .bashrc atau ~ / .zshrc Anda
function man(){
declare -a args
for arg in "$@"; do
command man "$arg" > "/tmp/${arg}.man"
args+=("/tmp/${arg}.man")
done
vim "${args[@]}"
}
Tangkapan layar ..
Asciinema ..
https://asciinema.org/a/9Q6Si90Pi46cDVUknxFxfIwsv
Ini menyelesaikan masalah yang meretas wajah 1 dan lebih sedikit (sekarang Anda dapat melihat banyak manual dalam satu buffer), tetapi ini kurang elegan.
Catatan:
PENTING jika Anda ingin hack2 bekerja, maka Anda harus menempatkan :let no_man_maps = 1
di Anda ~/.vimrc
. Ini karena vim akan sumber .../vim80/man.vim
dan q
akan dipetakan secara paksa ke :q
.
ada lebih banyak pembersihan yang terlibat (sekarang Anda menyimpan setiap manual ke /tmp/*.man )
Anda sekarang dapat, tetapi, melihat beberapa halaman manual dalam satu sesi, seperti yang disebutkan di atas
jika Anda menekan K, Anda masih akan membuka sesi vim baru
autocmd VimEnter man.~ nnoremap <buffer> K :execute "normal! Byt(:silent !man \<c-r>\" > /tmp/\<c-r>\".man\<cr>:edit /tmp/\<c-r>\".man\<cr>"
atau sesuatu yang gila seperti itu ( belum diuji )Saya dapat menggunakan --html
argumen untuk man
membukanya di browser yang ditentukan oleh variabel lingkungan $ BROWSER, jadi:
BROWSER=google-chrome man ps --help
Saya menggunakan Fedora. Tidak yakin apakah ini berfungsi untuk distro Anda, silakan uji dan laporkan dalam komentar.
groff
perlu diinstal. The groff
perintah mungkin ada sedangkan paket dengan nama yang sama tidak (perintah datang dengan groff-base
, tidak penuh groff
paket). Ya man --html="surf file%c//%s" <command>
, dan tidak apa-apa. Ada hiperteks yang sangat sangat terbatas: - /.
man is an interface to the on-line reference manuals
yang (jika saya tidak salah) berarti harus menarik semua info dari beberapa halaman web di internet, kan? Jadi, ada yang tahu apa itu tautan http: //?