-
Notifications
You must be signed in to change notification settings - Fork 120
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feedback #35
Comments
Thanks!
This should do it: diff --git a/fn/-z4h-comp-files b/fn/-z4h-comp-files
index 9c63668..02ea709 100644
--- a/fn/-z4h-comp-files
+++ b/fn/-z4h-comp-files
@@ -14,13 +14,13 @@
if (( only_dirs )); then
if (( dot_glob )); then
- local dirs=($path_prefix${^${(Q)words:#.*}}/*(D-/Y1N:h:t))
+ local dirs=($path_prefix${^${(Q)words}}/*(D-/Y1N:h:t))
else
local dirs=($path_prefix${^${(Q)words:#.*}}/*(-/Y1N:h:t))
fi
else
if (( dot_glob )); then
- local dirs=($path_prefix${^${(Q)words:#.*}}/*(DY1N:h:t))
+ local dirs=($path_prefix${^${(Q)words}}/*(DY1N:h:t))
else
local dirs=($path_prefix${^${(Q)words:#.*}}/*(Y1N:h:t))
fi
@@ -36,7 +36,6 @@
cmd+=(-path ./${(b)dir}/'*' -o)
done
cmd[-1]=(')' -prune)
- cmd+=(-o -name '.*' -prune)
(( dot_glob )) && cmd+=(-print)
cmd+=(-o -print)
fi
diff --git a/fn/z4h-cd-down b/fn/z4h-cd-down
index ba47b08..ee71d35 100644
--- a/fn/z4h-cd-down
+++ b/fn/z4h-cd-down
@@ -9,7 +9,7 @@
if (( dot_glob )); then
local dirs=(./*(-/DN))
- local non_empty=(${^${dirs:#./.*}}/*(D-/Y1N:h:t))
+ local non_empty=(${^dirs}/*(D-/Y1N:h:t))
else
local dirs=(./*(-/N))
local non_empty=(${^dirs}/*(-/Y1N:h:t))
@@ -23,7 +23,6 @@
cmd+=(-path ./${(b)dir}/'*' -o)
done
cmd[-1]=(')' -prune)
- cmd+=(-o -name '.*' -prune)
(( dot_glob )) && cmd+=(-print)
cmd+=(-o -print)
fi
I like this! I added this
I don't know yet.
You are using an unreleased version of zsh4humans, which is essentially my personal dotfiles. I'm experimenting with FWIW, after a few days of adjusting to
That's a bug. Fixed.
It's still necessary for two reasons.
Works for me. docker run -e TERM -e COLORTERM -w /root -it --rm alpine sh -uec '
apk add zsh curl
echo POWERLEVEL9K_DISABLE_CONFIGURATION_WIZARD=true >~/.p10k.zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/romkatv/zsh4humans/v3/install)"' And then, after pressing Enter: (Superfluous spaces between arguments are the result of a bug in fzf-tab. I don't know yet if it's fixable.)
Maybe. In general I don't like group colors because it can look awful without sorting (and I don't want to enable sorting of completion candidates) and interferes with fzf's highlighting of matched terms. If fzf supported highlting via reverse video, that would help.
I haven't updated docs in v3 yet. You may have noticed that v3 has two rc files but the docs say there is just one.
This is awful. Does you OS come without init system? Using zsh rc files to start services isn't something I would recommend or consider a valid use case.
This is equally awful. Does you system come without
Removed. This line was originally in
Done.
I plan to support it via
Maybe. I prefer to show less by default and let users add extra stuff if they want. I think it's better than showing stuff than users don't want (even if they have an option to turn it off).
Yes. I used it in the past.
That's a bug. Fixed. My position here is the same as w.r.t. to terminal title. zsh4humans by default should be usable and should have all vital features. Extra features should be easy to turn on. Every time users want to turn something off, it's worse than when users want to turn something on. Both of these imply that the defaults aren't optimal for the user but turning off is worse than on. trapd00r/LS_COLORS is easy to enable for those who want it. If it was on by default, I would turn it off in my own dotfiles. The more colors you add to regular files, the more difficult it becomes to distinguish between regular and special files. That distinction is important to me. I think some regular file colors would help me but I cannot think of a default that would work for everyone.
I don't think anyone has asked for it. If this were to become popular, I could add an option to the configuration wizard.
This looks like what I used to have in my
I used it for a while but I no longer do. Editing in
The idea looks interesting although the specifics look rather unintuitive to me. How about this? my-ctrl-z() {
(( ${(%):-%j} > 0 )) && fg
}
zle -N my-ctrl-z
bindkey '^Z' my-ctrl-z
Currently if you press Ctrl+R, you'll see all commands you've typed in the current zsh session (except for consecutive dups). I find it valuable.
z4h sets
This is set.
This is too dangerous to enable by default as it changes the meaning of POSIX-compliant commands. Can be very surprising. Users who want this option can put it in their own |
I recalled there is one more case where I use continuous tab completion. mkdir -p /tmp/a/b{1,2}/c{1,2}
cd /tmp/a/b/c<TAB> This will first offer you to choose between By the way, have you tried |
Yup, works, thanks 🙂
Thanks for the hint! I do agree that the matching algorithm in fzf is worse than in competitors, but I still prefer the fuzzy flow 🙂 I removed I guess long-term it would make sense to leave it up to users to put
Riiiight, makes total sense.
Uh, my bad, turns out What would be nice if
Hehe 🙂 I'm still in search for a good way to manage this, but PAM environment is also not ideal as its syntax is limited in what you can do, and then people tend to have their variables declared all over the place... In any case, your point is accepted 👍
I like this logic!
This one has two downsides:
To be frank, the snippet I posted is also not ideal, if you press
I use it often, I have tried
Would really appreciate this! And thanks for all the fixes you have already made after this thread 🙂 |
This is what worries me the most when you try a version of my code that isn't yet ready for others to use. On one hand it's great to have early feedback. On the other hand you find the product and the code behind it of worse quality than what you came to expect, and your feedback is also higher on noise than normal (but still very valuable) due to the observations of "I know" kind. It's not my plan to have If v3 will have a default for fuzzy/not-fuzzy search, it'll be fuzzy. It'll be easy to change. Non-fuzzy isn't so much better to warrant going against the status quo established by fzf. I'm not sure if I mentioned it before. If everything goes well, v4 will likely be the last version of zsh4humans. Or to put it the other way, v3 will be the last version that I don't want to become popular because I want to break backward compatibility one more time. Before I release v3, I'll address some major issues and clean things up. I'll try to keep the release low key just like the previous versions. I want feedback but only from intelligent users. v4 will have a setup wizard similar to the one in p10k where you'll be able to choose this vs that for the common options that I anticipate. Once v4 is out, I'll maintain backward compatibility for as long as I muster.
Good idea. I don't control fzf but maybe it's something I can add upstream.
Ah, you want something like Alt+Tab for full-screen apps in the terminal? That sounds cool! I'll see what I can do.
Thanks!
I've put it on my TODO list. Will ping you later.
Thanks for the suggestions and bug reports! Invaluable as always. |
Makes sense 🙂 Don't get me wrong, I knew what I subscribed for when I decided to try v3 despite your warning about it not being ready - feel free to just reply with "I know" on such comments 👍
Precisely! Found a small issue when testing history retrieval over ssh, on closing connection I get this error:
It is coming from this line: Line 360 in 93fc6e4
My |
Thanks!
Yeah, this annoying limitation is even documented. It's really annoying when you are trying to write fast crash-safe code.
This isn't safe. Pick up the right fix here: c200c73. |
I found a... weirdness 🤔 Say I have a file
If I Seems like if you It's easy to workaround (e.g. by replacing the alias with |
Aww, that sucks. I've asked on zsh-workers: https://www.zsh.org/mla/workers//2020/msg01019.html. I'm not holding my breath though. |
Another small observation: bash completions seem to be loaded too late in the game, for example in order to enable completions for azure-cli we need to |
Thanks for letting me know. To be honest, I haven't tested this feature and I don't use bash completions myself. I've moved the call to |
I received the reply I expected from reading the code of zcompile.
While I agree with (2), I cannot enforce it and I don't want to have this gotcha in # Do not zcompile.
z4h source foo.zsh
# Do zcompile.
z4h source -c bar.zsh Note that |
Do you have any plans for merging In general I've been extensively using v3 this entire week, testing different features, and I must say it is working really great, very solid work! |
I think you want to ask a different question.
That's a good question. Or rather a good bug report / feature request.
Fixed. Now Tab works in Alt+Down.
Thanks! I'm glad. By the way, what do you think of word-based widgets? Do you use them? Have you noticed that they are different from the stock widgets? Do they behave the way you would expect? Perhaps there are more widgets that you haven't tried? Here's the list of bindings that I recommend trying. Cursor movement
Deletions
History
Miscellaneous
Undo is super useful. I undo Tab completions often. For example, I might type something like Another common use case for Undo is after pasting form clipboard. I often find out that clipboard has something other than what I expect. Local history (Up) vs global history (Ctrl+Up) is great if you use several zsh sessions at once. The default behavior of prefix-based history widgets (like Up in z4h) is to move cursor to the end. This has some unintuitive consequences as it effectively introduces two cursors. One cursor is visible, and it's positioned at the end. The other cursor is invisible and it's positioned at the same place where it was before you pressed Up. The invisible cursor demarcates the command prefix used by the widget in case you press Up again. Here's an example of how it usually works.
The last point is tricky because it requires you to remember where the invisible cursor is. Many actions lead to the invisible cursor change its position to align with the visible cursor, so this can be tricky. E.g., if after the first Up you were to manually move cursor to the left and then back, the next Up wouldn't give you In z4h there is always one cursor position. Or, to put it another way, the invisible cursor is always at the same position as the visible. This is achieved by not changing the cursor position when you press Up. This makes it much easier to reason about Up. This key always gives you a command that has the same prefix as the current command line up to the cursor. I also noticed that when I press Up I'm more likely to change the command at the front rather than at the back (add Alt+H is nice. Try typing I use Alt+M often. If you want to accept an autosuggestions and edit something close to the current cursor position, Alt+M can save many keystrokes. Ctrl+K, Alt+K and Alt+J make command line editing much more efficient. Let me know if you discover any issues with these or have improvement suggestions. |
There maybe are some subtle differences comparing to what I was used to (like
Oh thanks for sharing so much details!
|
Let me show how z4h word-based widgets are different from the defaults. Suppose you have this command line: ls / foo/bar The default
This is OK-ish but too coarse most of the time. Ideally, there should be another position where the cursor stops -- somewhere between Without
Note how the cursor jumps over the first argument of
That jump from For comparison, in z4h it looks like this:
Indeed.
I've added 4 new widgets: # Move cursor one zsh word forward.
bindkey '^[[1;6C' z4h-forward-zword # ctrl+shift+right
# Move cursor one zsh word backward.
bindkey '^[[1;6D' z4h-backward-zword # ctrl+shift+left
# Delete next zsh word.
bindkey '^[[3;6~' z4h-kill-zword # ctrl+shift+del
# Delete previous zsh word.
bindkey '^[^H' z4h-backward-kill-zword # ctrl+alt+bs Here's how they tokenize commands:
I'm running out of decent keys to bind things to, so you'll likely have to rebind these to whatever works for you. Let me know what you think about these widgets.
You can set
Zsh reads shared history before
Noted. Eventually z4h will have an interactive wizard for setting up bindings but for now I'm afraid the only solution is to rebind things in zshrc.
(1) doesn't seem terrible but (2) is something I'll try to fix. I also noticed what appears to be inconsistent behavior:
If I press any key other than |
Uh, yeah definitely z4h approach is a lot better! And with the 4 new widgets the workflow is very nice, easy to choose if you want to make a short and precise jump vs long to the end of the
Using
Other than that, these widgets behave exactly as I expect them to do, and I think they are a very nice addition to the toolkit.
Ooh, I see! Yes now I can reproduce the difference between local and global history. Would it make sense to make zsh read shared history on UPDATE 1: I know you added UPDATE 2: There's also a small issue with |
I think Ctrl is the standard key modifier on Windows and Linux to move/delete words. Holding shift usually enables selection, so Ctrl+Shift+Right selects the next word. By the way, I've been contemplating implementing the same Shift behavior in Zsh. I think it can be reproduced exactly with just one difference. After selecting text with Shift+Arrows you'll have to use a shortcut other than the standard you've configured in the terminal to copy to clipboard. E.g., I normally copy text from the terminal to clipboard with Ctrl+Shift+C or Ctrl+Insert but here I'll need to press Ctrl+S or something like that. (Currently my Ctrl+S binding copies the whole command line to clipboard.) What do you think of this?
Nice!
Yes, that would definitely be better but it's very difficult to achieve. z4h simply exposes the builtin zsh history via bindings. In order to read global history on Ctrl+Up I would need to write a ton of code. In Zsh, anything that uses history can request either local or global history (there is also internal history but it's less interesting). I chose for Ctrl+R and for autosuggestions to use global history, but I could also choose to use local, or to provide Ctrl+Shift+R for local history. I didn't do this because it doesn't seem very useful. On the other hand, I made Up and Down use local history. I think this is what everyone expects and what I prefer myself. When I just added Ctrl+Up and Ctrl+Down I was using them a lot. Nowadays Ctrl+R without a query shows your whole global history, so most of the time I use Ctrl+R instead of Ctrl+Up. I'm thinking of removing Ctrl+Up and Ctrl+Down bindings. This will free up these keys for something more useful and I won't have to explain this local/global history distinction.
I don't want to overwrite the default bindings in z4h. So, instead of following your suggestions I've moved the binding for
Thanks! Fixed. |
I think this reasoning here, and your choice for Just one question to confirm, I noticed that contrary to Example:
Interesting idea, before I comment too much I'd like to clarify my understanding first, my first impression is that it will only be useful for "copy region to clipboard" operation, because "select to delete" or "select to replace" would require same or more number of keypresses comparing to a simple deletion using |
I confirm this. Looks like a zsh bug at the first glance. I'll dig into it when I get some free time.
People use shift-select + delete in text editors even though the same logic applies there. If I were to implement this feature in zsh, I'd make delete and backspace work on selection so that it works the way people expect. I should've mentioned that this is all very speculative. If I could create true terminal selection with Shift-Arrows (the same kind of selection you can produce with a mouse), I would definitely do it but zsh-only selection with custom keys to copy/cut/paste doesn't sound very exciting to me. But maybe am I'm wrong. Maybe I would like it if I tried it. |
Sorry for hijacking this issue, but it's called 'Feedback' which is a very general topic, and that's what this post is about. I was wondering if this function would be acceptable to include in z4h. It's quite subtle until you realize you've used it without knowing it. It does happen from time to time (at least for me) you Another thing; I just noticed that e93734c sets the $ZSH variable (?), the same variable-name I have been using for my own zsh-snippets located in
What would be the recommended way to include your own zsh-folder similar to the above? Thank you for your awesome work and inspiring code. :) |
Sure, feedback is welcome.
Maybe, although the motivation is rather low. I don't recall ever having an error from If some feature cannot be simply enabled by the user through their own config, or if enabling it correctly is difficult, tricky or error prone, then it's a strong signal that it must be provided by z4h. This
If this is a question, the answer is yes, it does set
I guess you'd better test it.
Not sure I understand what you are asking. If you want to create (FWIW, I personally don't find |
Want to share a couple of more observations regarding how file completion works, would be nice if it these can be improved:
|
This is intentional. Weird and bad things can happen if you traverse all directories. To stay on the safe side I made tab completion in z4h stay within a single filesystem. I've added a note to make it customizable although I don't know yet how exactly it should look like. Perhaps a blacklist of target filesystems into which it's not allowed to recurse if the search has started from another filesystem? The current behavior would be described as Would that work for you?
Yeah, this really sucks. Not only To fix this one would have to change/patch/hack I've added it to my TODO list but it's a good task for anyone else to pick up. It's well isolated and independent from zsh4humans. What would be really cool is to implement |
I see. I think the use-case that I have (which would apply to btrfs, zfs, and maybe others) can be solved without any configuration, if z4h would by default traverse not only the filesystem of the starting point, but also filesystem of where the UPDATE: re-reading your message, I think what you meant by " If not, then I would suggest providing
Makes sense! |
Thanks @maximbaz and sorry I missed the earlier discussion. Will this work if I also use tmux as a multiplexer (and using the patched one)? Hope I'm not derailing the discussion but I'm also curious why you or other people don't like using tmux in a single terminal tab. I'm referring to these comments:
I personally prefer using tmux in a single terminal tab over using the native terminal tabbing/splitting features in Kitty and other terminals because:
|
zsh4humans has 3 modes:
When you run zsh4humans installer, it asks you whether you want zsh to always run in tmux. If you answer Yes, you get (2). If you answer No, you get (1). You can get (3) only by manually modifying zshrc. Doing that will disable some features in zsh4humans. |
There is one drawback of seamless tmux integration anyone may encounter. Tmux will suppress modern terminal features like curly underscores, hyperlinks or proper CSI u support. |
@vbauerster This is fixable though. I don't proactively fix these things but when someone complains (with a real use case rather than a theoretical concern), I do. |
@vbauerster at least for curly underline you can fix it with:
|
Thanks! I've enabled |
@romkatv I believe you can
|
BTW, I use this script (mostly copied) to test the terminal capabilities: https://github.com/infokiller/config-public/blob/master/.my_scripts/util/terminal-capabilities-test You can test it quickly using: curl -fsSL 'https://raw.githubusercontent.com/infokiller/config-public/master/.my_scripts/util/terminal-capabilities-test' | bash -s -- But frankly, I'm sure @romkatv will show me a much better way to do this :) |
Thanks! That's much better. I've switched to this option.
I've tried it on VTE with and without integrated tmux and the output looks the same. I believe it also looks as expected, meaning that all features work.
I'd replace all For testing truecolor I use this zsh script: () {
emulate -L zsh -o prompt_percent -o ksh_arrays
zmodload zsh/mathfunc
local bg fg
local -i i r g b
for i in {0..$((COLUMNS-1))}; do
b='i * 255 / COLUMNS'
r='255 - b'
g='255 - abs(r - b)'
printf -v bg '%02x' $r $g $b
print -nP "%K{#$bg} "
done
print
} The output looks gorgeous in a full-screen terminal. |
I assume you meant
Thanks for showing me that, it's cool that it adopts the color resolution to the available width. |
Yes, that should've been The problem with |
Thanks for explaining. Indeed, I try to use |
Sorry to go back to this, but do you have the code required for option 3? |
You don't need to do anything. The default config doesn't integrate tmux in the shell. If something doesn't work the way you like, describe what that is. |
Discovered a small case where having an underlying tmux plays a role: if you want to set Apple Touch ID as sufficient auth for sudo (using PAM), this mysteriously won't work if there is a tmux running underneath. Apparently this works in Not saying that we need to do something about it, except perhaps to have this documented somehow, to make it discoverable, especially if we stop using the term "tmux" to describe what z4h uses in the default configuration. |
Folks, I'm throwing the towel on integrated tmux. In the current state it's rough around the edges and I'm not giving it enough of my time and attention to make it work well in diverse environments. I've modified the installer so that it does not enable integrated tmux. It's still possible to enable it with This makes the default config even further removed from what I use myself. In the past I've already disabled recursive file completions, ssh teleportation and several other things that were causing excessive maintenance strain. It doesn't feel rewarding to improve the default z4h experience anymore. I'm personally happy with z4h with integrated tmux and will keep using it. There are several things in it that I find invaluable and that aren't found anywhere else: ssh teleportation with shared command history, fzf completions with recursive file completions, persistent directory history, fast and non-glitchy syntax highlighting with autosuggestions, etc. You are welcome to keep using zsh4humans if you like. It's not going anywhere and your zsh config won't stop working. I promised that there won't be any backward-incompatible changes in z4h and I'm keeping it. However, I'm unlikely to implement any features except those that would be useful to me. The same goes for bug reports. I've put the following notice at the top of the homepage:
The situation may change in the future but I advise you to assume that it won't. Lastly, I thank all of you for giving this project a shot and for providing valuable feedback. It's what made z4h what it is. It's actually pretty cool! |
This giant issue has served its purpose. Closing. Please open individual issues for bug reports. I mentioned above that most bugs will go unfixed, so keep that in mind when deciding whether to spend your time on reporting a bug or not. Bug reports are useful to me even if I'm not going to fix them. |
@romkatv Are community-supplied patches that implement new features or fix bugs still likely to be reviewed and/or merged? |
I don't have a hard rule. It all depends on costs and benefits of the patch. If it takes me only a minute to review the patch and it's obviously an improvement, I'll merge it even if it's something minor (like a typo in docs) or if it'll be useful only to one person. Most PRs that I get require a full rewrite; to justify merging them they need to do something important for the project (affect many users, etc.) I'm just going with common sense here. |
FYI: I've compiled a bunch of configuration tips from various issues into a new document: https://github.com/romkatv/zsh4humans/blob/master/tips.md. |
This makes tmux more transparent. Most importantly, it propagates all environment variables from the parent rather than just those listed in .tmux.conf under update-environment. It also propagates cgroups. See #35 (comment)
Hey @romkatv! I'm giving z4h/v3 a spin, and would like to share some ideas and ask some questions at the same time 🙂
You mentioned it is possible to add an option to traverse hidden folders as well when
glob_dots
is set, could you please add it or give me a hint how to do this locally?Turns out I edit files in hidden folders too often, it would be helpful if fzf included everything.
This was a great hint, just as one idea it allows to ignore
.zwc
files, for example withzstyle ':completion:*:*:kak:*:*' ignored-patterns '*.zwc'
opening.p10k.zsh
in editor is simpler, askak .p<Tab>
now has only one match instead of two, sofzf
doesn't show up at all and I go straight to.p10k.zsh
.Would be awesome! Could you please suggest what would be a proper
zstyle
syntax that you want to support for ignoring folders forcd
? Say for example I wanted to ignore~/.cache/
and~/.docker/
and everything underneath them.Suppose I just cloned
zsh4humans
, I press<Alt-Down>
and I want to navigate tozsh4humans/fn
. Typingz fn
will find it, but typingzfn
will not. I am used to just typing infzf
without having to think where I should put spaces... Could we at least have an option, if the current behavior is something you prefer?By the way, while
<Alt-Down>
showsBut
cd <Tab>
showsBoth work, but the latter is less aesthetic :)
fzf-tab
continuous-trigger
Am I right that it will become unnecessary when everything will be traversed? If so, this could be cleaned up I presume:
zsh4humans/.zshrc
Lines 56 to 58 in 6af0bfc
Or I'm doing something wrong :) What I expected to work is to type
$ cp .zsh<Tab>
and pressCtrl+Space
to select more than one entryHave you considered adding groups and using different colors to fzf completion? I have some half-broken leftovers from prezto, but they will suffice to show a difference:
Current style:
With grouping and coloring:
I don't care about group names too much, we could just hide them, but I do think coloring different types of autocomplete is useful and nice.
I would suggest to rephrase this a little, let me give you an example when editing those files makes sense: it is a nice and easy way to start GUI. Here's how I do it:
.zprofile
I have[[ -z $DISPLAY && "$(tty)" == "/dev/tty1" ]] && exec sway
.zshenv
I have a list of environment variables that I want to be exported both in terminal and also for GUI.zshenv
is loaded before.zprofile
, so whatever I export in.zshenv
is visible bysway
and all GUI apps.zshrc
I have only setup that is relevant for terminal, but not GUILet me know if this makes sense. Right now I simply put all my variables on top of
.zshenv
generated byz4h
, but I'm wondering if the README needs to be adjusted to relax the bold phrase a bit, maybe just say that everything thatz4h
generates must be preserved without modifications?XDG_CACHE_HOME
I would suggest to drop this line:
zsh4humans/.zshenv
Line 11 in 6af0bfc
I believe every software knows how to fallback to
$HOME/.cache
in the absence of that variable, and it should be a very conscious user decision to export all thoseXDG_*
variables, let's not do it for them.TIMEFMT='user=%U system=%S cpu=%P total=%*E'
toz4h
First saw it in your dotfiles, and instantly fell in love. I believe it's exactly one of those things that makes
zsh
for humans and should be done for everyone 🙂Because transient prompt (often) removes the timestamp of when a command was started, you once recommended me to add the time to the terminal title instead, to be able to see how long the command is already running. I still think it was a great idea, might be worth adding directly to
z4h
? Time is only needed for when a command is running (not when title shows current dir), and maybe only when transient prompt is enabled (but I'd probably just show the time always when command is running). What do you think?LS_COLORS
Have you seen this project? https://github.com/trapd00r/LS_COLORS
I think it would be very cool to tap into their work and have an integration with it, just like you do with
zsh-syntax-highlight
and others. Currently I can source their file and it will affect myls
, but I don't think tab completion respects this variable, maybe because colors are set immediately after a built-inLS_COLORS
is defined?zsh4humans/fn/-z4h-init
Line 392 in 6af0bfc
I have had a few small snippets taken from here and there that I use quite frequently, want to show them and see if you would want to take anything directly in
z4h
:Ctrl+/
and it will toggle comment for the currently typed command, just like in VS Code and other editors :)Ctrl+V,V
to edit the current command in EDITOR, very useful for multi-line commandsCtrl+Z
toggle pressingCtrl+Z
andfg
, very useful for quickly checking terminal behind an editor and going back to the editorThat's enough for now 😄
UPDATE: OK, one more 😁 Have you considered to add these options to the list of default options in
z4h
?HIST_IGNORE_ALL_DUPS
andHIST_SAVE_NO_DUPS
to keep the history file smaller?RC_QUOTES
to allow'Henry''s Garage'
instead of'Henry'\''s Garage'
?The text was updated successfully, but these errors were encountered: