लिनक्स में अल्ट्रा-लाइटवेट टेक्स्ट-आधारित प्रोग्रामिंग वातावरण के लिए सुझाए गए सेटअप


14

मैं अपनी विशेष जरूरतों के लिए एक सेटअप के सुझाव की तलाश कर रहा हूं। मैंने कॉलेज के बाद से बहुत अधिक लिनक्स नहीं बनाया है और शौक के रूप में इसमें वापस आना चाहता हूं। मेरे पास कुछ बहुत शक्तिशाली हार्डवेयर नहीं है (512 एमबी रैम, सिंगल कोर)। मैं पाठ-आधारित गोले और संपादकों के माध्यम से सब कुछ करना चाहता हूं, जैसे कि विम। मेरा लक्ष्य माउस को कभी नहीं छूना है।

मुझे एक साथ कई गोले खोलने की क्षमता की जरूरत है, एक वेब सर्वर चलाने वाला, एक रनिंग विम, एक मेरा एप्लिकेशन बिल्ड पाइपलाइन चलाने वाला, एड-हॉक शेल कमांड के लिए एक और एक जैसे कि wget, grepping और untarring, आदि। नए गोले खोलने और कीबोर्ड के साथ गोले के बीच स्विच करने में सक्षम हो।

लेकिन भले ही मुझे कई गोले चाहिए, लेकिन मैं एक ग्राफिकल डेस्कटॉप वातावरण नहीं चाहता। मैं कभी भी माउस का उपयोग करने के लिए परीक्षा में नहीं आना चाहता; मेरे उद्देश्य का हिस्सा विभिन्न कार्यों को करने के लिए कमांड-लाइन के तरीके को सीखने के लिए खुद को मजबूर करना है।

मैं भी अपने बड़े मॉनीटर का लाभ उठाने में सक्षम होना चाहता हूँ, एक दो सौ कॉलम के साथ विम्स चल रहा है।

क्या यह संभव है?


1
Dvtm पर एक नजर है ... आप इसे tmux या स्क्रीन के साथ भी जोड़ सकते हैं।
जसोनव्रीयन

1
सामुदायिक विकि के रूप में यह प्रश्न अधिक उपयुक्त हो सकता है।
jw013

जवाबों:


5

मैंने आपके सवालों को कई बार पढ़ा इससे पहले कि मुझे एहसास हुआ कि मेरे पास निश्चित रूप से आपके लिए एक सिफारिश है: vm with tmux: http://tmux.sourceforge.net/

tmux एक स्क्रीन 'मल्टीप्लेक्स' है जो आपको 1 के भीतर कई विंडो और पैन '

यह आदरणीय 'स्क्रीन' कार्यक्रम का उत्तराधिकारी है, जो कई क्ली कोडर्स का एक मुख्य स्टेपल है। विम पर अपनी मूल जीत सुविधाओं में से एक खड़ी खिड़कियों के साथ-साथ क्षैतिज रूप से विभाजित करने की क्षमता थी। हालाँकि स्क्रीन आगे बढ़ गई है और अब वह भी कर सकती है।

उदाहरण:

यहाँ छवि विवरण दर्ज करें

सेटअप का एक और हिस्सा जो मैं सुझाऊँगा, वह उपनामों का एक अच्छा समूह है। ये आपकी टाइपिंग और इंटरैक्शन को बहुत आसान और तेज़ बनाएंगे

मेरे कुछ पसंदीदा यहाँ उदाहरण के रूप में दिखाए गए हैं:

alias gcv='git commit'
alias gg='git grep ' # for searching (add parameter)
alias gst='git status -sb' # I must use this 100 times a day!!!
alias h='history | tail'
alias hg='history | grep' # for searching my history (add parameter)
alias l='ls -alFtrG'
alias ls='ls --color=auto'
alias mv='mv -i'
alias p='pwd'# at least 200 times a day! so 2 chrs saved * 200 = 400 less characters to type ;)

एलियास को .bash_aliases फ़ाइल में सेटअप किया जा सकता है जिसे .bashrc से: # एलियास परिभाषाओं में कहा जाता है। अगर [-f ~ / .bash_aliases]; फिर । ~ / .bash_aliases फाई

संभावना है कि आपके पास पहले से ही वह कोड है, इसलिए केवल अपनी .bash_aliases फ़ाइल।

