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

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

2
จะเรียกคืน ^ S เป็น zsh ได้อย่างไร
ฉันพบ ^ S ที่แมปเป็นคีย์ fwd-search สำหรับ zsh (ohmyzsh) แต่ฉันต้องการใช้ใน vim สำหรับการแมปต่าง ๆ เช่นกัน - ดูเหมือนว่าการแม็พ zsh ทำให้ฉันไม่สามารถใช้งานได้ตอนนี้ มีวิธีใดที่จะทำการแมป bindkey หรือใช้ทั้งสองวิธี?

4
การใช้ปุ่ม VIM ในเชลล์ (zsh หรือ bash)
ฉันต้องการใช้ปุ่มแก้ไขเป็นกลุ่มใน shell (zsh) เมื่อใช้bindkey -vi รับปุ่ม VI แต่ฉันต้องการปุ่มลัดแบบภาพและปุ่มขั้นสูง (เช่นเปลี่ยนคำศัพท์ด้านใน ( ciw) ซึ่งฉันใช้ตลอดเวลา) btw, superuser เป็นฟอรัมที่เหมาะสมสำหรับคำถามนี้หรือไม่?
9 vim  zsh 

1
เครื่องหมายเปอร์เซ็นต์ (%) หน้าคำสั่งเชลล์
ฉันเพิ่งวางโค้ดจำนวนมากลงในเชลล์ แต่ลืมลบส่วนนำออก%ก่อนรันคำสั่ง ดูเหมือนว่าจะไม่ได้ทำอะไรเลย ทำไมนี้ไม่ทำอะไรในเปลือกของฉัน ( zsh )? > % echo foo ในทุบตีฉันได้รับดังต่อไปนี้ > % echo foo bash: fg: %: no such job ฉันแค่ต้องการให้แน่ใจว่าการใช้คำสั่งของฉันไม่มีผลข้างเคียง

2
zsh สามารถกำหนดค่าให้เป็นชื่อไดเรกทอรีเติมข้อความอัตโนมัติด้วยการจับคู่ camelcase ได้อย่างไร?
Eclipse และ Resharper มีวิธีการนำทางไฟล์ที่ดี หากฉันมีโฟลเดอร์ (หรือไฟล์) ต่อไปนี้ในไดเรกทอรีปัจจุบันของฉัน MyReallyLongName MyReallyLongAndFunName MyReallyLongAndNotReallyFunName ใน eclipse ฉันสามารถนำทางไปยังพวกเขาโดยใช้ตัวอักษรตัวพิมพ์ใหญ่เท่านั้น ตามลําดับใน zsh ฉันต้องการที่จะพิมพ์: cd MRLAFN (แท็บ) (Enter) เพื่อเข้าสู่MyReallyLongAndFunNameขั้นตอนเดียว ถ้าฉันต้องการทำกับ zsh ตอนนี้ฉันต้องพิมพ์ My(Tab)Fun(Tab)(Enter)

3
เหตุใดไฟล์ทั้งหมดจึงไม่ถูกบีบอัดและวิธีปรับปรุงโซลูชัน
ฉันมีโฟลเดอร์ที่มีไฟล์ประมาณ 20K ไฟล์จะถูกตั้งชื่อตามรูปแบบเช่นxy_{\d1,5}_{\d4}\.abc xy_12345_1234.abcฉันต้องการบีบอัด 10K แรกของพวกเขาโดยใช้คำสั่งนี้: ls | sort -n -k1.4,1.9 | head -n10000 | xargs tar -czf xy_0_10000.tar.gz อย่างไรก็ตามไฟล์ผลลัพธ์มีไฟล์ประมาณ 2K เท่านั้น ls | sort -n -k1.4,1.9 | head -n10000 | wc -l อย่างไรก็ตามส่งคืน 10,000 ตามที่คาดไว้ ดูเหมือนว่าฉันจะเข้าใจผิดบางสิ่งพื้นฐานที่นี่ ... ฉันใช้ zsh 5.0.2 บน Linux Mint 17.1, GNU tar 1.27.1 แก้ไข: ฟอร์กแนะนำโดย …
8 linux  shell  zsh  tar  pipe 

