Add mc config, lazygit/nerd-font installers, fzf/zoxide bash integration
- New mc package: seasons-winter16M skin (fixes washed-out file colors under the old default skin), arrow-key panel navigation, and Backspace bound as an alt key for CdParent (Double Commander-style parent-dir navigation). - setup.sh: install_lazygit and install_nerd_font helpers, since neither ships as an apt/PPA package on this distro anymore. - bash/.bashrc.omb: wire up fzf key-bindings and zoxide, drop the now- redundant bashmarks plugin, enable globstar, and widen history.
This commit is contained in:
+20
-1
@@ -17,7 +17,6 @@ if [ -d "$HOME/.oh-my-bash" ]; then
|
||||
|
||||
plugins=(
|
||||
git
|
||||
bashmarks
|
||||
)
|
||||
|
||||
source "$OSH/oh-my-bash.sh"
|
||||
@@ -26,6 +25,26 @@ fi
|
||||
# PATH
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
|
||||
# History
|
||||
HISTSIZE=100000
|
||||
HISTFILESIZE=200000
|
||||
HISTTIMEFORMAT="%F %T "
|
||||
|
||||
# Recursive globbing with **
|
||||
shopt -s globstar
|
||||
|
||||
# fzf — fuzzy Ctrl+R history / Ctrl+T file search
|
||||
if command -v fzf &>/dev/null; then
|
||||
for f in /usr/share/doc/fzf/examples/key-bindings.bash /usr/share/fzf/key-bindings.bash; do
|
||||
[ -f "$f" ] && source "$f" && break
|
||||
done
|
||||
fi
|
||||
|
||||
# zoxide — frecency-based `cd` replacement (use `z <dir>`)
|
||||
if command -v zoxide &>/dev/null; then
|
||||
eval "$(zoxide init bash)"
|
||||
fi
|
||||
|
||||
# Color support
|
||||
if [ -x /usr/bin/dircolors ]; then
|
||||
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
|
||||
|
||||
@@ -496,6 +496,11 @@ visual_bell_duration 0.3
|
||||
|
||||
#: }}}
|
||||
|
||||
font_family MesloLGS Nerd Font Mono
|
||||
|
||||
#: Needed for oh-my-bash's agnoster theme (powerline glyphs). Installed
|
||||
#: via setup.sh's install_nerd_font step.
|
||||
|
||||
#: Window layout {{{
|
||||
|
||||
# remember_window_size yes
|
||||
|
||||
@@ -0,0 +1,144 @@
|
||||
[Midnight-Commander]
|
||||
verbose=true
|
||||
shell_patterns=true
|
||||
auto_save_setup=true
|
||||
preallocate_space=false
|
||||
auto_menu=false
|
||||
use_internal_view=true
|
||||
use_internal_edit=false
|
||||
clear_before_exec=true
|
||||
confirm_delete=true
|
||||
confirm_overwrite=true
|
||||
confirm_execute=false
|
||||
confirm_history_cleanup=true
|
||||
confirm_exit=false
|
||||
confirm_directory_hotlist_delete=false
|
||||
confirm_view_dir=false
|
||||
safe_delete=false
|
||||
safe_overwrite=false
|
||||
use_8th_bit_as_meta=false
|
||||
mouse_move_pages_viewer=true
|
||||
mouse_close_dialog=false
|
||||
fast_refresh=false
|
||||
drop_menus=false
|
||||
wrap_mode=true
|
||||
old_esc_mode=true
|
||||
cd_symlinks=true
|
||||
show_all_if_ambiguous=false
|
||||
use_file_to_guess_type=true
|
||||
alternate_plus_minus=false
|
||||
only_leading_plus_minus=true
|
||||
show_output_starts_shell=false
|
||||
xtree_mode=false
|
||||
file_op_compute_totals=true
|
||||
classic_progressbar=true
|
||||
use_netrc=true
|
||||
ftpfs_always_use_proxy=false
|
||||
ftpfs_use_passive_connections=true
|
||||
ftpfs_use_passive_connections_over_proxy=false
|
||||
ftpfs_use_unix_list_options=true
|
||||
ftpfs_first_cd_then_ls=true
|
||||
ignore_ftp_chattr_errors=true
|
||||
editor_fill_tabs_with_spaces=false
|
||||
editor_return_does_auto_indent=false
|
||||
editor_backspace_through_tabs=false
|
||||
editor_fake_half_tabs=true
|
||||
editor_option_save_position=true
|
||||
editor_option_auto_para_formatting=false
|
||||
editor_option_typewriter_wrap=false
|
||||
editor_edit_confirm_save=true
|
||||
editor_syntax_highlighting=true
|
||||
editor_persistent_selections=true
|
||||
editor_drop_selection_on_copy=true
|
||||
editor_cursor_beyond_eol=false
|
||||
editor_cursor_after_inserted_block=false
|
||||
editor_visible_tabs=true
|
||||
editor_visible_spaces=true
|
||||
editor_line_state=false
|
||||
editor_simple_statusbar=false
|
||||
editor_check_new_line=false
|
||||
editor_show_right_margin=false
|
||||
editor_group_undo=true
|
||||
editor_state_full_filename=true
|
||||
editor_ask_filename_before_edit=false
|
||||
nice_rotating_dash=true
|
||||
shadows=true
|
||||
mcview_remember_file_position=false
|
||||
auto_fill_mkdir_name=true
|
||||
copymove_persistent_attr=true
|
||||
pause_after_run=1
|
||||
mouse_repeat_rate=100
|
||||
double_click_speed=250
|
||||
old_esc_mode_timeout=1000000
|
||||
max_dirt_limit=10
|
||||
num_history_items_recorded=60
|
||||
vfs_timeout=60
|
||||
ftpfs_directory_timeout=900
|
||||
ftpfs_retry_seconds=30
|
||||
fish_directory_timeout=900
|
||||
editor_tab_spacing=8
|
||||
editor_word_wrap_line_length=72
|
||||
editor_option_save_mode=0
|
||||
editor_backup_extension=~
|
||||
editor_filesize_threshold=64M
|
||||
editor_stop_format_chars=-+*\\,.;:&>
|
||||
mcview_eof=
|
||||
skin=modarin256-defbg
|
||||
|
||||
[Layout]
|
||||
output_lines=0
|
||||
left_panel_size=53
|
||||
top_panel_size=0
|
||||
message_visible=true
|
||||
keybar_visible=true
|
||||
xterm_title=true
|
||||
command_prompt=true
|
||||
menubar_visible=true
|
||||
free_space=true
|
||||
horizontal_split=false
|
||||
vertical_equal=true
|
||||
horizontal_equal=true
|
||||
|
||||
[Misc]
|
||||
timeformat_recent=%b %e %H:%M
|
||||
timeformat_old=%b %e %Y
|
||||
ftp_proxy_host=gate
|
||||
ftpfs_password=anonymous@
|
||||
display_codepage=UTF-8
|
||||
source_codepage=Other_8_bit
|
||||
autodetect_codeset=
|
||||
spell_language=en
|
||||
clipboard_store=
|
||||
clipboard_paste=
|
||||
|
||||
[Colors]
|
||||
base_color=
|
||||
xterm-kitty=
|
||||
color_terminals=
|
||||
|
||||
[Panels]
|
||||
show_mini_info=true
|
||||
kilobyte_si=false
|
||||
mix_all_files=false
|
||||
show_backups=true
|
||||
show_dot_files=true
|
||||
fast_reload=false
|
||||
fast_reload_msg_shown=false
|
||||
mark_moves_down=true
|
||||
reverse_files_only=true
|
||||
auto_save_setup_panels=false
|
||||
navigate_with_arrows=true
|
||||
panel_scroll_pages=true
|
||||
panel_scroll_center=false
|
||||
mouse_move_pages=true
|
||||
filetype_mode=true
|
||||
permission_mode=false
|
||||
torben_fj_mode=false
|
||||
quick_search_mode=2
|
||||
select_flags=6
|
||||
|
||||
[Panelize]
|
||||
Find *.orig after patching=find . -name \\*.orig -print
|
||||
Find SUID and SGID programs=find . \\( \\( -perm -04000 -a -perm /011 \\) -o \\( -perm -02000 -a -perm /01 \\) \\) -print
|
||||
Find rejects after patching=find . -name \\*.rej -print
|
||||
Modified git files=git ls-files --modified
|
||||
@@ -0,0 +1,497 @@
|
||||
[filemanager]
|
||||
ChangePanel = tab; ctrl-i
|
||||
Help = f1
|
||||
UserMenu = f2
|
||||
View = f3
|
||||
# ViewFile =
|
||||
Edit = f4
|
||||
# EditForceInternal =
|
||||
Copy = f5
|
||||
Move = f6
|
||||
MakeDir = f7
|
||||
Delete = f8
|
||||
Menu = f9
|
||||
Quit = f10
|
||||
MenuLastSelected = f19
|
||||
QuitQuiet = f20
|
||||
Find = alt-question
|
||||
CdQuick = alt-c
|
||||
HotList = ctrl-backslash
|
||||
Reread = ctrl-r
|
||||
DirSize = ctrl-space
|
||||
Suspend = ctrl-z
|
||||
Swap = ctrl-u
|
||||
History = alt-h
|
||||
# PanelListing =
|
||||
# SetupListingFormat =
|
||||
ShowHidden = alt-dot
|
||||
SplitVertHoriz = alt-comma
|
||||
SplitEqual = alt-equal
|
||||
SplitMore = alt-shift-right
|
||||
SplitLess = alt-shift-left
|
||||
Shell = ctrl-o
|
||||
PutCurrentPath = alt-a
|
||||
PutOtherPath = alt-shift-a
|
||||
PutCurrentSelected = alt-enter; ctrl-enter
|
||||
PutCurrentFullSelected = ctrl-shift-enter
|
||||
ViewFiltered = alt-exclamation
|
||||
Select = kpplus
|
||||
Unselect = kpminus
|
||||
SelectInvert = kpasterisk
|
||||
ScreenList = alt-prime
|
||||
# OptionsLayout =
|
||||
# OptionsAppearance =
|
||||
# OptionsPanel =
|
||||
# OptionsConfirm =
|
||||
# OptionsDisplayBits =
|
||||
# OptionsVfs =
|
||||
# LearnKeys =
|
||||
# SaveSetup =
|
||||
# EditExtensionsFile =
|
||||
# EditFileHighlightFile =
|
||||
# Filter =
|
||||
# ConnectFish =
|
||||
# ConnectFtp =
|
||||
# ConnectSmb =
|
||||
# Undelete =
|
||||
EditorViewerHistory = alt-shift-e
|
||||
ExtendedKeyMap = ctrl-x
|
||||
|
||||
[filemanager:xmap]
|
||||
ChangeMode = c
|
||||
ChangeOwn = o
|
||||
ChangeAttributes = e
|
||||
CompareDirs = d
|
||||
CompareFiles = ctrl-d
|
||||
HotListAdd = h
|
||||
LinkSymbolicEdit = ctrl-s
|
||||
Link = l
|
||||
LinkSymbolic = s
|
||||
LinkSymbolicRelative = v
|
||||
PanelInfo = i
|
||||
PanelQuickView = q
|
||||
ExternalPanelize = exclamation
|
||||
VfsList = a
|
||||
Jobs = j
|
||||
PutCurrentPath = p
|
||||
PutOtherPath = ctrl-p
|
||||
PutCurrentTagged = t
|
||||
PutOtherTagged = ctrl-t
|
||||
PutCurrentLink = r
|
||||
PutOtherLink = ctrl-r
|
||||
|
||||
[panel]
|
||||
CycleListingFormat = alt-t
|
||||
Search = ctrl-s; alt-s
|
||||
Mark = insert; ctrl-t
|
||||
MarkUp = shift-up
|
||||
MarkDown = shift-down
|
||||
# MarkLeft =
|
||||
# MarkRight =
|
||||
Down = down; ctrl-n
|
||||
Up = up; ctrl-p
|
||||
Left = left
|
||||
Right = right
|
||||
PageUp = pgup; alt-v
|
||||
PageDown = pgdn; ctrl-v
|
||||
Enter = enter
|
||||
PanelOtherCd = alt-o
|
||||
PanelOtherCdLink = alt-l
|
||||
ViewRaw = f13
|
||||
EditNew = f14
|
||||
CopySingle = f15
|
||||
MoveSingle = f16
|
||||
DeleteSingle = f18
|
||||
# SelectExt =
|
||||
Select = alt-plus
|
||||
Unselect = alt-minus
|
||||
SelectInvert = alt-asterisk
|
||||
CdChild = ctrl-pgdn
|
||||
CdParent = ctrl-pgup; backspace
|
||||
# CdParentSmart =
|
||||
# Panelize =
|
||||
History = alt-shift-h
|
||||
HistoryNext = alt-u
|
||||
HistoryPrev = alt-y
|
||||
BottomOnScreen = alt-j
|
||||
MiddleOnScreen = alt-r
|
||||
TopOnScreen = alt-g
|
||||
PanelOtherSync = alt-i
|
||||
SelectCodepage = alt-e
|
||||
Top = alt-lt; home; a1
|
||||
Bottom = alt-gt; end; c1
|
||||
# Sort =
|
||||
# SortPrev =
|
||||
# SortNext =
|
||||
# SortReverse =
|
||||
# SortByName =
|
||||
# SortByExt =
|
||||
# SortBySize =
|
||||
# SortByMTime =
|
||||
# ScrollLeft =
|
||||
# ScrollRight =
|
||||
|
||||
[dialog]
|
||||
Ok = enter
|
||||
Cancel = f10; esc; ctrl-g
|
||||
Up = left; up
|
||||
#Left = left; up
|
||||
Down = right; down
|
||||
#Right = right; down
|
||||
Help = f1
|
||||
Suspend = ctrl-z
|
||||
Refresh = ctrl-l
|
||||
ScreenList = alt-prime
|
||||
ScreenNext = alt-rbrace
|
||||
ScreenPrev = alt-lbrace
|
||||
|
||||
[menu]
|
||||
Help = f1
|
||||
Left = left; ctrl-b
|
||||
Right = right; ctrl-f
|
||||
Up = up; ctrl-p
|
||||
Down = down; ctrl-n
|
||||
Home = home; alt-lt; ctr-a
|
||||
End = end; alt-gt ctrl-e
|
||||
Enter = enter
|
||||
Quit = F10; esc; ctrl-g
|
||||
|
||||
[input]
|
||||
Home = ctrl-a; alt-lt; home; a1
|
||||
End = ctrl-e; alt-gt; end; c1
|
||||
Left = left; alt-left; ctrl-b
|
||||
Right = right; alt-right; ctrl-f
|
||||
WordLeft = ctrl-left; alt-b
|
||||
WordRight = ctrl-right; alt-f
|
||||
Backspace = backspace; ctrl-h
|
||||
Delete = delete; ctrl-d
|
||||
DeleteToWordBegin = alt-backspace
|
||||
DeleteToWordEnd = alt-d
|
||||
# Mark =
|
||||
Remove = ctrl-w
|
||||
# Cut =
|
||||
Store = alt-w
|
||||
# Paste =
|
||||
Yank = ctrl-y
|
||||
DeleteToEnd = ctrl-k
|
||||
HistoryPrev = alt-p; ctrl-down
|
||||
HistoryNext = alt-n; ctrl-up
|
||||
History = alt-h
|
||||
Complete = alt-tab
|
||||
# Clear =
|
||||
MarkLeft = shift-left
|
||||
MarkRight = shift-right
|
||||
MarkToWordBegin = ctrl-shift-left
|
||||
MarkToWordEnd = ctrl-shift-right
|
||||
MarkToHome = shift-home
|
||||
MarkToEnd = shift-end
|
||||
|
||||
[listbox]
|
||||
Up = up; ctrl-p
|
||||
Down = down; ctrl-n
|
||||
Top = home; alt-lt; a1
|
||||
Bottom = end; alt-gt; c1
|
||||
PageUp = pgup; alt-v
|
||||
PageDown = pgdn; ctrl-v
|
||||
Delete = delete; d
|
||||
Clear = shift-delete; shift-d
|
||||
View = f3
|
||||
Edit = f4
|
||||
Enter = enter
|
||||
|
||||
[radio]
|
||||
Up = up; ctrl-p
|
||||
Down = down; ctrl-n
|
||||
Top = home; alt-lt; a1
|
||||
Bottom = end; alt-gt; c1
|
||||
Select = space
|
||||
|
||||
[tree]
|
||||
Help = f1
|
||||
Reread = f2; ctrl-r
|
||||
Forget = f3
|
||||
ToggleNavigation = f4
|
||||
Copy = f5
|
||||
Move = f6
|
||||
Up = up; ctrl-p
|
||||
Down = down; ctrl-n
|
||||
Left = left
|
||||
Right = right
|
||||
Top = home; alt-lt; a1
|
||||
Bottom = end; alt-gt; c1
|
||||
PageUp = pgup; alt-v
|
||||
PageDown = pgdn; ctrl-v
|
||||
Enter = enter
|
||||
Search = ctrl-s; alt-s
|
||||
Delete = f8; delete
|
||||
|
||||
[help]
|
||||
Help = f1
|
||||
Index = f2; c
|
||||
Back = f3; left; l
|
||||
Quit = f10; esc
|
||||
Up = up; ctrl-p
|
||||
Down = down; ctrl-n
|
||||
PageDown = f; space; pgdn; ctrl-v
|
||||
PageUp = b; pgup; alt-v; backspace
|
||||
HalfPageDown = d
|
||||
HalfPageUp = u
|
||||
Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
|
||||
Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
|
||||
Enter = right; enter
|
||||
LinkNext = tab
|
||||
LinkPrev = alt-tab
|
||||
NodeNext = n
|
||||
NodePrev = p
|
||||
|
||||
[chattr]
|
||||
Up = up; left; ctrl-p
|
||||
Down = down; right; ctrl-n
|
||||
Top = home; alt-lt; a1
|
||||
Bottom = end; alt-gt; c1
|
||||
PageUp = pgup; alt-v
|
||||
PageDown = pgdn; ctrl-v
|
||||
Mark = t; shift-t
|
||||
MarkAndDown = insert
|
||||
|
||||
[editor]
|
||||
Store = ctrl-insert
|
||||
Paste = shift-insert
|
||||
Cut = shift-delete
|
||||
Up = up
|
||||
Down = down
|
||||
Left = left
|
||||
Right = right
|
||||
WordLeft = ctrl-left; ctrl-z
|
||||
WordRight = ctrl-right; ctrl-x
|
||||
Enter = enter
|
||||
Return = shift-enter; ctrl-enter; ctrl-shift-enter
|
||||
BackSpace = backspace; ctrl-h
|
||||
Delete = delete; ctrl-d
|
||||
PageUp = pgup
|
||||
PageDown = pgdn
|
||||
Home = home
|
||||
End = end
|
||||
Tab = tab; shift-tab; ctrl-tab; ctrl-shift-tab
|
||||
Undo = ctrl-u
|
||||
Redo = alt-r
|
||||
Top = ctrl-home; alt-lt
|
||||
Bottom = ctrl-end; alt-gt
|
||||
ScrollUp = ctrl-up
|
||||
ScrollDown = ctrl-down
|
||||
TopOnScreen = ctrl-pgup
|
||||
BottomOnScreen = ctrl-pgdn
|
||||
DeleteToWordBegin = alt-backspace
|
||||
DeleteToWordEnd = alt-d
|
||||
DeleteLine = ctrl-y
|
||||
DeleteToEnd = ctrl-k
|
||||
# DeleteToHome =
|
||||
# ParagraphUp =
|
||||
# ParagraphDown =
|
||||
Save = f2
|
||||
# EditFile =
|
||||
EditNew = ctrl-n
|
||||
SaveAs = f12; ctrl-f2
|
||||
# Close =
|
||||
History = alt-shift-e
|
||||
Mark = f3
|
||||
Copy = f5
|
||||
Move = f6
|
||||
Remove = f8
|
||||
# MarkLine =
|
||||
# MarkWord =
|
||||
# MarkAll =
|
||||
# Unmark =
|
||||
Search = f7
|
||||
SearchContinue = f17
|
||||
# BlockShiftLeft =
|
||||
# BlockShiftRight =
|
||||
MarkPageUp = shift-pgup
|
||||
MarkPageDown = shift-pgdn
|
||||
MarkLeft = shift-left
|
||||
MarkRight = shift-right
|
||||
MarkToWordBegin = ctrl-shift-left
|
||||
MarkToWordEnd = ctrl-shift-right
|
||||
MarkUp = shift-up
|
||||
MarkDown = shift-down
|
||||
MarkToHome = shift-home
|
||||
MarkToEnd = shift-end
|
||||
MarkToFileBegin = ctrl-shift-home
|
||||
MarkToFileEnd = ctrl-shift-end
|
||||
MarkToPageBegin = ctrl-shift-pgup
|
||||
MarkToPageEnd = ctrl-shift-pgdn
|
||||
MarkScrollUp = ctrl-shift-up
|
||||
MarkScrollDown = ctrl-shift-down
|
||||
# MarkParagraphUp =
|
||||
# MarkParagraphDown =
|
||||
MarkColumnPageUp = alt-pgup
|
||||
MarkColumnPageDown = alt-pgdn
|
||||
MarkColumnLeft = alt-left
|
||||
MarkColumnRight = alt-right
|
||||
MarkColumnUp = alt-up
|
||||
MarkColumnDown = alt-down
|
||||
# MarkColumnScrollUp =
|
||||
# MarkColumnScrollDown =
|
||||
# MarkColumnParagraphUp =
|
||||
# MarkColumnParagraphDown =
|
||||
BlockSave = ctrl-f
|
||||
MarkColumn = f13
|
||||
Replace = f4
|
||||
ReplaceContinue = f14
|
||||
Complete = alt-tab
|
||||
InsertFile = f15
|
||||
Quit = f10; esc
|
||||
InsertOverwrite = insert
|
||||
Help = f1
|
||||
# Date =
|
||||
Refresh = ctrl-l
|
||||
Goto = alt-l
|
||||
Sort = alt-t
|
||||
Mail = alt-m
|
||||
ParagraphFormat = alt-p
|
||||
MatchBracket = alt-b
|
||||
ExternalCommand = alt-u
|
||||
UserMenu = f11
|
||||
Menu = f9
|
||||
Bookmark = alt-k
|
||||
BookmarkFlush = alt-o
|
||||
BookmarkNext = alt-j
|
||||
BookmarkPrev = alt-i
|
||||
# History =
|
||||
Shell = ctrl-o
|
||||
InsertLiteral = ctrl-q
|
||||
# MacroStartRecord =
|
||||
# MacroStopRecord =
|
||||
MacroStartStopRecord = ctrl-r
|
||||
# MacroDelete =
|
||||
ShowNumbers = alt-n
|
||||
ShowTabTws = alt-underline
|
||||
SyntaxOnOff = ctrl-s
|
||||
# SyntaxChoose =
|
||||
# ShowMargin =
|
||||
Find = alt-enter
|
||||
FilePrev = alt-minus
|
||||
FileNext = alt-plus
|
||||
# RepeatStartStopRecord =
|
||||
SelectCodepage = alt-e
|
||||
# Options =
|
||||
# OptionsSaveMode =
|
||||
# SpellCheck =
|
||||
SpellCheckCurrentWord = ctrl-p
|
||||
# SpellCheckSelectLang =
|
||||
# LearnKeys =
|
||||
# WindowMove =
|
||||
# WindowResize =
|
||||
# WindowFullscreen =
|
||||
# WindowList =
|
||||
# WindowNext =
|
||||
# WindowPrev =
|
||||
# ExtendedKeyMap =
|
||||
|
||||
[viewer]
|
||||
Help = f1
|
||||
WrapMode = f2
|
||||
Quit = f3; f10; q; esc
|
||||
HexMode = f4
|
||||
Goto = f5
|
||||
Search = f7
|
||||
SearchForward = slash
|
||||
SearchBackward = question
|
||||
SearchContinue = f17; n
|
||||
SearchForwardContinue = ctrl-s
|
||||
SearchBackwardContinue = ctrl-r
|
||||
SearchOppositeContinue = shift-n
|
||||
MagicMode = f8
|
||||
NroffMode = f9
|
||||
Home = ctrl-a
|
||||
End = ctrl-e
|
||||
Left = h; left
|
||||
Right = l; right
|
||||
LeftQuick = ctrl-left
|
||||
RightQuick = ctrl-right
|
||||
Up = k; y; insert; up; ctrl-p
|
||||
Down = j; e; delete; down; enter; ctrl-n
|
||||
PageDown = f; space; pgdn; ctrl-v
|
||||
PageUp = b; pgup; alt-v; backspace
|
||||
HalfPageDown = d
|
||||
HalfPageUp = u
|
||||
Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
|
||||
Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
|
||||
BookmarkGoto = m
|
||||
Bookmark = r
|
||||
FileNext = ctrl-f
|
||||
FilePrev = ctrl-b
|
||||
SelectCodepage = alt-e
|
||||
Shell = ctrl-o
|
||||
Ruler = alt-r
|
||||
History = alt-shift-e
|
||||
|
||||
[viewer:hex]
|
||||
Help = f1
|
||||
HexEditMode = f2
|
||||
Quit = f3; f10; q; esc
|
||||
HexMode = f4
|
||||
Goto = f5
|
||||
Save = f6
|
||||
Search = f7
|
||||
SearchForward = slash
|
||||
SearchBackward = question
|
||||
SearchContinue = f17; n
|
||||
SearchForwardContinue = ctrl-s
|
||||
SearchBackwardContinue = ctrl-r
|
||||
SearchOppositeContinue = shift-n
|
||||
MagicMode = f8
|
||||
NroffMode = f9
|
||||
ToggleNavigation = tab
|
||||
Home = ctrl-a; home
|
||||
End = ctrl-e; end
|
||||
Left = b; left
|
||||
Right = f; right
|
||||
Up = k; y; up
|
||||
Down = j; delete; down
|
||||
PageDown = pgdn; ctrl-v
|
||||
PageUp = pgup; alt-v
|
||||
Top = ctrl-home; ctrl-pgup; a1; alt-lt; g
|
||||
Bottom = ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
|
||||
History = alt-shift-e
|
||||
|
||||
[diffviewer]
|
||||
ShowSymbols = alt-s; s
|
||||
ShowNumbers = alt-n; l
|
||||
SplitFull = f
|
||||
SplitEqual = equal
|
||||
SplitMore = gt
|
||||
SplitLess = lt
|
||||
Tab2 = 2
|
||||
Tab3 = 3
|
||||
Tab4 = 4
|
||||
Tab8 = 8
|
||||
Swap = ctrl-u
|
||||
Redo = ctrl-r
|
||||
HunkNext = n; enter; space
|
||||
HunkPrev = p; backspace
|
||||
Goto = g; shift-g
|
||||
Save = f2
|
||||
Edit = f4
|
||||
EditOther = f14
|
||||
Merge = f5
|
||||
MergeOther = f15
|
||||
Search = f7
|
||||
SearchContinue = f17
|
||||
Options = f9
|
||||
Top = ctrl-home
|
||||
Bottom = ctrl-end
|
||||
Down = down
|
||||
Up = up
|
||||
LeftQuick = ctrl-left
|
||||
RightQuick = ctrl-right
|
||||
Left = left
|
||||
Right = right
|
||||
PageDown = pgdn
|
||||
PageUp = pgup
|
||||
Home = home
|
||||
End = end
|
||||
Help = f1
|
||||
Quit = f10; q; shift-q; esc
|
||||
Shell = ctrl-o
|
||||
SelectCodepage = alt-e
|
||||
@@ -11,6 +11,72 @@ stow_pkg() {
|
||||
stow -v -d "$DOTFILES_DIR" -t "$HOME" "$pkg"
|
||||
}
|
||||
|
||||
install_nerd_font() {
|
||||
local font_dir="$HOME/.local/share/fonts"
|
||||
|
||||
if fc-list 2>/dev/null | grep -qi "MesloLGS Nerd Font"; then
|
||||
echo "OK: MesloLGS Nerd Font already installed"
|
||||
return
|
||||
fi
|
||||
|
||||
if ! command -v curl &>/dev/null || ! command -v unzip &>/dev/null; then
|
||||
echo "SKIP: MesloLGS Nerd Font (curl and/or unzip not available)"
|
||||
return
|
||||
fi
|
||||
|
||||
echo "Installing MesloLGS Nerd Font..."
|
||||
local tmp_zip
|
||||
tmp_zip="$(mktemp --suffix=.zip)"
|
||||
if curl -fsSL -o "$tmp_zip" \
|
||||
"https://github.com/ryanoasis/nerd-fonts/releases/latest/download/Meslo.zip"; then
|
||||
mkdir -p "$font_dir"
|
||||
unzip -oq "$tmp_zip" -d "$font_dir" "*.ttf"
|
||||
fc-cache -f "$font_dir" >/dev/null
|
||||
echo "ADDED: MesloLGS Nerd Font to $font_dir"
|
||||
else
|
||||
echo "WARNING: failed to download Nerd Font, skipping"
|
||||
fi
|
||||
rm -f "$tmp_zip"
|
||||
}
|
||||
|
||||
install_lazygit() {
|
||||
local bin_dir="$HOME/.local/bin"
|
||||
|
||||
if command -v lazygit &>/dev/null; then
|
||||
echo "OK: lazygit already installed"
|
||||
return
|
||||
fi
|
||||
|
||||
if ! command -v curl &>/dev/null || ! command -v tar &>/dev/null; then
|
||||
echo "SKIP: lazygit (curl and/or tar not available)"
|
||||
return
|
||||
fi
|
||||
|
||||
echo "Installing lazygit..."
|
||||
local version
|
||||
version="$(curl -fsSL https://api.github.com/repos/jesseduffield/lazygit/releases/latest \
|
||||
| grep -Po '"tag_name": "v\K[^"]*')"
|
||||
|
||||
if [ -z "$version" ]; then
|
||||
echo "WARNING: could not determine latest lazygit version, skipping"
|
||||
return
|
||||
fi
|
||||
|
||||
local tmp_tar
|
||||
tmp_tar="$(mktemp --suffix=.tar.gz)"
|
||||
if curl -fsSL -o "$tmp_tar" \
|
||||
"https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${version}_Linux_x86_64.tar.gz"; then
|
||||
mkdir -p "$bin_dir"
|
||||
tar -xzf "$tmp_tar" -C "$(dirname "$tmp_tar")" lazygit
|
||||
install -m 755 "$(dirname "$tmp_tar")/lazygit" "$bin_dir/lazygit"
|
||||
rm -f "$(dirname "$tmp_tar")/lazygit"
|
||||
echo "ADDED: lazygit $version to $bin_dir"
|
||||
else
|
||||
echo "WARNING: failed to download lazygit, skipping"
|
||||
fi
|
||||
rm -f "$tmp_tar"
|
||||
}
|
||||
|
||||
ensure_sourced() {
|
||||
local file="$1"
|
||||
local bashrc="$HOME/.bashrc"
|
||||
@@ -44,10 +110,12 @@ fi
|
||||
# bash — stow dotfiles, then ensure ~/.bashrc sources them
|
||||
stow_pkg bash
|
||||
ensure_sourced "$HOME/.bashrc.omb"
|
||||
install_lazygit
|
||||
|
||||
# kitty
|
||||
if command -v kitty &>/dev/null; then
|
||||
stow_pkg kitty
|
||||
install_nerd_font
|
||||
else
|
||||
echo "SKIP: kitty (not installed)"
|
||||
fi
|
||||
@@ -59,4 +127,11 @@ else
|
||||
echo "SKIP: fastfetch (not installed)"
|
||||
fi
|
||||
|
||||
# mc
|
||||
if command -v mc &>/dev/null; then
|
||||
stow_pkg mc
|
||||
else
|
||||
echo "SKIP: mc (not installed)"
|
||||
fi
|
||||
|
||||
echo "Done!"
|
||||
|
||||
Reference in New Issue
Block a user