ये दोनों विकल्प मैक पर काम करते हैं और यह खुद के लिए एक महत्वपूर्ण विचार है (ज्यादातर उबंटू उपयोगकर्ता)।

Tmux का उपयोग करने वाले अधिकांश लोग इसे आसान बनाने के लिए कुंजियों को रीमैप करते हैं। डिफ़ॉल्ट बाइंडिंग सिर्फ इतना अच्छा नहीं है। यहाँ मेरी सेटिंग्स हैं:

$ बिल्ली ~ / tmux.conf

# mdd tmux settings
bind r source-file ~/.tmux.conf \; display "Reloaded!"  # Reload with ctrl-r
set -g prefix C-a         # prefix from ctrl-b to ctrl-a
unbind C-b                # allow ctrl-b for other things
set -sg escape-time 1     # quicker responses
bind C-a send-prefix      # Pass on ctrl-a for other apps
set -g base-index 1        # Numbering of windows
setw -g pane-base-index 1  # Numbering of Panes
# bind | split-window -h    # Split panes horizontal
bind \ split-window -h    # Split panes horizontal
bind - split-window -v    # Split panes vertically
bind h select-pane -L     # Switch to Pane Left
bind j select-pane -D     # Switch to Pane Down
bind k select-pane -U     # Switch to Pane Up
bind l select-pane -R     # Switch to Pane Right
bind -r C-h select-window -t :-  # Quick Pane Selection
bind -r C-l select-window -t :+  # Quick Pane Selection
bind -r H resize-pane -L 5       # Switch to Pane Left
bind -r J resize-pane -D 5       # Switch to Pane Down
bind -r K resize-pane -U 5       # Switch to Pane Up
bind -r L resize-pane -R 5       # Switch to Pane Right
setw -g mode-mouse off           # Mouse Off
set -g mouse-select-pane off     # Mouse Off  
set -g mouse-resize-pane off     # Mouse Off
set -g mouse-select-window off   # Mouse Off
#set -g  default-terminal "screen-256color"
setw -g monitor-activity on      # Activity Alerts
set -g visual-activity on
set -g status-fg white           # Status line Colors
set -g status-bg black
setw -g window-status-fg cyan    # Window list color
setw -g window-status-bg default
setw -g window-status-attr dim
setw -g window-status-current-fg white     # Active Window Color
setw -g window-status-current-bg red
setw -g window-status-current-attr bright
set -g pane-border-fg green      # Pane colors
set -g pane-border-bg black 
set -g pane-active-border-fg white 
set -g pane-active-border-bg yellow
set -g message-fg white          # Command/Message Line.
set -g message-bg black
set -g message-attr bright
set -g status-left-length 40     # Status Line, left side
set -g status-left "#[fg=white]Session: #S #[fg=yellow]#I #[fg=cyan]#P"
set -g status-utf8 on            # Status Line, right side
set -g status-right "-------"
set -g status-interval 60        # frequency of status line updates
set -g status-justify centre     # center window list
setw -g mode-keys vi             # vi keys to move 
unbind v                         # Open panes in same directory as tmux-panes script
unbind n
bind v send-keys " ~/tmux-panes -h" C-m
bind n send-keys " ~/tmux-panes -v" C-m
unbind Up                        # Maximizing and Minimizing...
bind Up new-window -d -n tmp \; swap-pane -s tmp.1 \; select-window -t tmp
unbind Down
bind Down last-window \; swap-pane -s tmp.1 \; kill-window -t tmp
bind P pipe-pane -o "cat >>~/#W.log" \; display "Toggled logging to ~/#W.log"
# Make keys for copy mode be like vi
unbind [
bind Escape copy-mode
unbind p
bind p paste-buffer
bind -t vi-copy 'v' begin-selection
bind -t vi-copy 'y' copy-selection

अंत में (लूप को बंद करने के लिए), यहाँ मेरी .vimrc सेटिंग्स है जो मुझे शेल को उपयोग करने के लिए आसान बनाने के लिए पसंद है:

" mdd specific stuff --- start
set hlsearch
set incsearch
set number
" more3 mdd stuff - set tabs to be spaces and length of 2 characters.
set smartindent
set tabstop=2
set shiftwidth=2
set expandtab
" mdd specific stuff --- end
"
" Forget being compatible with good ol' vi
set nocompatible

" Get that filetype stuff happening
filetype on
filetype plugin on
filetype indent on

" Turn on that syntax highlighting
syntax on

" Why is this not a default
set hidden

" Don't update the display while executing macros
set lazyredraw

" At least let yourself know what mode you're in
set showmode

" Enable enhanced command-line completion. Presumes you have compiled
" with +wildmenu.  See :help 'wildmenu'
set wildmenu

" Let's make it easy to edit this file (mnemonic for the key sequence is
" 'e'dit 'v'imrc)
nmap <silent> ,ev :e $MYVIMRC<cr>

" And to source this file as well (mnemonic for the key sequence is
" 's'ource 'v'imrc)
nmap <silent> ,sv :so $MYVIMRC<cr>

highlight ExtraWhitespace ctermbg=red guibg=red
match ExtraWhitespace /\s\+$/
autocmd BufWinEnter * match ExtraWhitespace /\s\+$/
autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/
autocmd InsertLeave * match ExtraWhitespace /\s\+$/
autocmd BufWinLeave * call clearmatches()

अंत में मैं अपने .bashrc फ़ाइल में कुछ बदलाव करता हूँ उदाहरण के लिए shopt -s autocdजब मैं एक निर्देशिका का नाम टाइप करता हूँ (जो मौजूद है) मेरे शेल सीडी की उस निर्देशिका में तुरंत। निफ्टी! तो यहाँ मेरा .bashrc परिवर्तन है:

# Automatic cd'ing
shopt -s autocd

# Have cd show directory info ('cos my shell doesn't show full directory path in $PS1 prompt (intended).
cd() {
      builtin cd "$@" && pwd 
  }

# enable programmable completion features
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"  # Load RVM into a shell session *as a function*

# mdd Terminal Multiplexor 6/15/2012
if [[ ! $TERM =~ screen ]]; then
    exec tmux
fi

[ -z "$TMUX" ] && export TERM=xterm-256color

export EDITOR=vim

git config --global --add color.ui true

अच्छा विस्तृत जवाब। मैं अब एक वर्ष के लिए एक बाउट के लिए tmux का उपयोग कर रहा हूं (और vi / vim के बारे में 25 के लिए), लेकिन मैंने यहां कुछ चीजों को उठाया।
डैन

मेरे जैसे एक महान के लिए महान, महान जवाब। केवल एक चीज के गायब होने के बारे में है कि आप किस vim plugins का उपयोग करते हैं ... लेकिन यह एक और दिन के लिए एक और सवाल है। :) फिर से धन्यवाद ... फिर भी मुझे हमेशा के लिए इसके माध्यम से जाने के लिए और सब कुछ बाहर की कोशिश करने के लिए ले जाएगा, मैं आगे जाना चाहता था आपको स्वीकृत उत्तर दिया।
केविन पाउली