4
จะเปลี่ยนชื่อไฟล์ภายในโฟลเดอร์โดยใช้คำสั่ง shell ได้อย่างไร?
some/long/path/to/file/myfiel.txtฉันมีไฟล์ที่ some/long/path/to/file/myfile.txtฉันต้องการที่จะเปลี่ยนชื่อเป็น ขณะนี้ฉันทำได้โดยmv some/long/path/to/file/myfiel.txt some/long/path/to/file/myfile.txtแต่การพิมพ์เส้นทางสองครั้งไม่มีประสิทธิภาพมากนัก (แม้จะเสร็จสิ้นการแท็บ) ฉันจะทำสิ่งนี้เร็วขึ้นได้อย่างไร (ฉันคิดว่าฉันสามารถเขียนฟังก์ชันเพื่อเปลี่ยนเซ็กเมนต์ชื่อไฟล์เท่านั้น แต่นั่นคือแผน B)
8 unix  shell  zsh 

1
คอมไพล์ Git ด้วยนามแฝง
ฉันมี dotfiles สะดวก repo บน Github สำหรับทุกท่านที่จะดูที่นี่ FYI, git ถูกติดตั้งผ่าน Homebrew เช่นเดียวกับโปรแกรมปฏิบัติการส่วนใหญ่ในระบบของฉัน คอมไพล์ของฉันใน zsh ทำงานได้ดีเมื่อฉันไม่ใช้นามแฝงเช่น: % git add fi<TAB> # => file.rb แต่ถ้าฉันเพิ่มนามแฝงใน. zshrc ของฉัน (จริง ๆcormacrelf-dotfiles-repo/zsh/aliases.zsh) เช่น: alias ga="git add" compdef _git ga=git-add ... พยายามทำทุกอย่างให้เสร็จ (ไม่ใช่เฉพาะไฟล์: สาขา ฯลฯ ) ทำให้เกิดข้อผิดพลาด: % git add fi _git:19: parse error: condition expected: …
8 git  zsh  autocomplete 

