Commit graph

54 commits

Author SHA1 Message Date
c4f2522f2b
wezterm: Ensure CTRL and SHIFT mods passed through
These bindings ensure that wezterm understands (and informs the shell)
that `<C-Return>` and `<S-Return>` are different key binds than just
`<Return>` on its own.

For example 'euporie' uses it to mimic the python notebook 'enter means
newline but ctrl-enter means execute' style of quick coding.
2024-06-17 08:30:06 +02:00
d8823d4661
wezterm: Switch navigator and tab hiding maps around
Since I (almost) never use the navigator, it has been put behind
`<leader>T`. The tab-hiding I used a (little) more often so that now
lies behind `<leader>t`. Simple change.
2024-06-17 08:27:35 +02:00
b8cbc8bc5d
vifm: Add simple file and folder diff command
The newly added `:cmp` command can compare the contents of either two
files or two directories.

Works in two ways: If nothing is selected, compares the currently
hovered-over object with that in the other pane.
If things are selected, compares those instead.
2024-05-28 21:39:47 +02:00
a2d60202b9
vifm: Fix tabular data visidata opening and preview
Tabular data was only opened in visidata if it was a csv file,
now we also correctly open xlsx, tsv, and even json files.
Also do not display an extra file title in the tabular previewer
since we already know which file we are pointing at to gain some
space.
2024-04-19 11:33:42 +02:00
cddf8618ce
vifm: Add markdown icon to quarto files
.qmd files now also display the markdown symbol.
2024-04-19 11:32:07 +02:00
ab123a4c36
wezterm: Allow toggling tab bar display
Tab display can be toggled on or off with `Ctrl+Shift+T`. The toggling
takes place per-window and not globally, so we can have a wezterm
terminal on desktop 1 with a tabbar and on desktop 2 without. Opening
a new terminal always defaults to an enabled tab bar.
2024-02-16 11:01:41 +01:00
f7a4dedfb8
vifm: Fix video thumbnail preview 2024-01-18 10:25:17 +01:00
8ef81d39ef
vifm: Fix favicon slash display
Slashes should only be displayed for directory-like objects. They were
displayed for all sorts of files. This commit fixes that.
2024-01-11 18:01:03 +01:00
97114d74fb
terminal: Add unified history for shells
Added atuin for nice shell history. Trying it out for now
but seems non-intrusive enough that I will probably keep
it for a while even if I don't use it.
2023-12-30 21:33:19 +01:00
a5727c135b
zsh: Change cursor shape for vi modes 2023-12-30 21:33:18 +01:00
e2f77e6faa
vifm: Fix pdf preview 2023-12-30 21:33:17 +01:00
546195ad56
terminal: Switch to starship prompt
Switched terminal environments (bash,zsh,nushell) to starship
prompt (from pure-prompt/no prompt). Is mimicking the pure-
prompt however, so no big change visible. Needs additional
package on the system, which is added to the packages.

Some remaining issues with nushell (vi prompt indicator).
2023-12-30 21:33:16 +01:00
8c9a233a8b
vifm: Improve file preview for tabular data
Slightly improved display of csv files and added tsv to same preview.
Added nice previews for json and excel files.
2023-12-12 12:21:59 +01:00
80f2afb1cf
vifm: Add alt file opening, option cycling mappings
Added cycling through (command mode) options with C-p/C-n since
I am used to doing this.

Added a quick short mapping to `o` to show all file openers
defined for the current file and be able to select one.
2023-12-04 08:42:56 +01:00
5941f6f77a
vifm: Extend fzf mapping functionality
Extended functionality to work in current directory with lower-case
letters and from home directory using upper-case. So, <leader>f
will search files in current dir, <leader>F in home dir.
Same for <leader>d/D and <leader>w/W.

HACK Also made it use fd instead of find by default for the speedup.
This should probably only be done after detecting if fd is even installed
on the system but I do not have time for this right now.
2023-12-04 08:41:24 +01:00
e90d1c9c39
vifm: Remove compatibility options
Removed the compatibility options set by default in vifm, which has 2 large
effects:
Will remove the default tab mapping to switch panes. I re-enabled it
for now since it has become somewhat part of my muscle memory but I believe
it is better to have it as an explicit mapping which I can change than
hunting for this option somewhere down the road.
Second, it makes dd/DD/yy behave very differently, *only* working on the
currently highlighted file. To operate on the currently selected files
like previously one uses ds/Ds/ys instead. I want to re-train my muscle
memory for this instead since it will make my usage more flexible in the
future. There is also dS/DS/yS for operating on non-selected files instead
which is even more flexible.
2023-12-04 08:36:43 +01:00
eeca1f3817
zsh: Remove path deduplication
Aside from some more needed things, the path deduplication function is
the most time-consuming invocation on zsh startup, taking almost
100ms on my system.

