คำถามติดแท็ก zsh

Zsh เป็นเชลล์ที่ออกแบบมาสำหรับการใช้งานแบบโต้ตอบแม้ว่ามันจะเป็นภาษาสคริปต์ที่ทรงพลังเช่นกัน

2
ปิดการใช้งาน zsh prezto "เสร็จสมบูรณ์" โมดูลแก้ไขอัตโนมัติ
ฉันใช้ prezto กับ zsh และโมดูล "เสร็จสมบูรณ์" มีบางสิ่งที่แก้ไขอัตโนมัติซึ่งฉันไม่ต้องการ ฉันต้องการไฮไลต์การเติมข้อความอัตโนมัติและเมนูไฮไลต์ แต่ไม่มีการแก้ไขอัตโนมัติ (ซึ่งเป็นอันตรายและควรถูกห้ามตามกฎหมาย!: P) ตัวอย่างเช่นฉันมีไดเรกทอรีดังต่อไปนี้: src / project / opensrc / library / เมื่อฉันพิมพ์ "src / li" มันจะเปลี่ยนเป็น "opensrc / li" ฉันไม่ต้องการหรืออย่างน้อยก็ไม่มีโดยอัตโนมัติ (ay / n prompt จะดี) มีวิธีการปิดการใช้งานโดยไม่ปิดการใช้งานโมดูลเสร็จสมบูรณ์หรือมีพร้อมท์ (y / n)?
1 shell  zsh 

0
การกำหนดค่า zsh เดียวกันทำหน้าที่แตกต่างกันในเครื่องที่แตกต่างกัน
ฉันมีการกำหนดค่าต่อไปนี้สำหรับ zsh ที่ฉันใช้ทั้งบนแล็ปท็อปและเครื่องระยะไกล ฉันมีไฟล์ปรับแต่งทั้งหมดของฉันอยู่ในที่เก็บ git ที่ถูกโคลน~/.zshและเชื่อมโยงเข้า~ด้วยกัน autoload -Uz promptinit promptinit HISTFILE=~/.histfile HISTSIZE=1000 SAVEHIST=1000 setopt appendhistory autocd extendedglob nomatch notify zstyle :compinstall filename '/home/pkhorsand/.zshrc' autoload -Uz compinit compinit -i -u -C # load antigen source $HOME/.zsh/antigen.zsh # Load the oh-my-zsh's library. antigen use oh-my-zsh # Bundles from the default repo (robbyrussell's …
1 shell  zsh 

2
วิธีกำหนดค่า zsh ด้วย oh-my-zsh เพื่อให้สามารถดูประวัติ git ได้หลังจากกด“ q”
ฉันใช้ zsh กับ oh-my-zsh เป็นประจำทุกวัน แต่มีสิ่งเล็ก ๆ ที่รบกวนจิตใจฉัน หากฉันใช้git logหรือคำสั่งที่คล้ายกันอื่น ๆ ผลลัพธ์ที่ได้นั้นจะใช้หน้าต่างเทอร์มินัลแบบเต็ม หลังจากกดqเอาท์พุทจะถูกล้างและฉันกลับไปที่พรอมต์ของฉัน ฉันต้องการให้ผลลัพธ์ยังคงอยู่บนหน้าจอ ฉันจะกำหนดค่าอะไรให้สำเร็จ รูปภาพมีค่าหนึ่งพันคำดังนั้นนี่คือ gif ของพฤติกรรมปัจจุบัน: และนี่คือ. zshrc ของฉัน: plugins=( gitfast docker osx web-search cp ) ZSH_THEME="powerlevel9k/powerlevel9k"

1
zsh เสร็จสมบูรณ์สำหรับ executables ทั้งหมดในเส้นทาง
ฉันได้เขียนสคริปต์ที่ตัวเองใช้เป็นอาร์กิวเมนต์ใด ๆ ที่ปฏิบัติการโดยพลการใน $ PATH ของฉัน มีวิธีการสร้างฟังก์ชั่นเสร็จสมบูรณ์ของ zsh (หรือ bash) ที่ฉันจะพิมพ์ myFunc to[Tab] และมันก็จะสมบูรณ์ myFunc top ตัวอย่างเช่น? การเลือกเฉพาะไฟล์ที่มีสิทธิ์อนุญาตให้ใช้งานจะดีกว่า แต่การมีไฟล์ใด ๆ และทุกไฟล์ใน $ PATH จะมีประโยชน์มากกว่า ฉันไม่สามารถจินตนาการได้ว่าระบบจะมีความสำคัญ แต่จะทำงานบน Linux, BSD และ Mac ขอบคุณ!