निश्चित रूप से, मुझे लगता है कि मैं किसी भी प्लगइन्स का उपयोग नहीं कर रहा हूं, लेकिन मुझे पता है कि रेल पर मेरे माणिक के क्षेत्र के लिए कुछ उपलब्ध हैं।
माइकल ड्यूरेंट

2
आप यहाँ जो कहते हैं, उसमें से अधिकांश उपयोगी हो सकता है, लेकिन एक बात बंद है: विम आसानी से क्षैतिज और लंबवत दोनों तरह से पैन को विभाजित कर सकता है।
डब्यूजिम

1
ध्यान दें कि स्क्रीन अब क्षैतिज और ऊर्ध्वाधर विभाजन कर सकती है।
माइकल दुरंत

6

मैं एक समान सेटअप के लिए XMonad + tmux + Emacs का उपयोग कर रहा हूं।

मैंने अतीत में एक साल के लिए राइनपोइसन का इस्तेमाल किया था, लेकिन एक्समोनड ने अधिक मजबूत महसूस किया। मुझे अपने 256MB, 512MB बॉक्स में कभी कोई समस्या नहीं हुई। रैटपोइसन में कुछ स्थिरता की समस्याएं थीं, लेकिन यह एक महत्वपूर्ण कहानी है और तब से चीजें बदल सकती हैं।

मैंने GNU स्क्रीन का भी उपयोग किया है, लेकिन tmux में कुछ विशेषताएं हैं जो स्क्रीन ने नहीं की हैं।