3
ฉันสามารถใช้โหมดการแก้ไข Vim บนบรรทัดคำสั่งโดยไม่สูญเสียการค้นหาประวัติซ้ำหรือไม่
ฉันกำลัง uzing zsh และเนื่องจากฉันเป็นผู้ใช้ Vim ตัวยงฉันเพิ่งเปลี่ยนมาใช้การแก้ไขสไตล์ Vim บนบรรทัดคำสั่ง (ซึ่งหมายความว่าถ้าฉันพิมพ์ls foo/barและตัดสินใจฉันต้องการที่จะcdแทนฉันสามารถตีEsc ^ที่จะกระโดดกลับไปที่จุดเริ่มต้นและcw cdมีการเปลี่ยนแปลงไปlscd นั่นเป็นปัญหาทั้งหมด แต่ปัญหาคือฉันไม่สามารถใช้Ctrl+Rเพื่อค้นหาประวัติการเรียกซ้ำ มีวิธีอื่นที่จะทำหรือฉันสามารถแทนที่ปุ่มลัดเป็นกลุ่มเพื่อดึงมันกลับมาได้หรือไม่?
8 vim  history  zsh 

6
zsh: ตั้งค่าตัวแปรสภาพแวดล้อมโดยอัตโนมัติสำหรับไดเรกทอรี
สมมติว่าฉันมีโครงการใน: ~/working_dir เมื่อใดก็ตามที่ฉันเรียกใช้คำสั่งจากไดเรกทอรีนี้ฉันต้องมีการตั้งค่าตัวแปรสภาพแวดล้อมบางอย่าง ดังนั้นฉันสามารถส่งออกได้เช่น: export VAR=value อย่างไรก็ตามมีจำนวนมากและน่าเบื่ออีกทั้งฉันลืมบางครั้งและเรียกใช้คำสั่งเพื่อให้มันล้มเหลวเนื่องจากไม่มีตัวแปรสภาพแวดล้อมที่ให้รหัส API หรือบางอย่าง มีวิธีที่ฉันสามารถให้ zsh จดจำตัวแปรสภาพแวดล้อมเหล่านี้สำหรับไดเรกทอรีนี้หรือไม่ดังนั้นเมื่อใดก็ตามที่ฉันเรียกใช้คำสั่งใด ๆ จากไดเรกทอรีนั้นจะทำงานด้วยชุดตัวแปรสภาพแวดล้อมเหล่านั้นหรือไม่

1
Zsh .. (การทำไดเรกทอรีหลักให้สมบูรณ์)
ใน zsh เมื่อฉันพิมพ์..และกดฉันต้องการมันจะขยายตัวออกไปTab ../ในขณะนี้ zsh ค้นหาไดเรกทอรีที่มีสองจุดในชื่อและขยายไปที่ (เช่น.emacs.d) ตัวเลือกใดมีผลต่อพฤติกรรมประเภทนี้
5 zsh 

1
zsh นี้สำหรับไวยากรณ์หมายความว่าอย่างไร
ผมทำงานเกี่ยวกับแหล่งที่มาของการควบคุมและ dotfiles LOF ของสิ่งที่ฉันทำของฉันจะตามออกdotfiles ซัคฮอลของ ฉันต้องการแหล่งที่มาของไฟล์ zsh เหมือนที่เขาทำในไฟล์ของเขา แต่ก่อนที่ฉันจะโยนรหัสลงไปในนั้นฉันต้องการที่จะเข้าใจจริง ๆ ว่ารหัสกำลังทำอะไรอยู่ ตัวอย่างข้อมูลที่ฉันสับสนคือ # all of our zsh files typeset -U config_files config_files=($ZSH/**/*.zsh) # load the path files for file in ${(M)config_files:#*/path.zsh} do source $file done # load everything but the path and completion files for file in ${${config_files:#*/path.zsh}:#*/completion.zsh} do source …
4 shell  zsh  dotfiles 

1
zsh เติมข้อความอัตโนมัติจากฟังก์ชั่น
ฉันค้นหาและค้นหาและไม่สามารถหาวิธีที่ชัดเจนในการทำสิ่งนี้: ตัวอย่างที่วางแผนไว้เล็กน้อยเพื่อซ่อนรายละเอียด : สมมติว่าฉันต้องการเติมชื่อเซสชัน tmux โดยอัตโนมัติด้วยคำสั่งที่จะเปิด ดังนั้น say tmux-open $NAMEopens กล่าวว่าเซสชั่น tmux และtmux-lsแสดงรายการชื่อเซสชันทั้งหมดที่เป็นไปได้คั่นด้วย newlines ฉันจะกำหนดค่า zsh เพื่อให้การtmux-open <TAB>เติมข้อความอัตโนมัติด้วยรายการของเซสชันที่เป็นไปได้ได้tmux-lsอย่างไร


2
ฟังก์ชั่นเติมเต็ม ZSH ใช้งานไม่ได้
การติดตั้ง oh-my-zsh ของฉันซึ่งใช้งานมาเกือบปีแล้วเพิ่งจะพัง เมื่อฉันเปิดเทอร์มินัลฉันจะได้รับ: /home/marcel/.oh-my-zsh/lib/theme-and-appearance.zsh:2: colors: function definition file not found /home/marcel/.oh-my-zsh/oh-my-zsh.sh:78: compinit: function definition file not found /home/marcel/.oh-my-zsh/plugins/git/git.plugin.zsh:80: command not found: compdef /home/marcel/.oh-my-zsh/plugins/git/git.plugin.zsh:93: command not found: compdef /home/marcel/.oh-my-zsh/plugins/git/git.plugin.zsh:100: command not found: compdef /home/marcel/.oh-my-zsh/plugins/git/git.plugin.zsh:109: command not found: compdef /home/marcel/.oh-my-zsh/plugins/git/git.plugin.zsh:119: command not found: compdef /home/marcel/.oh-my-zsh/plugins/git/git.plugin.zsh:129: command not found: compdef /home/marcel/.oh-my-zsh/plugins/git/git.plugin.zsh:138: command …
4 zsh  oh-my-zsh 

1
ฉันจะทำให้การเติมข้อความอัตโนมัติของ zsh เป็น wildcard ให้สมบูรณ์ได้อย่างไร
ใน zsh และ bash ถ้าฉันพิมพ์ ls c<TAB> มันจะแสดงชื่อไฟล์ทุกคนเริ่มต้นด้วยค ถ้าฉันพิมพ์แทน ls c*<TAB>bash ทำงานในลักษณะเดียวกัน แต่ zsh จะแทนที่ c* ด้วยรายการของทุกไฟล์ที่ขึ้นต้นด้วย c มีวิธีใดบ้างที่จะทำให้ zshs ทำงานเหมือนทุบตี?
3 bash  zsh  globbing 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.