0
zsh: bindkey เพื่อผูกช่องว่างเท่านั้นไม่ทำงาน
ฉันรันคำสั่งนี้ใน zsh ของฉัน: bindkey -s ' ' 'ls\n' และมันก็ใช้งานได้ดีเมื่อฉันกด space สองครั้ง ls คำสั่งถูกดำเนินการ แต่เมื่อฉันเพิ่มบรรทัดเดียวกันที่แน่นอนของฉัน .zshrc ไม่รู้จักการเว้นวรรคสองรายการเป็นการเชื่อมโยงคีย์ ผมทำอะไรผิดหรือเปล่า? ฉันยังใช้ oh-my-zsh.

1
zsh ไม่พบคำสั่งจำนวนมาก
หากฉันแท็บการเติมข้อความอัตโนมัติส่วนใหญ่ฉันจะได้รับข้อผิดพลาด: ถ้าฉันทำ vim [TAB] เพื่อค้นหาไฟล์ในโฟลเดอร์มันเพียงแค่ข้ามไปยังบรรทัดคำสั่งถัดไป ถ้าฉันพยายามที่จะรัน rvm use 2.0.0 --default ฉันเข้าใจ zsh: correct 'rvm' to 'rvim' [nyae]?. ถ้าฉันบอกว่าไม่ฉันจะได้รับ ไม่พบคำสั่ง ความผิดพลาด ถ้าฉันกด TAB หลังจากพิมพ์ ruby -v, zsh ต้องการแก้ไขให้ถูกต้อง _ruby -v. หากฉันพิมพ์คำสั่งสมบูรณ์โดยไม่ต้อง TAB. zsh ต้องการแก้ไข ruby ไปยัง _ruby และ rvm ไปยัง rvim นี่เป็นข้อผิดพลาดที่รู้จักหรือมีความช่วยเหลือสำหรับเรื่องนี้หรือไม่? แก้ไข: เพิ่ม. zshrc แล้ว # Path to your oh-my-zsh …

1
ทำไม `source ~ / .aliases` ไม่ทำงานใน. zshrc
user@localhost ~ % zsh --version zsh 5.5.1 (x86_64-redhat-linux-gnu) me@localhost ~ % lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: Fedora Description: Fedora release 28 (Twenty Eight) Release: 28 Codename: TwentyEight ~/.zshrc: ... Details omitted ... source ~/.aliases cat ~/.aliases ... Details omitted ... พร้อมรับคำสั่ง: user@localhost ~ % zsh alias ls='exa' alias …
zsh  alias 

3
ซิงค์ประสิทธิภาพสูง
ฉันกำลังพยายามทำโฟลเดอร์ซิงค์ p4 / ... มันไม่เร็วมากและใช้ CPU เพียง 2% ฉันไม่พอใจกับการแสดง ฉันพยายามที่จะเขียนฟังก์ชั่นใน bash กำหนดพารามิเตอร์ n มันจะสร้างคิวของไฟล์และโฟลเดอร์ทั้งหมด n ระดับลึกและส้อมกระบวนการ p4 ซิงค์ -f $ thatDirectory / ... หรือ p4 sync -f $ thatFile . ฉันจะเริ่มเกี่ยวกับสิ่งนี้ได้อย่างไร มียูทิลิตี้ใดบ้างที่ทำสิ่งนี้อยู่แล้ว? ขอบคุณล่วงหน้า.


1
การแมปคีย์ Null ในคอนโซลเป็นกลุ่มบน OS X
ทำงานเป็น zsh บน Terminal.app ของ Mac OS X 2 keybindings ต่อไปนี้ทำงานได้ใน MacVim แต่ไม่ใช่ console vim (7.4) inoremap <c-space> <c-x><c-o> inoremap <c-@> <c-space> " (1) Swapping windows nmap <silent> <c-s> :wincmd r<CR> " (2) Close quickfix window nmap <silent> <c-space> :ccl<CR>
macos  vim  zsh 

