Zsh এ ডিলিট শব্দ হিসাবে কীভাবে Ctrl + w কনফিগার করবেন


12

আমি করে একটি শব্দ মুছে দিতে চান Ctrl+ Wমধ্যে zshমত।

vim /foo/bar^W
vim /foo/

এবং এর সমাধান খুঁজে পেয়েছে bashতবে bindzsh ফাংশনে নেই।

Ctrl-w (শব্দ মুছুন) কনফিগার করা কি সম্ভব?

আমি কীভাবে Ctrl+ Wকে কনফিগার করতে পারি delete-word?


উত্তর:


15

আমি ব্যবহার করছি .zshrc থেকে একটি স্নিপেট এখানে :

my-backward-delete-word() {
    local WORDCHARS=${WORDCHARS/\//}
    zle backward-delete-word
}
zle -N my-backward-delete-word
bindkey '^W' my-backward-delete-word

আমি মনে করি এটি আসল উত্স ছিল: http://www.zsh.org/mla/users/2001/msg00870.html


ধন্যবাদ! আমি এই কোডটি রেখেছি ~/.zshrcএবং এটি পুরোপুরি কাজ করে!
ironsand

emacsZLE এ ডিফল্ট কী বাঁধাই টেবিলটি note W এর backward-kill-wordপরিবর্তে backward-delete-wordনোট করুন।
জেডিবিপি

10

কেবল আপনার তথ্যের জন্য, আমি এই সমাধানটি এখানে আরও মার্জিত বলে খুঁজে পেয়েছি । আমি উদ্ধৃতি:

আরেকটি বিকল্প হ'ল WORDCHARSঅন্তর্ভুক্ত না এমন কিছুতে (শব্দের অংশ হিসাবে অ-অক্ষর অক্ষর হিসাবে বিবেচিত) সেট করা /

আপনি যদি ^wবিন্দু, আন্ডারস্কোর ইত্যাদি ভাঙতে পছন্দ করেন তবে আপনি এটি টুইট করতে ~/.zshrcপারেন:

WORDCHARS='*?_-.[]~=&;!#$%^(){}<>'

আপডেট (২ / মার্চ / ২০২০)

@ প্যাট্রিক যেমন নীচের মন্তব্যগুলিতে ইঙ্গিত করেছেন, এটি কাজ করে না ZSH >= 5.7। এখানে একটি আপডেট রয়েছে যা আমি পরীক্ষিত এবং কাজ করেছি zsh 5.8 (x86_64-apple-darwin18.7.0)

autoload -U select-word-style
select-word-style bash

export WORDCHARS='.-'

এটি M-dকম দরকারী করে তোলে ।
টুথরট

1
এটি একরকম আর কাজ করে না zsh 5.7 (x86_64-apple-darwin18.2.0)
প্যাট্রিক

@ প্যাট্রিক লক্ষ্য করার জন্য ধন্যবাদ! আমি আমার উত্তর আপডেট!
অ্যানাস্ট্যাসিওস অ্যান্ড্রোনিডিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.