Perhaps it would be reasonable to re-introduce when the first invocation
from path is occurring but it is simply too much time taken for each
time I start a new shell instance for now.
2023-12-04 08:32:49 +01:00
3bd67eab3d
vifm: Add toggle icon mapping 'ti'
Added mapping to toggle classify prefix icons on or off quickly
using my semi-established 'toggle' submenu with the mapping
`ti` (for toggle icon).
2023-12-04 08:31:01 +01:00
b712d456dd
vifm: Move devicon classify setting into separate file
Will be sourced on startup and provide basically the same icon prefix
as before. Made sure to not invoke 'classify+=' too often since each
invocation slows down vifm startup a little.
(see: https://github.com/vifm/vifm/issues/542)

With it being sourced externally we can now do fun things with classify
itself and it is easier to update from the rest of our settings.
2023-12-04 08:29:33 +01:00
4cc03a611a
sh: Add default open script
Simple wrapper for xdg-open functionality. Simply refers
to xdg-open except if there exists mimeo on the system
which it will refer to instead.

So, a simple preference modificator for mimeo over
xdg-open since that is my preference too.

Also gave it a short name so I can do open whenever I
want and don't have to tax my left hand with tying xdg.
2023-12-04 08:26:59 +01:00
662549b6b0
bat: Add quarto and ino to synatx-enabled
Quarto now uses markdown syntax and ino files use C++ syntax
highlighting.
2023-10-07 11:32:00 +02:00
ba042db7df
vifm: Fix wezterm image preview with chafa
We now use chafa to preview images. We use its iterm mode
since that seems to be the best integrated into wezterm
currently.

We have to use uncached previews so it is a little slower,
but at least it functions perfectly after the first image
is displayed.
2023-10-03 13:01:30 +02:00
7ccd7e4757
vifm: Fancy markdown display with glow or bat
For anything markdown or that gets displayed as markdown
(e.g. docx files) in the vifm preview, we now use glow
or bat to display a nicely styled and colored version.

For glow I added a script which tries to detect the
current terminal background between dark/light to
correctly set the color scheme.
2023-10-03 13:01:29 +02:00
102cdbca1c
writing: Replace zathura with sioyek
Replaced or extended all default references to zathura with
sioyek so it will automatically take on any tasks meant
for pdf reading. With the current configuration, hardly a
change should be noticed.
2023-10-02 14:08:04 +02:00
334f3032e8
terminal: Exchange fasd for zoxide
fasd is unmaintained and slower than zoxide. The transferral
was painless. I imported my old database and can continue as
before. It does not care about files but that is completely
fine for me. Same `z` invocation as before. Has the
'interactive' mode on `zi` which is also completely fine.
2023-09-28 14:41:33 +02:00
9811d801b8
wezterm: Add ability to close current pane
Using <C-A>x you can close the currently highlighted
pane. Will not ask confirmation so be careful.
2023-07-23 19:29:12 +02:00
5712a5bf64
vifm: Improve image preview with fallback
If a locally compiled version of viu exists it will use this for
full image preview display (full-color image). If it does not
exist it will instead fall back to the system viu and use
block-wise display for the preview. Location that local viu is
expected is `~/.local/bin/viu`.

The reason behind this is a bug (or at least unwanted
functionality) in viu which makes it not work correctly from
within vifm. You will have to fix this issue and compile a local
version of viu which vifm assumes to be in the local binary
directory and uses to display the pretty images.
2023-07-23 19:28:15 +02:00
315e38cb24
wezterm: Copy logical lines from scrollback buffer
When copying the recent buffer into an editor for copying/editing/doing
whatever with, we should copy *logical* lines since that is generally
what we want to be working with instead of arbitrary line-breaks.

Wezterm helpfully provides us this possibility (thanks, Wez!).
2023-06-22 12:38:23 +02:00
c8a2236a1c
vifm: Fix view mapping always entering view window
Simplified the view mapping (`w`) to not 'enter' the view window that is
opened by default.

What happened previously is that pressing the mapping
would open the view pane (or create a vertical/horizontal split and then
open the view pane within it if only one pane is visible) and then move
the cursor into it so that you can scroll within.
The issue was that to close the view pane again, one had to exit it
first (through `Shift+w`) which really hurt the quick-glance into a file
and then move on kind of workflow I mostly use previews for.

This commit simplifies the view mapping to allow exactly that, pressing
`w` still does all the things it did previously, only does not move
focus into the preview window so keeps the workflow simpler.
2023-06-22 12:38:07 +02:00
06ccfe03b9
zsh: Source zsh alias file if it exists 2023-06-20 13:00:16 +02:00
5f93ecba7c
lua: Format with stylua 2023-06-15 10:12:30 +02:00
b8c59db4c2
wezterm: Refactor and format 2023-05-23 15:47:32 +02:00
a16e0eead7
wezterm: Add cursive italics
Set up wezterm to continue to use Iosevka for everything *except*
italics (in all weights) which will instead be displayed by the Victor
font.
This ultimately results in cursive fonts for italics and Iosevka for
everything else, very pretty.
2023-03-22 11:14:25 +01:00
e6d17ab632
wezterm: Yank to clipboard by default 2023-03-21 18:57:38 +01:00
b52ecda093
terminal: Change timg for viu 2023-03-21 18:26:32 +01:00
384ff59a3f
vifm: Move external file operations to localleader prefix 2023-03-19 14:55:58 +01:00
3795b20a59
vifm: Add new tab mapping 2023-03-19 14:55:07 +01:00
e464c5000a
vifm: Improve prefix suggestions display
If given <nop> as prefix mapping, the suggestions box shows *all*
mappings that exist in the program. By removing the <nop> we make the
key do its usual action but at the same time restrict the suggestions
being displayed to those actually following the prefix.
2023-03-19 14:53:47 +01:00
0612c74b91
vifm: Add ellipses ... to truncated filenames 2023-03-19 14:52:52 +01:00
5a04f34f97
vifm: Update library path to general library dir 2023-03-19 14:52:28 +01:00
dc20b23b0a
vifm: Set rg as program to grep with 2023-03-19 14:52:11 +01:00
98892fbc89
vifm: Change delay until map suggestions are shown 2023-03-19 14:51:01 +01:00
c31e441003
wezterm: Use default inactive pane styling 2023-03-07 12:08:09 +01:00
3827ba15b3
wezterm: Style tabbar with flavours 2023-03-07 11:44:27 +01:00
22341e7988
wezterm: Dynamically load colors from scheme file 2023-03-03 18:41:06 +01:00
73ae033139
vifm: Switch to tidy-viewer for csv preview 2023-02-25 16:55:42 +01:00
f08fa474d6
zsh: Remove double call of env scripts
On startup zsh would call all zsh env scripts (situated in `zsh/env`
or `zsh/env.d/*.zsh`) *and* all sh scripts (in `sh/env` or
`sh/env.d/*.sh`).
However, by that point, those scripts had already been sourced once - so
they just double up startup time.
2023-02-09 09:39:21 +01:00
953fdaaf1e
iosevka: Fix font naming scheme update
New versions of Iosevka seem to not be callable simply through 'Iosevka'
as before but require the full 'Iosevka Nerd Font' terminus for my case
of having the archlinux nerdfont package for the font installed.

This commit fixes wrong fonts in wayland and the wezterm terminal as
well as a longer running issue in mpv so they all correctly display
Iosevka.
2023-01-19 18:29:34 +01:00
274cc8026a
sh: Add distrobox alias and enable displaying host
Add a simple alias to quickly use distrobox with `db` alias, and modify
pure prompt initialization slightly so that it displays a hostname when
in a distrobox container (akin to operating from ssh or normal container
usage).

HACKY implementation makes use of both an internal pure prompt api
(see here https://github.com/sindresorhus/pure/issues/585)
and a distrobox env var that I am not sure how exposed it is either.
Powerlevel10k uses a similar method though, so maybe it is fine
(see here 33916e91a7/internal/p10k.zsh (L8336)).
2023-01-10 16:55:25 +01:00
99a3c0d314
sh: Add conditionals to plugin loading 2023-01-10 15:37:45 +01:00