यदि आप पहले से ही जानते हैं, तो आप एक नया टूल नहीं सीखेंगे। यदि आप नहीं करते हैं, तो Emacs कई गोले ( C-u M-x shell) का उपयोग कर सकते हैं , अपने पसंदीदा शेल का उपयोग M-x termकर सकते हैं ( ), आप अपने कार्यक्रमों को लिख, संकलित और डिबग कर सकते हैं, अपने मेल पढ़ सकते हैं, IRC में हैंगआउट कर सकते हैं, वेब / जानकारी / मैन पेज पढ़ सकते हैं, सबसे REPL चला सकते हैं। गोले (जैसे M-x run-python), इसके अंदर git / hg / svn का उपयोग करें, TRAMP के साथ दूरस्थ फ़ाइलों को संपादित करें, लगभग सभी फ़ाइल संचालन करने के लिए dired का उपयोग करें, इसके अंदर grep / find / ack का उपयोग करें। आप X के साथ या उसके बिना Emacs का उपयोग कर सकते हैं। आपको स्क्रीन या tmux जैसे टर्मिनल मल्टीप्लेक्सर की आवश्यकता नहीं है, लेकिन मैं emacs को सर्वर के रूप में चलाना पसंद करता हूं और यदि इसे शेल से रन कर रहा है तो tmux से एमैक्स्क्लेर का उपयोग करना पसंद करता है।


मैं टर्मिनेटर का उपयोग करने का सुझाव दूंगा! लेकिन यह पूरी तरह से एक की पसंद है!
प्रणीत बाउवा

3
  • बिना किसी एक्स के साथ समाधान: फ्रेमबफ़र + लिनक्स कंसोल + जीएनयू स्क्रीन + विम + डब्ल्यू 3 एम
  • X के साथ समाधान लेकिन कोई डेस्कटॉप वातावरण नहीं: dwm + urxvt + GNU स्क्रीन + vim + w3m + सर्फ

dwm केवल कुछ सौ केबी की मेमोरी, कीबोर्ड चालित का उपयोग करता है, लेकिन आप चाहें तो माउस का उपयोग कर सकते हैं। अधिक सरल अभी तक शक्तिशाली टूल के लिए http://suckless.org की जाँच करें ।


2

उन दोनों के बीच आसान कीबोर्ड नेविगेशन के साथ कई गोले के लिए, आप GNU स्क्रीन , या बायोबू (जो कि इसे बढ़ाने के लिए है) में देखना चाहते हैं ।


2

मैंने कुछ महीने पहले इसी तरह का प्रयास किया था, अपने माउस को त्याग कर सेट अप और विंडो मैनेजरों की भीड़ की खोज की। ऐसा लगता है कि आपको पहले से ही बहुत सारे उपयोगी सुझाव दिए गए हैं, लेकिन मुझे लगा कि कुछ अतिरिक्त सेंट चोट नहीं पहुंचा सकते। यहाँ मेरे दो हैं:

I3 विंडो प्रबंधक पर एक नज़र डालें। यह हल्का है, साधारण विन्यास के साथ है और विन्यास में फेरबदल करने के बाद एक पुनरावर्ती की आवश्यकता नहीं है। टाइलिंग कार्यक्षमता और टैग किए गए कार्यस्थानों का मतलब है कि कोई माउस नहीं है और वरीयता और स्क्रीन स्पेस के आधार पर अनंत संभावनाएं हैं। कार्यक्रमों को टैग के लिए सौंपा जा सकता है और चाबियाँ बस किसी भी चीज़ के लिए बाध्य हो सकती हैं। i3status या conky को सिस्टम जानकारी के लिए आसानी से i3 पर ले जाया जाता है। Dmenu स्थापित करें और अपने माउस को अनप्लग करें।

लाइट डिस्ट्रो का प्रयास करें। आर्क, जेंटू और स्लैकवेयर सभी एक हल्के वातावरण की स्थापना के लिए विभिन्न विकल्प प्रदान करते हैं। छोटी शुरुआत करें, और निर्भरता पर ध्यान दें। केवल वही स्थापित करें जो आपको चाहिए और इसे ठीक से कॉन्फ़िगर करना सीखें। बूट पर X प्रारंभ न करें। अपने खर्च पर सभी उपकरणों का उपयोग करना सीखें। विम एक जानवर है। यदि आप पहले से ही जानते हैं, तो इसका उपयोग करें। यदि नहीं, तो इसे सीखें। विवरण पर ध्यान दें। जानें कि आपके सिस्टम में क्या है और यह क्यों है।


