क्या एक आदमी पृष्ठ में उल्लिखित लिंक का पालन करने का एक तरीका है? उदाहरण के लिए, यहाँ के लिए मैन पेज है ps
; मैं लाल रंग में चिह्नित लिंक तक कैसे पहुँच सकता हूँ?
क्या एक आदमी पृष्ठ में उल्लिखित लिंक का पालन करने का एक तरीका है? उदाहरण के लिए, यहाँ के लिए मैन पेज है ps
; मैं लाल रंग में चिह्नित लिंक तक कैसे पहुँच सकता हूँ?
जवाबों:
मैन पेज यूनिक्स फर्स्ट एडिशन में वापस आते हैं । जबकि हाइपरटेक्स्ट का आविष्कार किया गया था, यह अभी भी शैशवावस्था में था; वेब दो दशक दूर था, और मैनुअल एक वास्तविक मुद्रित पुस्तक थी, अक्सर प्रति पृष्ठ एक कमांड के साथ यदि वे फिट होते हैं (यही कारण है कि उन्हें पेज कहा गया था)।
मैन्युअल पृष्ठों के लिए उपयोग किया जाने वाला प्रारूप तब से कुछ हद तक विकसित हुआ है, लेकिन अधिकांश पृष्ठ वास्तव में हाइपरटेक्स्ट के लिए डिज़ाइन नहीं किए गए हैं, और डिफ़ॉल्ट man
प्रोग्राम इसका समर्थन नहीं करता है (यह कुछ मूल स्वरूपण का समर्थन करने के लिए हैक्स के साथ सिर्फ एक सादा पाठ दर्शक है)। हालाँकि, कुछ हाइपरलिंक को समेटने वाले मैन पेज देखने के कार्यक्रम हैं, जो मुख्य रूप से अन्य मैन पेजों से लिंक करते हैं, जो परंपरागत रूप से उस फॉर्म पेज में लिखे जाते हैं, man(1)
जहां man
मैन पेज का नाम 1
है और सेक्शन नंबर है :
आप कई ऑपरेटिंग सिस्टम के मैनुअल पेजों को ब्राउज़ कर सकते हैं man2html
, उदाहरण के लिए ऑनलाइन कई साइटों पर HTML या इसी तरह के औजारों से परिवर्तित किया गया है :
मैन पेज के कुछ समय बाद यूनिक्स पर स्थापित प्रलेखन प्रारूप बन गया था और कुछ समय पहले वेब का आविष्कार होने से पहले, जीएनयू परियोजना ने टेक्स्ट टर्मिनलों के लिए डिज़ाइन किए गए सरल मार्कअप से चिपके रहते हुए आदमी की तुलना में अधिक उन्नत जानकारी दस्तावेज प्रारूप पेश किया। आदमी की तुलना में जानकारी का प्रमुख नवाचार अन्य पृष्ठों के लिए हाइपरलिंक के साथ बहु-पृष्ठ प्रलेखन होना था। जीएनयू परियोजनाओं के लिए जानकारी अभी भी पसंदीदा प्रलेखन प्रारूप है, हालांकि अधिकांश जानकारी पृष्ठ एक टेक्सिनफो स्रोत (या कभी-कभी अन्य प्रारूप) से उत्पन्न होते हैं जो HTML भी उत्पन्न कर सकते हैं। जब किसी प्रोग्राम के लिए जानकारी का दस्तावेज़ मौजूद होता है, तो यह अक्सर मुख्य मैनुअल होता है, जबकि मैन पेज में केवल कमांड लाइन के तर्कों के बारे में बुनियादी जानकारी होती है।
M-x man
(और C-h v mode-name
है Man
कम से कम एक पहलू में, यह करने के लिए बेहतर है:) WoMan
क्योंकि यह प्रदर्शित करता है तालिकाओं ( स्क्रीनशॉट )। बेशक, यह हाइपरलिंक भी है।
b
, इस तरह से। किस इंटरफ़ेस के प्रतिमान के उपयोगकर्ता के लिए यह सहज हो सकता है?
page(N)
। काफी आश्चर्यचकित था कि उस गुणवत्ता में गिल्स के जवाब में उल्लेख नहीं किया गया था।
सबसे पहले, यह एक कड़ी नहीं है। यह सिर्फ एक अंडरलाइन है। मैन पेज केवल थोड़े सरल प्रारूपण के साथ पाठ दस्तावेज़ हैं जो एक टर्मिनल संभाल सकता है। रेखांकित केवल एक आकर्षण है, इसमें कोई "लिंक" शामिल नहीं है।
सामान्य man
कमांड सिर्फ एक टेक्स्ट फॉर्मेटर है। वास्तव में man
कमांड टेक्स्ट को प्रदर्शित भी नहीं करता है, man
बस मैन पेज फ़ाइल [1] में संग्रहीत जानकारी को प्रारूपित करता है और स्वरूपित आउटपुट को दूसरे प्रोग्राम (आमतौर पर less
) पर भेजता है जो स्क्रीन पर स्वरूपित आउटपुट प्रदर्शित करता है। इन प्रदर्शन कार्यक्रमों में लिंक की कोई अवधारणा नहीं है।
कुछ विशेष दस्तावेज़ीकरण पाठक हैं जो इस तरह प्रारूपण को देखने में सक्षम हो सकते हैं और एक शिक्षित अनुमान लगा सकते हैं कि इस तरह के आकर्षण से संकेत मिल सकता है कि संबंधित आदमी पृष्ठ है जिसे खींचा जा सकता है और लिंक बनाया जा सकता है, लेकिन मुझे नहीं पता जो करते हैं। शायद pinfo
?
यदि आप चाहते हैं कि हाइपरलिंक के साथ फ़ॉर्मेटिंग जैसा वेब आप किसी भी UNIX मैन पेज को ऑनलाइन जोड़ सकते हैं, तो man [anything]
गूगल में टाइप करने की कोशिश करें। पहले जोड़े में आपको लगभग निश्चित रूप से एक मिलेगा।
आपके उदाहरण के मामले में, दृश्य हाइलाइटिंग एक सुराग है जो एक और प्रोग्राम का नाम है जिसका अपना स्वयं का मैन पेज है जिसे आप आसानी से खींच सकते हैं। कोशिश करो man 1 top
। 1 देखने के लिए पुरुष पृष्ठों के अनुभाग को इंगित करता है। अनुभागों की व्याख्या के लिए यह प्रश्न देखें: एक आदमी पृष्ठ में संख्याओं का क्या मतलब है?
[१] यदि आप man
टेक्स्ट एडिटर में पेज फाइल खोलते हैं , तो आपको वह कच्चा man
पेज दिखाई देगा जो आसान पढ़ने के लिए फॉर्मेट नहीं किया गया है। कच्चे man
पृष्ठ को मार्कअप भाषा में लिखा जाता है troff
। अधिक जानकारी के लिए troff
और कैसे एक लिखने के लिए man
: पृष्ठ देखें https://liw.fi/manpages/ ।
man 1 top
?? मेरा मतलब है कि यह कुछ ऐसा होना चाहिए ps 1 top
क्योंकि मुझे इसके लिए मैन पेज पर लिंक मिला ps
। "मैन 1 टॉप" से मुझे कोई मतलब नहीं है। कृपया स्पष्ट करें।
top(1)
"लिंक" का पालन करना चाहते हैं , तो आपको top
1 अनुभाग से मैनुअल पेज खोलने की आवश्यकता है । अनुभागों के बारे में अधिक जानकारी के लिए आदमी (1) देखें। ps 1 top
इसका कोई मतलब नहीं है, क्योंकि आप बस इसके ps
साथ कुछ अजीब से कमांड चलाएंगे ।
readlink
धारा 1 और खंड 2 में और printf
खंड 1 और 3 में दिखाई देता है । यदि आप सिर्फ टाइप करते हैं man command
, तो आदमी संख्यात्मक क्रम में खंडों की कोशिश करता है और पहले इसे पाता है, या आप विशिष्ट हो सकते हैं man # command
, जिसे आपको प्रलेखन प्राप्त करने के लिए करना होगा। के लिए readlink
सिस्टम कॉल।
यह बहुत देर से जवाब है लेकिन w3mman का उपयोग करें। w3mman, w3m द्वारा सिस्टम का मैनुअल पेजर है।
https://linux.die.net/man/1/w3mman
आप इसे w3m पैकेज स्थापित करके आज़मा सकते हैं। मेरा मानना है कि यह पैकेज अधिकांश प्रमुख लिनक्स / यूनिक्स वितरण और Cygwin के सॉफ़्टवेयर रिपॉजिटरी में पंजीकृत है।
w3mman
डिफ़ॉल्ट Macports w3m
स्थापना के साथ भी प्रदान किया जाता है । यह बहुत अच्छा है :) धन्यवाद!
मुझे अपने प्रश्न को थोड़ा और अर्थ में समझाने की कोशिश करें जिसमें मैं आपके वर्कफ़्लो का पालन करने की कोशिश करता हूं। जो आप शायद करना चाहते हैं, वह एक man
पृष्ठ के भीतर एक महत्वपूर्ण संयोजन है जो आपको सीधे रेखांकित आदेशों की ओर ले जाता है, जिनके बारे में आप पढ़ रहे हैं। तो, कुछ और स्थापित करने के लिए नहीं, और न ही एक और कंसोल खोलना और उदाहरण के लिए सटीक वाक्यविन्यास को भूल जाना।
यह सबसे सरल समाधान विस्मयादिबोधक चिह्न है (यदि आप less
मैन पेज प्रदर्शित करने के लिए उपयोग कर रहे हैं ) और आप रेखांकित में जाना चाहते हैं top
:
!man top
या
!man 1 top
आपको q
कई बार दबाकर उन सभी को बंद करना होगा । ध्यान दें कि यह काम नहीं करेगा यदि LESSSECURE=1
पर्यावरण चर के रूप में सेट किया गया है जो less
सुरक्षित मोड में चलेगा और आपको उपयोग करने की अनुमति नहीं देगा !
। यह आपको कुछ बताएगा जैसे "कमांड उपलब्ध नहीं"।
यद्यपि w3mman लिंक का अनुसरण करने का एक समाधान है, सभी स्क्रीन का उपयोग नहीं करता है (कम से कम ubuntu 12.10 पर)
मैं उपयोग करना पसंद करता हूं:
$ sudo su -
# apt-get install w3m man2html
# exit
$ alias man=' hman -P w3m'
हर सत्र पर इसे पाने के लिए अंतिम कमांड ~ / .bash_aliases या इसी तरह की स्टार्टअप स्क्रिप्ट में जोड़ें।
-पी w3m है क्योंकि Hman करने के लिए पहली ब्राउज़र है बनबिलाव या समझदार ब्राउज़र लेकिन मैं पसंद करते हैं w3m
hman html2man पर एक टूल बंडल है। देखें इस
तो पुष्टि के साथ बाहर निकलें, तो आप के लिए कष्टप्रद है के रूप में मुझे इस्तेमाल है इस
विशेष रूप से उबंटू के लिए, येल्प है। यह डिफ़ॉल्ट रूप से स्थापित है और डिफ़ॉल्ट रूप से मैन्युअल पृष्ठों को प्रदर्शित करने में सक्षम है, हालांकि ऐसा करने के लिए मंगलाचरण, man
कमांड के समान नहीं है ; एक उपनाम या एक शेल फ़ंक्शन बाद के बिंदु के आसपास काम कर सकता है (आपके शेल पर निर्भर करता है)।
yelp 'man:exit'
यह एक तरह से मुझे पता नहीं है अनुभाग के लिए डिफ़ॉल्ट होगा। अनुस्मारक: एक मैनुअल विषय के लिए वर्गों की सूची प्राप्त करने के लिए, का उपयोग करें whatis
, के रूप में whatis exit
।
येल्प से अनुरोध करने के लिए कि वह किसी विशिष्ट अनुभाग से मैनुअल पेज प्रदर्शित करे, 2 कहे:
yelp 'man:exit(2)'
समस्याएँ: yelp में बग होते हैं और कमांड लाइन से इसे इनवॉइस करते समय कई एरर आउटपुट प्राप्त करने के लिए तैयार रहते हैं। वहाँ भी, एक उपनाम या एक कस्टम शेल फ़ंक्शन सभी त्रुटियों को पुनर्निर्देशित करने में मदद कर सकता है/dev/null
जैसा उन्होंने कहा, यह इसके लिए डिज़ाइन नहीं किया गया था।
आप अपने आइटम पर SEE ALSO सेक्शन के info man
तहत एक बार एंट्री का उपयोग और फिर हिट कर सकते हैं ।
जानकारी - जानकारी दस्तावेज़ पढ़ें
मेरे पास कुछ (हैक) हैं।
इसे अपने ~ / .bashrc या अपने ~ / .zshrc में डालें
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
}
स्क्रीनशॉट ..
Asciinema ..
https://asciinema.org/a/130131
अभी..
जब आप लिखते हैं man vim
, उदाहरण के लिए, यह इस पृष्ठ को vim में खोलेगा
man man vim
, उदाहरण के लिए, यह पहले man
मैनुअल को खोलेगा और आपके विम से बाहर निकलने के बाद, यह vim
मैनुअल खोल देगाजब आप दबाते हैं K(वह पूंजी होती है k
) जब आप नीचे किसी अन्य मैन पेज ( एसईई अलो सेक्शन) पर होते हैं, तो आप इस मैनुअल पर कूद जाएंगे (दुर्भाग्य से कम पेजर के अंदर - यह इसलिए है क्योंकि हमारे पास है let no_man_maps = 1
; यदि आप नहीं ऐसा करें, फिर विम को बाध्य q
किया जाएगा :q
और आप आसानी से मैक्रो रिकॉर्ड करने में असमर्थ होंगे, और विम अन्य तरीकों से विजयी व्यवहार कर सकता है)।
जब से आपने ftplugin / man.vim को लोड किया है, तब से आपको बहुत सुंदर वाक्य रचना हाइलाइटिंग मिल जाती है और फ़ुट (स्वचालित रूप से) सेट हो जाता है man
।
आप कॉपी और पेस्ट कर सकते हैं, स्वतंत्र रूप से विम में नेविगेट कर सकते हैं, और यहां तक कि बफर और संशोधित कर सकते हैं :w ~/usefulfile
। आप वह सब कुछ कर सकते हैं जो आप सामान्य रूप से करेंगे, जिसमें रिकॉर्ड मैक्रोज़, यैंक से क्लिपबोर्ड "+y
(यदि आपके पास है +clipboard
), आदि शामिल हैं, आदि।
मुझे यह कम की तुलना में बहुत अच्छा लगता है ।
एकमात्र मामूली झटका मुझे मिला है (जो अभी भी मौजूद है यदि आप अपने पेजर के रूप में कम उपयोग करते हैं) यदि आप एक सेशन में कई मैनुअल खोलना चाहते हैं। मैं वास्तव में ऐसा करने का तरीका नहीं देखता।
कुछ नोट:
यदि आप बफर को बचाने की कोशिश करते हैं, तो आपको मिलेगा E382: Cannot write, 'buftype' option is set
आप अभी भी जैसे बचा सकते हैं :w /tmp/man.man
.man
एक्सटेंशन के साथ सहेजते हैं , तो इसे खोलना man
आपके लिए फ़िलाटाइप सेट करेगा.man
एक्सटेंशन के साथ नहीं बचाते हैं , तो आप केवल man
रन करके फीट सेट कर सकते हैं:set ft=man
autocmd VimEnter *.~ echom 'hooray, we are using vim for man pages!'
उदाहरण के लिए, यदि आप उन पृष्ठों को खोल सकते हैं , जिनका आप उपयोग कर सकते हैं ।
मैंने निम्नलिखित को अपने vimrc में डाल दिया है ताकि मैं Kमैनुअल खोलने की कोशिश करने के लिए दबा सकूं , और फिर Gपिछले मैनुअल पर वापस जाने के लिए दबाऊं:
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
इसे अपने ~ / .bashrc या ~ / .zshrc में डालें
function man(){
declare -a args
for arg in "$@"; do
command man "$arg" > "/tmp/${arg}.man"
args+=("/tmp/${arg}.man")
done
vim "${args[@]}"
}
स्क्रीनशॉट ..
Asciinema ..
https://asciinema.org/a/9Q6Si90Pi46cDVUknxFxfIwsv
यह समस्या हल करती है जो 1 और कम चेहरे को हैक करती है (अब आप एक बफर में कई मैनुअल देख सकते हैं), लेकिन यह कम सुरुचिपूर्ण है।
टिप्पणियाँ:
महत्वपूर्ण यदि आप हैक 2 को काम करना चाहते हैं, तो आपको :let no_man_maps = 1
अपने में रखना होगा ~/.vimrc
। इसका कारण यह है कि विम स्रोत होगा .../vim80/man.vim
और q
जबरन रीमैप किया जाएगा :q
।
इसमें अधिक साफ-सफाई शामिल है (अब आप हर मैनुअल को /tmp/*.man पर स्टोर करते हैं )
हालाँकि, आप एक सत्र में कई मैन पेज देख सकते हैं, जैसा कि ऊपर उल्लेख किया गया है
यदि आप दबाते हैं K, तो आप फिर भी एक नया विम सत्र खोलेंगे
autocmd VimEnter man.~ nnoremap <buffer> K :execute "normal! Byt(:silent !man \<c-r>\" > /tmp/\<c-r>\".man\<cr>:edit /tmp/\<c-r>\".man\<cr>"
या कुछ उस तरह पागल ( untested )मैं --html
तर्क का उपयोग करने में सक्षम था man
ताकि $ BROWSER पर्यावरण चर द्वारा परिभाषित ब्राउज़र में इसे खोला जा सके, इसलिए:
BROWSER=google-chrome man ps --help
मैं फेडोरा का उपयोग कर रहा हूं। सुनिश्चित नहीं है कि यह आपके डिस्ट्रो के लिए काम करता है, कृपया टिप्पणियों में परीक्षण और रिपोर्ट करें।
groff
स्थापित करने की आवश्यकता है। groff
आदेश भी हो सकते हैं, जबकि एक ही नाम के पैकेज नहीं है (कमांड के साथ आता है groff-base
, नहीं पूरा groff
पैकेज)। मैं करता हूं man --html="surf file%c//%s" <command>
, और यह ठीक है। हालांकि बहुत hyper बहुत सीमित हाइपरटेक्स्ट है: - /।
man is an interface to the on-line reference manuals
जो (अगर मैं गलत नहीं हूं) इसका मतलब यह है कि यह इंटरनेट पर कुछ वेबपेज से सभी जानकारी खींच रहा है, है ना? तो, किसी के पास कोई सुराग है कि http: // लिंक क्या है?