Bagaimana cara mengikuti tautan di halaman manual linux?
92
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?
Juga, saya melihat bahwa man is an interface to the on-line reference manualsyang (jika saya tidak salah) berarti harus menarik semua info dari beberapa halaman web di internet, kan? Jadi, ada yang tahu apa itu tautan http: //?
its_me
10
Di sini "on-line" berarti "di komputer" (berlawanan dengan "di atas kertas"), bukan "di Internet".
Gilles
1
"On-Line": Anda mungkin ingat game-game Quest "Petualangan" untuk PC yang dikeluarkan oleh perusahaan (saat itu) bernama Sierra On-Line. halaman manual: Cara terbaik untuk menelusuri halaman manual adalah dengan menggunakan editor Anda. Dengan begitu, menavigasi, mencari (dll.) Teks akan sangat lancar karena setiap pintasan ada di memori otot Anda sejak lama. Juga, katakan Anda bekerja pada proyek pemrograman - Anda dapat menyalin dari halaman manual ke dalam kode Anda. Tidak kurang dari interaksi yang mulus. Lihat ini dan komentar saya untuk jawaban @Gilles .
Emanuel Berg
Jawaban:
52
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 manprogram 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 mannama halaman manual dan 1adalah nomor bagian :
tkman , penampil halaman manual GUI dengan hyperlink
man2html , konverter pria ke HTML (plus peramban web untuk membaca hasilnya)
Anda dapat menelusuri halaman manual dari beberapa sistem operasi, yang dikonversi ke HTML oleh man2htmlatau 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.
Jawaban bagus! Juga patut disebutkan adalah bahwa ada mode lain untuk halaman manual di Emacs, yang (paling tidak saya) dapatkan dengan adil M-x man(dan C-h v mode-namesedang Man): setidaknya dalam satu aspek, ini lebih unggul daripada WoMankarena menampilkan tabel ( tangkapan layar ). Tentu saja, itu juga hyperlink.
Emanuel Berg
1
Antarmuka pengguna program info terasa salah dan kontra-intuitif. Saya belum pernah melihat orang menggunakan itu.
Pavel Šimerda
@ PavelŠimerda> Antarmuka pengguna program info terasa salah dan kontra-intuitif. <Emm, dibandingkan dengan apa? Untuk kurang (1) (yang merupakan pager default untuk man (1) di GNU) - hal itu, di mana Anda harus mengingat cara menggulir kembali , karena <backspace> tidak terikat (dan <pgup> mungkin tidak berfungsi sama sekali) ? Kunci utamanya adalah b, dengan cara itu. Untuk pengguna paradigma antarmuka mana ini mungkin intuitif?
Dmitry Alexandrov
@ PavelŠimerda> Saya belum pernah melihat orang menggunakan itu. <Selalu gunakan info (1) untuk membaca halaman manual ketika dikunci di terminal teks untuk alasan yang tepat, yang tidak seperti kurang (1) itu memang mengubah page(N)tautan bodoh menjadi hyperlink. Cukup terkejut bahwa tidak disebutkan dalam jawaban Gilles dalam kualitas itu.
Dmitry Alexandrov
37
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.
manPerintah normal hanyalah formatter teks. Bahkan manperintah tersebut bahkan tidak menampilkan teks, mancukup 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 manfile halaman dalam editor teks, Anda akan melihat manhalaman mentah yang tidak diformat agar mudah dibaca. manHalaman mentah ditulis dalam bahasa markup yang disebut troff. Untuk informasi lebih lanjut tentang troffdan cara menulis manhalaman, lihat: https://liw.fi/manpages/ .
Tahu kenapa itu man 1 top?? Maksud saya itu harus seperti ps 1 topkarena saya menemukan tautan di halaman manual untuk ps. "Pria 1 top" tidak masuk akal bagi saya. Mohon klarifikasi.
its_me
Ada juga beberapa sumber daya yang membuat halaman manual tersedia di internet, dengan referensi diganti oleh href, yang dapat diklik.
gabe.
1
Jika Anda ingin mengikuti top(1)"tautan", Anda perlu membuka tophalaman manual dari bagian 1. Untuk informasi lebih lanjut tentang bagian lihat man (1). ps 1 toptidak masuk akal, karena Anda hanya akan menjalankan psperintah dengan beberapa params aneh.
rvs
2
@ Aahan itu man 1 top karena Anda ingin melihat halaman manual untuk perintah teratas di bagian 1 dari halaman manual online. Referensi atas (1) berarti hanya itu, teratas di bagian 1 dari halaman buku panduan. Untuk melihat itu, Anda mengetik "man 1 top" di prompt. Lihat "man man"
gabe.
1
@Aaran: Bagian "dari manual membahas berbagai topik. Bagian 1 adalah perintah pengguna (hal yang Anda ketikkan pada prompt) bagian 2 adalah panggilan sistem dan sebagainya. Beberapa string muncul di lebih dari satu bagian. Pada mesin saya aktif sekarang readlinkmuncul di bagian 1 dan bagian 2 dan printfdi 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 readlinksystem call
dmckee
12
Ini adalah jawaban yang sangat terlambat tetapi gunakan w3mman. w3mman adalah pager manual sistem oleh w3m.
Anda dapat mencobanya dengan menginstal paket w3m. Saya percaya paket ini terdaftar dalam repositori perangkat lunak dari sebagian besar distribusi Linux / UNIX dan Cygwin.
Balasan terlambat yang menambahkan beberapa jawaban untuk pertanyaan yang belum disebutkan, tidak pernah menjadi masalah! Selamat datang di Unix & Linux StackExchange!
Bernhard
w3mmanjuga disediakan dengan w3minstalasi Macports default . Sangat bagus :) Terima kasih!
sampablokuper
8
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 manhalaman 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 lessuntuk menampilkan halaman manual) dan Anda ingin pergi ke yang digarisbawahi top:
!man top
Atau
!man 1 top
Anda harus menutup semuanya dengan menekan qbeberapa kali. Perhatikan juga bahwa ini tidak akan berfungsi jika LESSSECURE=1ditetapkan sebagai variabel lingkungan yang akan dijalankan lessdalam mode aman dan tidak memungkinkan Anda untuk menggunakannya !. Ini akan memberi tahu Anda sesuatu seperti "Perintah tidak tersedia".
Khusus untuk Ubuntu, ada Yelp. Ini diinstal secara default dan secara default dapat menampilkan halaman manual, meskipun permintaan untuk melakukannya, tidak sama dengan manperintah; 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
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
}
ketika Anda mengetik man vim, misalnya, itu akan membuka halaman manual ini dalam vim
jika Anda mengetik man man vim, misalnya, pertama akan membuka manmanual dan setelah Anda keluar dari vim, itu akan membuka vimmanual
ketika 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 quntuk menjadi :qdan Anda tidak akan dapat merekam makro dengan mudah, dan vim akan berperilaku winkily dengan cara lain).
keluar dari manual kedua ini yang telah Anda masukkan akan membawa Anda kembali ke manual sebelumnya yang Anda lihat
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
Saya suka bahwa Anda tidak dapat menyimpan karena mencegah sengaja menyimpannya
Anda masih bisa menyimpan like :w /tmp/man.man
jika Anda menyimpannya dengan .manekstensi, maka membukanya akan mengatur jenis file manuntuk Anda
jika Anda tidak menyimpannya dengan .manekstensi, Anda bisa mengatur ft ke mandengan 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
retas 2
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[@]}"
}
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 = 1di Anda ~/.vimrc. Ini karena vim akan sumber .../vim80/man.vimdan qakan 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
jika mau, Anda dapat mengikat autocmd (menggunakan autocmd seperti yang di atas) untuk melakukan sesuatu seperti 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 )
Opsi ini sepertinya dikenali di Ubuntu 12.04, tetapi gagal.
Hibou57
Oke, paket groffperlu diinstal. The groffperintah mungkin ada sedangkan paket dengan nama yang sama tidak (perintah datang dengan groff-base, tidak penuh groffpaket). 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: //?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 diman(1)
manaman
nama halaman manual dan1
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.
sumber
M-x man
(danC-h v mode-name
sedangMan
): setidaknya dalam satu aspek, ini lebih unggul daripadaWoMan
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. Bahkanman
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 (biasanyaless
) 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 melihatman
halaman mentah yang tidak diformat agar mudah dibaca.man
Halaman mentah ditulis dalam bahasa markup yang disebuttroff
. Untuk informasi lebih lanjut tentangtroff
dan cara menulisman
halaman, lihat: https://liw.fi/manpages/ .sumber
man 1 top
?? Maksud saya itu harus sepertips 1 top
karena saya menemukan tautan di halaman manual untukps
. "Pria 1 top" tidak masuk akal bagi saya. Mohon klarifikasi.top(1)
"tautan", Anda perlu membukatop
halaman manual dari bagian 1. Untuk informasi lebih lanjut tentang bagian lihat man (1).ps 1 top
tidak masuk akal, karena Anda hanya akan menjalankanps
perintah dengan beberapa params aneh.readlink
muncul di bagian 1 dan bagian 2 danprintf
di bagian 1 dan 3. Jika Anda hanya mengetikman command
, manusia mencoba bagian dalam urutan numerik dan menampilkan yang pertama kali ditemukan, atau Anda dapat menentukan dengan spesifikman # command
, yang harus Anda lakukan untuk mendapatkan dokumentasi untukreadlink
system callIni 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.
sumber
w3mman
juga disediakan denganw3m
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 digarisbawahitop
:Atau
Anda harus menutup semuanya dengan menekan
q
beberapa kali. Perhatikan juga bahwa ini tidak akan berfungsi jikaLESSSECURE=1
ditetapkan sebagai variabel lingkungan yang akan dijalankanless
dalam mode aman dan tidak memungkinkan Anda untuk menggunakannya!
. Ini akan memberi tahu Anda sesuatu seperti "Perintah tidak tersedia".sumber
Meskipun w3mman adalah solusi untuk mengikuti tautan, tidak menggunakan semua layar (setidaknya di ubuntu 12.10)
Saya lebih suka menggunakan:
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
sumber
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).Ini akan default ke bagian dengan cara saya tidak tahu. Pengingat: untuk mendapatkan daftar bagian untuk topik manual, gunakan
whatis
, seperti padawhatis exit
.Untuk meminta Yelp menampilkan halaman manual dari bagian tertentu, katakan 2, lakukan:
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
sumber
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.sumber
Saya memiliki (beberapa) retasan.
retas 1
Letakkan ini di ~ / .bashrc atau ~ / .zshrc Anda
Tangkapan layar ..
Asciinema ..
https://asciinema.org/a/130131
Sekarang..
ketika Anda mengetik
man vim
, misalnya, itu akan membuka halaman manual ini dalam vimman man vim
, misalnya, pertama akan membukaman
manual dan setelah Anda keluar dari vim, itu akan membukavim
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 milikilet no_man_maps = 1
; jika Anda tidak lakukan itu, maka vim akan memaksaq
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 fileman
untuk Anda.man
ekstensi, Anda bisa mengatur ft keman
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:
retas 2
letakkan ini di ~ / .bashrc atau ~ / .zshrc Anda
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
danq
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 )sumber
Saya dapat menggunakan
--html
argumen untukman
membukanya di browser yang ditentukan oleh variabel lingkungan $ BROWSER, jadi:Saya menggunakan Fedora. Tidak yakin apakah ini berfungsi untuk distro Anda, silakan uji dan laporkan dalam komentar.
sumber
groff
perlu diinstal. Thegroff
perintah mungkin ada sedangkan paket dengan nama yang sama tidak (perintah datang dengangroff-base
, tidak penuhgroff
paket). Yaman --html="surf file%c//%s" <command>
, dan tidak apa-apa. Ada hiperteks yang sangat sangat terbatas: - /.