"लाइट डिस्ट्रो" दृष्टिकोण को सुरक्षित रखना। यह वास्तव में आपको अपने हाथों को गंदा करने के लिए मजबूर करता है, भले ही वे इसे आपके लिए कमान द्वारा आदेश देते हैं ( जेंटो इंस्टॉल्ड हैंडबुक उत्कृष्ट है), क्योंकि हर प्रणाली अलग है। प्रारंभिक इंस्टॉल आपको एक्स भी नहीं देता है, इसलिए आप कमांड लाइन पर अटक जाते हैं।
ND Geek

1

लगभग छह महीने पहले मेरी भी ऐसी ही इच्छा थी। मुख्य रूप से क्योंकि मैं पूरे दिन एसएसएच के माध्यम से काम कर रहा था। जैसा कि पहले ही सुझाव दिया गया है, GNU स्क्रीन का उपयोग करें। इसे स्थापित करने के बाद इसकी बहुत भयानक (IMHO) सीधे। तथापि! यह .rcrc फ़ाइल के माध्यम से उच्च अनुकूलन योग्य है। बहुत सारे ऑनलाइन ट्यूटोरियल हैं जो कोड प्रदान करते हैं आप इसे काट सकते हैं और इसे पेस्ट कर सकते हैं जैसे आप चाहते हैं।

मैं इस तरह के वातावरण की स्थापना के लिए कुछ लिपियों को एक साथ रखने के लिए इतनी दूर गया - MALiCE - 'मेरा विस्मयकारी लिनक्स कोडिंग पर्यावरण'। गितुब पर यहां उपलब्ध है:

द्वेष

यह बहुत सारे कीबोर्ड शॉर्टकट के साथ-साथ एक नमूना .muttrc और .screenrc फ़ाइलों का भी दस्तावेज़ बनाता है - जो कि ईमेल जैसी चीज़ों के साथ काम करने के लिए सेटअप हैं।

ध्यान दें कि यह सही नहीं है, लेकिन यह आपको कुछ फाइलों और लिपियों पर एक नज़र डालने के लिए कुछ समय और प्रयास बचा सकता है। एक मजबूत विम पूर्वाग्रह है।

मैं सेमीस (पाठ-आधारित मीडिया प्लेयर - बहुत अच्छा) और म्यूट (ईमेल क्लाइंट - फिर से पाठ फ़ाइल के माध्यम से कॉन्फ़िगर किया गया) जैसे कार्यक्रमों की सिफारिश करूंगा। पाठ आधारित आईआरसी ग्राहक भी हैं और इसे मानते हैं या नहीं, पाठ-आधारित वीडियो डिकोडर हैं जो एएससीआईआई में वीडियो को बदल देंगे - थोड़ा चरम लेकिन प्रत्येक अपने स्वयं के।

यदि आप एक डेस्कटॉप बिल्कुल नहीं चाहते हैं तो कई विकल्प हैं। उदाहरण के लिए, आप स्लैकवेयर स्थापित कर सकते हैं, जो अगर मुझे सही ढंग से बूट करने के लिए एक कमांड लाइन इंटरफ़ेस याद है। आपको GUI शुरू करने के लिए अपने रास्ते से बाहर जाना होगा।


हम elinksवेब ब्राउज़र को अच्छी टेक्स्ट-आधारित उपयोगिताओं की सूची में जोड़ सकते हैं ।
स्टीफन चेज़ेलस

यह अन्य टेक्स्ट-आधारित वेब ब्राउज़रों के साथ तुलना कैसे करता है? मैं कमांड-लाइन: p

0

http://en.wikipedia.org/wiki/VESA_BIOS_Extensions

http://www.pendrivelinux.com/vga-boot-modes-to-set-screen-resolution/

लेकिन वे सभी ग्राफिक कार्ड द्वारा समर्थित नहीं हैं, आपको उनका परीक्षण करना चाहिए।

कई गोले के बीच स्विच करने के लिए मुझे लगता है कि Alt-F यह पर्याप्त त्वरित है।


