Fzf - Linux ടെർമിനലിൽ നിന്നുള്ള ഒരു ദ്രുത അവ്യക്തമായ ഫയൽ തിരയൽ


ലിനക്സിലും വിൻഡോസ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിലും ഫയലുകൾ വേഗത്തിൽ തിരയാനും തുറക്കാനും നിങ്ങളെ സഹായിക്കുന്ന ഒരു ചെറിയ, ജ്വലിക്കുന്ന വേഗതയേറിയ, പൊതു-ഉദ്ദേശ്യ, ക്രോസ്-പ്ലാറ്റ്ഫോം കമാൻഡ്-ലൈൻ ഫസി ഫൈൻഡറാണ് Fzf. ഇത് ആശ്രിതത്വങ്ങളില്ലാതെ പോർട്ടബിൾ ആണ് കൂടാതെ Vim/Neovim പ്ലഗിൻ, കീ ബൈൻഡിംഗുകൾ, അവ്യക്തമായ യാന്ത്രിക പൂർത്തീകരണം എന്നിവയ്ക്കുള്ള പിന്തുണയുള്ള ഒരു ഫ്ലെക്സിബിൾ ലേഔട്ടുമുണ്ട്.

ഇത് എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് ഇനിപ്പറയുന്ന GIF കാണിക്കുന്നു.

Fzf ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന്, നിങ്ങൾ fzf-ന്റെ Github ശേഖരം ഏതെങ്കിലും ഡയറക്ടറിയിലേക്ക് ക്ലോൺ ചെയ്യുകയും നിങ്ങളുടെ Linux വിതരണത്തിൽ കാണിച്ചിരിക്കുന്നതുപോലെ ഇൻസ്റ്റാൾ സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിക്കുകയും ചെയ്യേണ്ടതുണ്ട്.

$ git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
$ cd ~/.fzf/
$ ./install

സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിച്ചതിന് ശേഷം, അവ്യക്തമായ യാന്ത്രിക പൂർത്തീകരണം, കീ ബൈൻഡിംഗുകൾ എന്നിവ പ്രവർത്തനക്ഷമമാക്കാനും നിങ്ങളുടെ ഷെൽ കോൺഫിഗറേഷൻ ഫയൽ അപ്ഡേറ്റ് ചെയ്യാനും നിങ്ങളോട് ആവശ്യപ്പെടും. ഇനിപ്പറയുന്ന സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നതുപോലെ ചോദ്യങ്ങൾക്ക് y (അതെ എന്നതിന്) ഉത്തരം നൽകുക.

ഫെഡോറ 26-ലും അതിനുമുകളിലുള്ളവയിലും ആർച്ച് ലിനക്സിലും, കാണിച്ചിരിക്കുന്നതുപോലെ ഒരു പാക്കേജ് മാനേജർ വഴി നിങ്ങൾക്ക് ഇത് ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും.

$ sudo dnf install fzf	#Fedora 26+
$ sudo pacman -S fzf	#Arch Linux 

ഇപ്പോൾ നിങ്ങൾ fzf ഇൻസ്റ്റാൾ ചെയ്തു, നിങ്ങൾക്ക് അത് ഉപയോഗിക്കാൻ തുടങ്ങാം. നിങ്ങൾ fzf പ്രവർത്തിപ്പിക്കുമ്പോൾ, അത് ഒരു ഇന്ററാക്ടീവ് ഫൈൻഡർ തുറക്കും; stdin-ൽ നിന്നുള്ള ഫയലുകളുടെ ലിസ്റ്റ് വായിക്കുകയും തിരഞ്ഞെടുത്ത ഇനം stdout-ലേക്ക് എഴുതുകയും ചെയ്യുന്നു.

പ്രോംപ്റ്റിൽ നിങ്ങൾ തിരയുന്ന ഫയലിന്റെ പേര് ടൈപ്പ് ചെയ്യുക. നിങ്ങൾ അത് കണ്ടെത്തുമ്പോൾ, എന്റർ ക്ലിക്ക് ചെയ്യുക, ഫയലിന്റെ ആപേക്ഷിക പാത stdout-ലേക്ക് പ്രിന്റ് ചെയ്യപ്പെടും.

$ fzf