3
ถ่ายโอนการตั้งค่าเชลล์ไปยังเซสชัน ssh จากระยะไกลชั่วคราวหรือไม่
ฉันอยากรู้อยากเห็นบ่อยครั้งที่ฉันต้องการถ่ายโอนการตั้งค่าเปลือก (dotfiles) ทั้งหมดของฉันไปยังเซสชันระยะไกลเพียงแค่ในช่วงเซสชั่นของฉันแล้วพวกเขากลับรายการเมื่อฉันออกจากระบบ ยิ่งไปกว่านั้นคือให้ใช้งานเฉพาะในเซสชันนี้เพื่อให้ทุกคนที่เข้าสู่ระบบจะสามารถมีค่าเริ่มต้นหรือการตั้งค่าแบบกำหนดเองสำหรับเชลล์ มีวิธีที่จะทำในปัจจุบันหรือมันจะต้องมีโซลูชันที่กำหนดเองของฉันเขียนฟังก์ชันนี้ด้วยตัวเอง? ฉันไม่เห็นตัวเลือกที่แท้จริงใด ๆ เพื่อให้บรรลุสิ่งนี้
linux  bash  ssh  shell  zsh 

1
วางไดเรกทอรีทำงาน“ canonical” ลงในพร้อมท์ zsh บน OS X (iTerm 2 หากมีความสำคัญ)
ฉันใช้ zsh และ oh-my-zsh สำหรับสภาพแวดล้อมเชลล์ใน OS X และฉันมีเวลาที่ยากลำบากในการติดตามหรือไม่ว่าสิ่งที่เกิดขึ้นเป็นผลมาจากฟังก์ชั่น oh-my-zsh หรือพฤติกรรมเริ่มต้น ของ zsh; มันเป็นเรื่องของเครื่องสำอางทั้งหมด แต่มันทำให้ฉันเป็นบ้า รุ่นสั้น ๆ ว่าถ้าผมcdในไดเรกทอรีสิ่งที่ถูกพิมพ์ในพรอมต์ของฉันจากการ%cเป็นว่าอาร์กิวเมนต์ที่ถูกส่งผ่านไปยังcd; ดังนั้นถ้าฉันเปลี่ยนเป็น "test" ในไดเรกทอรี แต่ฉันสะกดว่า "tEst" โดยไม่ได้ตั้งใจ "tEst" คือสิ่งที่จะปรากฏในพรอมต์ของฉัน มันน่ารำคาญมาก อีกตัวอย่างของที่มันโผล่ขึ้นมาคือเมื่อฉันใช้ฟังก์ชั่นเปลือกนี้ (ลดความซับซ้อนจากBrett Terpstra ) cdf() { target=`osascript -e 'tell application "Finder" to get POSIX path of (target of front Finder window as text)'` cd …

1
จะตรวจสอบได้อย่างไรว่าหน้าจอกำลังทำงานอยู่โดยไม่ต้องติดมัน?
ฉันเขียนzshสคริปต์ที่เปิดตัวหน้าจอจำนวนมากและรันคำสั่งที่แตกต่างกันในแต่ละรายการ เมื่อสคริปต์ทำงานมีทั้งหมด 72 หน้าจอดังนั้นการตรวจสอบว่า a jobเสร็จแล้วหรือไม่ด้วยตนเองเป็นงานที่ต้องใช้เวลามาก ฉันสามารถเรียกใช้สคริปต์แยกต่างหากที่จะตรวจสอบว่าเซสชันของหน้าจอมีการทำงานอยู่หรือไม่และฆ่าเซสชันเมื่อไม่มีงานที่ทำอยู่ คุณมีความคิดใด ๆ ฉันไม่สามารถคิดถึงวิธีการใด ๆ ที่เชื่อถือได้ตรวจสอบสิ่งที่เกิดขึ้นในทุกเซสชันหน้าจอขอบคุณล่วงหน้า

2
ฉันจะทำให้เชลล์เติมข้อความอัตโนมัติให้เริ่มต้นของ filepath ได้อย่างไร?
ฉันมีโครงการที่มีโครงสร้างโฟลเดอร์ซ้อนกันอย่างลึกซึ้ง ส่วนใหญ่ฉันรู้ชื่อของไฟล์ที่ฉันต้องการทำงานด้วย แต่เส้นทางของโฟลเดอร์นั้นยาวเกินไป / ซับซ้อนเกินกว่าที่จะพิมพ์เมื่อฉันต้องการแก้ไขมันเช่น: vim folder/is/deep/down/there/myfile.js มีวิธีที่จะทำให้เชลล์อัตโนมัติเติมเส้นทางให้ฉันหรือไม่ถ้าชื่อไฟล์นั้นไม่เหมือนใคร vim *myfile.js กด tab vim folder/is/deep/down/there/myfile.js ฉันใช้ทุบตีเป็นส่วนใหญ่ แต่ฉันใช้ได้กับ zsh ถ้ามันสามารถแก้ปัญหาได้
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.