0

इस की कुंजी वितरण नहीं है, लेकिन उपकरण हैं। बस GUI टूल का उपयोग करना बंद करें, और CLI टूल को देखने और व्यवहार करने के लिए ठीक वैसा ही बनाएं जैसा आप चाहते हैं। एक तरीका संपादित करना है ~/.Xresources, और फिर इसे अंदर लोड करना xrdbहै ~/.xinitrc। वहां, आप उन अनुप्रयोगों का एक समूह भी शुरू कर सकते हैं जिनका आप हमेशा उपयोग करते हैं।

जाहिर है आपको एक अच्छे शेल की आवश्यकता है: मैं कहूंगा कि zsh। आपको बड़े पैमाने पर काम करना होगा ~/.zshrc। (लेकिन मार भी काम करेगा, निश्चित रूप से। फिर, ~/.bashrcजगह होगी।)

दूसरा, एक संपादक। एमएसीएस या विम, जिसके आधार पर आप वर्तमान में उपयोग करते हैं। एक कम उन्नत संपादक (जैसे, नैनो) नहीं करेंगे। शेल के साथ, आप बहुत से काम करेंगे ~/.emacsया इसी init फ़ाइल (ओं) को।

आपको अपने पाठ संपादक में संभवतः जितना संभव हो उतना सम्मिलित करने की आवश्यकता है। मैं Emacs की दुनिया से कुछ उदाहरण दूंगा, क्योंकि मैं एक Emacs उपयोगकर्ता हूं। मेल के लिए, rmail। फ़ाइल प्रबंधन के लिए, दिनांकित। वेब ब्राउजिंग के लिए, W3M समाचार के लिए, gnus (हालांकि मैं इसका उपयोग नहीं करता)। आदमी पृष्ठों के लिए, M-x man। और इसी तरह।

कारण आप ऐसा करेंगे, और अन्य सीएलआई अनुप्रयोगों का उपयोग न करें (उदाहरण के लिए, सिर्फ manमैन पेजों के लिए, ब्राउज़िंग के लिए लिंक्स), यह है:

1) एकीकरण का स्तर (मार, यान, शॉर्टकट बनाओ; पलक में सब कुछ ...)

2) कीबोर्ड को नेविगेट करने, खोज करने आदि के लिए कीबोर्ड शॉर्टकट (जैसे, आपकी मांसपेशियों की मेमोरी)

एक्स के लिए, आपको इसे छोड़ने की आवश्यकता नहीं है। सिर्फ इसलिए कि आप सीएलआई में सब कुछ चाहते हैं इसका मतलब यह नहीं है कि आप जीएफएक्स बिल्कुल नहीं चाहते हैं (या - कम से कम, मैं सीएलआई-केवल और जीएफएक्स चाहता हूं )। उदाहरण के लिए, हालाँकि, आप छवियों (CLI) के साथ संशोधित करते हैं या परिवर्तित करते हैं, फिर भी आप परिणाम की जांच करने के लिए इसे प्रदर्शित करना चाहेंगे (उदाहरण के लिए, gliv में; बस मेनू बार को माउस का उपयोग करने के लिए लुभाए जाने के लिए अक्षम न करें)। एक अन्य उदाहरण LaTeX और PDF दस्तावेज़ हैं।

टर्मिनल के लिए, ज्यादातर लोग स्क्रीन या tmux कहेंगे, लेकिन आप लिनक्स वर्चुअल टर्मिनल (कंसोल, या टायट) का भी उपयोग कर सकते हैं। X में, urxvt में एक पर्ल एक्सटेंशन है जो टैब को सक्षम करता है। उन लोगों के लिए (ttys और urxvt) आप एक समान इंटरफ़ेस सेट कर सकते हैं, उदाहरण के लिए टैब के बीच स्विच करने के लिए Alt-J / K, इसलिए आपको तीर कुंजी (या जो भी डिफ़ॉल्ट है) तक पहुंचने की आवश्यकता नहीं है।

शुभकामनाएँ :) जब आपका काम पूरा हो जाए (या लगभग वहाँ ... आपका काम कभी न हो), तो मैं खुद को कुछ संकेत देने के लिए स्वतंत्र महसूस करता हूँ, क्योंकि मैं आपके समान ही ट्रैक पर हूँ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.