പകരമായി, നിങ്ങൾ തിരയുന്ന ഫയലിന്റെ ആപേക്ഷിക പാത, ഒരു പേരുള്ള ഫയലിലേക്ക് സംരക്ഷിക്കുകയും bcat പോലുള്ള ഒരു യൂട്ടിലിറ്റി ഉപയോഗിച്ച് ഫയലിന്റെ ഉള്ളടക്കം കാണുകയും ചെയ്യാം.

$ fzf >file
$ cat file
OR
$ bat file

നിങ്ങൾക്ക് ഇത് ഫൈൻഡ് കമാൻഡുമായി സംയോജിച്ച് ഉപയോഗിക്കാം, ഉദാഹരണത്തിന്.

$ find ./bin/ -type f | fzf >file
$ cat file

ബാഷിലും Zsh-ലും ഫസി പൂർത്തീകരണം എങ്ങനെ ഉപയോഗിക്കാം

ഫയലുകൾക്കും ഡയറക്uടറികൾക്കുമായി അവ്യക്തമായ പൂർത്തീകരണം ട്രിഗർ ചെയ്യുന്നതിന്, ** പ്രതീകങ്ങൾ ഒരു ട്രിഗർ സീക്വൻസായി ചേർക്കുക.

$ cat **<Tab>

കമാൻഡ്-ലൈനിൽ പരിസ്ഥിതി വേരിയബിളുകളിൽ പ്രവർത്തിക്കുമ്പോൾ നിങ്ങൾക്ക് ഈ സവിശേഷത ഉപയോഗിക്കാം.

$ unset **<Tab>
$ unalias **<Tab>
$ export **<Tab>

/etc/hosts, ~/.ssh/config എന്നിവയിൽ നിന്ന് വായിക്കുന്ന ഹോസ്റ്റ് പേരുകൾ സ്വയമേവ പൂർത്തിയാക്കുന്നതിന് ssh, telnet കമാൻഡുകൾക്കും ഇത് ബാധകമാണ്.

$ ssh **<Tab>

ഇത് കിൽ കമാൻഡ് ഉപയോഗിച്ചും പ്രവർത്തിക്കുന്നു, എന്നാൽ കാണിച്ചിരിക്കുന്നതുപോലെ ട്രിഗർ സീക്വൻസ് ഇല്ലാതെ.

$ kill -9 <Tab>

Vim പ്ലഗിൻ ആയി fzf എങ്ങനെ പ്രവർത്തനക്ഷമമാക്കാം

ഒരു vim പ്ലഗിൻ ആയി fzf പ്രവർത്തനക്ഷമമാക്കാൻ, നിങ്ങളുടെ Vim കോൺഫിഗറേഷൻ ഫയലിൽ ഇനിപ്പറയുന്ന വരി ചേർക്കുക.

set rtp+=~/.fzf

fzf സജീവമായി വികസിപ്പിച്ചുകൊണ്ടിരിക്കുന്നു, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് ഏറ്റവും പുതിയ പതിപ്പിലേക്ക് എളുപ്പത്തിൽ അപ്uഗ്രേഡുചെയ്യാനാകും.

$ cd ~/.fzf && git pull && ./install

ഉപയോഗ ഓപ്ഷനുകളുടെ പൂർണ്ണമായ ലിസ്റ്റ് കാണുന്നതിന്, man fzf പ്രവർത്തിപ്പിക്കുക അല്ലെങ്കിൽ അതിന്റെ Github Repository പരിശോധിക്കുക: https://github.com/junegunn/fzf.

ലിനക്സിൽ ഫയലുകൾ വേഗത്തിൽ തിരയുന്നതിനുള്ള ജ്വലിക്കുന്ന വേഗമേറിയതും പൊതുവായതുമായ അവ്യക്തമായ ഫൈൻഡറാണ് Fzf. ഇതിന് നിരവധി ഉപയോഗ കേസുകൾ ഉണ്ട്, ഉദാഹരണത്തിന്, നിങ്ങളുടെ ഷെല്ലിനായി നിങ്ങൾക്ക് ഇഷ്ടാനുസൃത ഉപയോഗം ക്രമീകരിക്കാൻ കഴിയും. നിങ്ങൾക്ക് എന്തെങ്കിലും ചോദ്യങ്ങളോ അഭിപ്രായങ്ങളോ ഉണ്ടെങ്കിൽ, ചുവടെയുള്ള ഫീഡ്uബാക്ക് ഫോം വഴി ഞങ്ങളെ ബന്ധപ്പെടുക.